Angenommen, Sie haben die Protokolle eines Webservers. In diesen Protokollen haben Sie Tupel dieser Art:
user1, timestamp1
user1, timestamp2
user1, timestamp3
user2, timestamp4
user1, timestamp5
...
Diese Zeitstempel repräsentieren zB die Klicks der Benutzer. user1
Besuchen Sie die Site jetzt mehrmals (Sitzungen) im Laufe des Monats, und Sie erhalten während jeder Sitzung eine Reihe von Klicks von jedem Benutzer (vorausgesetzt, ein Benutzer, der Ihre Site besucht, klickt auf mehrere Seiten).
Angenommen, Sie möchten diese Klicks in den Sitzungen partitionieren, die sie generiert haben, haben jedoch keine zusätzliche Informationsquelle, sondern nur die Liste der Zeitstempel. Wenn Sie die Verteilung der Intervalle zwischen zwei aufeinander folgenden Klicks desselben Benutzers berechnen, erhalten Sie eine Verteilung mit langem Schwanz. Intuitiv würden Sie nach einem "Schnittparameter" suchen, z. B. N Sekunden. Wenn ja timestamp_{i+1} - timestamp{i} > N
, dann ist Ihr timestamp_{i+1}
der Beginn der neuen Sitzung.
Das Problem ist, dass diese Verteilung in Wirklichkeit eine Mischung aus zwei Variablen ist: X = "Intervall zwischen zwei aufeinander folgenden Klicks in derselben Sitzung" und Y = "Intervall zwischen dem letzten Klick der vorherigen Sitzung und dem ersten der neuen Sitzung".
Die Frage ist, wie man dieses N schätzt, das die beiden Verteilungen (möglicherweise mit ein wenig Überlappung) teilt, indem man nur den Klickstoß betrachtet.
quelle
Antworten:
Sie sollten wirklich den Logarithmus der Inter-Click-Intervalle anstelle der Rohwerte zeichnen. Dadurch wird Ihre Distribution abgeflacht und möglicherweise werden sogar die verschiedenen Modi in Ihrer Distribution angezeigt.
Weiterentwickelte Ansätze wurden von Neurowissenschaftlern entwickelt, um ein sehr ähnliches Problem bei der Identifizierung von Ausbrüchen neuronaler Spitzen zu lösen. Dieses klassische Papier oder die vielen anderen verwandten Papiere auf Google Scholar .
quelle