Webサーバーのログがあるとします。これらのログには、次の種類のタプルがあります。
user1, timestamp1
user1, timestamp2
user1, timestamp3
user2, timestamp4
user1, timestamp5
...
これらのタイムスタンプは、たとえばユーザーのクリックを表します。これで、user1
は1か月間に複数回(セッション)のサイトにアクセスし、各セッション中に各ユーザーからのクリックのバーストが発生します(ユーザーがサイトにアクセスすると、ユーザーは複数のページをクリックするとします)。
これらのクリックのバーストを、それらを生成したセッションで分割したいとしますが、追加の情報源はなく、タイムスタンプのリストのみがあるとします。同じユーザーによる2回のクリックの間隔の分布を計算すると、長い分布が得られます。直感的には、「カットパラメータ」、たとえばN秒を探します。ここで、であればtimestamp_{i+1} - timestamp{i} > N
、あなたtimestamp_{i+1}
は新しいセッションの始まりです。
問題は、この分布が実際には2つの変数の混合であるということです:X =「同じセッションでの2つの後続のクリック間の間隔」とY =「前のセッションの最後のクリックと新しいセッションの最初のクリックとの間の間隔」。
問題は、このNをどのように推定するかであり、クリックのバーストを調べるだけで、2つの分布を(おそらく少しオーバーラップして)分割しますか?