Bestimmen, ob eine Website aktiv ist, mithilfe von täglichen Besuchen


15

Kontext:

Ich habe eine Gruppe von Websites, auf denen ich die Anzahl der Besuche täglich aufzeichne:

W0 = { 30, 34, 28, 30, 16, 13, 8, 4, 0, 5, 2, 2, 1, 2, .. } 
W1 = { 1, 3, 21, 12, 10, 20, 15, 43, 22, 25, .. }
W2 = { 0, 0, 4, 2, 2, 5, 3, 30, 50, 30, 30, 25, 40, .. } 
...
Wn 

Allgemeine Frage:

  • Wie bestimme ich, welche Websites am aktivsten sind?

Damit meine ich, dass in den letzten Tagen mehr oder plötzlich mehr Besuche zu verzeichnen waren. Zum Zwecke der Veranschaulichung wäre W0 in dem kleinen obigen Beispiel zunächst beliebt, zeigt jedoch allmählich Abbruch, W1 zeigt eine stetige Beliebtheit (mit einigen isolierten Spitzenwerten) und W3 eine wichtige Erhöhung nach einem ruhigen Start.

Erste Gedanken:

Ich habe diesen Thread auf SO gefunden, wo eine einfache Formel beschrieben wird:

// pageviews for most recent day
y2 = pageviews[-1]
// pageviews for previous day
y1 = pageviews[-2]
// Simple baseline trend algorithm
slope = y2 - y1
trend = slope * log(1.0 +int(total_pageviews))
error = 1.0/sqrt(int(total_pageviews))
return trend, error

Das sieht gut und einfach aus, aber ich habe ein Problem damit.

Die Berechnung basiert auf Steigungen. Dies ist in Ordnung und eine der Funktionen, die mich interessieren, aber meiner Meinung nach hat es Probleme mit nicht-monotonen Serien. Stellen Sie sich vor, dass wir während einiger Tage eine konstante Anzahl von Besuchen haben (also die Steigung = 0), dann wäre der obige Trend Null.

Fragen:

  • Wie gehe ich mit beiden Fällen (monotone Zunahme / Abnahme) und einer großen Anzahl von Treffern um?
  • Soll ich separate Formeln verwenden?

1
Ich bin überrascht, dass Sie noch keine Antworten erhalten haben (obwohl dies offensichtlich eine beliebte Frage ist). Da jede Ihrer vier Kugeln für sich genommen eine Frage wert ist, können Sie diese Frage auf eine von ihnen beschränken und die anderen in separaten Fragen posten. Das sind alles wirklich exzellente Fragen, die unterschiedliche Ansätze verfolgen, und alle vier sind für sich allein wertvoll.
Andy W

Hallo Andy, vielen Dank für deine Antwort. Ich werde versuchen, es neu zu formulieren und mich jeweils auf ein einzelnes Problem zu konzentrieren. Mein erster Gedanke war, es so weit wie möglich zu machen (und zu vermeiden, die gleiche Frage danach zu wiederholen), aber angesichts des Mangels an Antworten scheint es zu allgemein, als dass jemand darauf antworten könnte.
Dan

Ich habe die Frage bearbeitet, um die beiden Hauptthemen herauszustellen, die mich am meisten interessieren. Aufgrund ihrer engen Beziehung habe ich beschlossen, sie in dieselbe Frage zu stellen.
Dan

1
Ich verstehe immer noch nicht, warum eine Schätzung mit einem kleinen Fehler einen Ansatz "unbrauchbar" macht.
am

Danke für den Kommentar. Ich sage nicht, dass der Ansatz (Trendberechnung) unbrauchbar war, aber seine Fehlerberechnung könnte ein potenzielles Problem darstellen. Da ich bisher keine Antwort erhalten habe, entferne ich diesen Punkt aus der Frage, in der Hoffnung, dass die Antwort einfacher wird.
Dan

Antworten:


4

Es hört sich so an, als ob Sie nach einer "Online-Methode zur Erkennung von Änderungspunkten" suchen. (Dies ist ein nützlicher Ausdruck für Googeln.) Einige nützliche neuere (und leicht zugängliche) Veröffentlichungen sind Adams & MacKay (ein Bayes'scher Ansatz) und Keogh et al. Möglicherweise können Sie das Überwachungspaket für R in Betrieb nehmen. Mit statistischen Prozesskontrollmethoden kann eine vereinzelte große Anzahl von Treffern ermittelt werden .


2

Es gibt definitiv mehr und weniger komplexe Wege, um diese Art von Problem anzugehen. Vom Klang der Dinge aus haben Sie mit einer ziemlich einfachen Lösung begonnen (der Formel, die Sie auf SO gefunden haben). In Anbetracht dieser Einfachheit dachte ich, ich würde ein paar wichtige Punkte, die Sie in Ihrem Beitrag (der aktuellen Version von) ansprechen, noch einmal wiederholen.

Bisher haben Sie gesagt, dass Sie die Messung der "Site-Aktivität" erfassen möchten:

  • Änderungen der Besuche / Tag in den letzten Tagen
  • Größenänderungen der Besuche / Tag in "den letzten Tagen"

@ Jan-galkowski weist darauf hin, dass Sie auch (zumindest stillschweigend) am Rang der Standorte in Bezug zueinander entlang dieser Dimensionen interessiert zu sein scheinen.

Wenn diese Beschreibung korrekt ist, würde ich vorschlagen, die einfachste mögliche Lösung zu untersuchen, die diese drei Maße (Änderung, Größe, Rang) als separate Komponenten einbezieht. Zum Beispiel könnten Sie Folgendes aufnehmen:

  • Die Ergebnisse Ihrer SO-Lösung zur Erfassung von Steigungsschwankungen (obwohl ich 3 oder 4 Tage Daten einbeziehen würde)
  • Größe der letzten Besuche / Tage der einzelnen Websites (y2)geteilt durch die durchschnittlichen Besuche / Tage für diese Website ( Y):

y2 / mean(Y)

Für W0, W1 und W2 ergibt dies 0,16, 1,45 und 2,35. (Aus Gründen der Interpretation wird davon ausgegangen, dass eine Website, deren letzter Wert für Besuche pro Tag dem durchschnittlichen Wert für Besuche pro Tag entspricht, ein Ergebnis von 1 generiert.) Beachten Sie, dass Sie diese Kennzahl auch anpassen können, um die letzten 2 (oder mehr) Tage zu erfassen:

y2 + y1 / 2 * mean(Y)

Das ergibt: 0,12, 1,33, 1,91 für Ihre drei Probenstellen.

Wenn Sie tatsächlich den Mittelwert der Besuchs- / Tagesverteilung der einzelnen Standorte für diese Art von Kennzahl verwenden, würde ich auch die Standardabweichung der Verteilung untersuchen, um ein Gefühl für die relative Volatilität zu erhalten. Die Standardabweichung für die Besuchs- / Tagesverteilung jeder Site beträgt: 12.69, 12.12 und 17.62. Das Nachdenken über das y2/mean(Y)Maß in Bezug auf die Standardabweichung ist hilfreich, da Sie so die aktuelle Größe der Aktivität an Standort W2 im Blick behalten können (größere Standardabweichung = insgesamt weniger stabil / konsistent).

Wenn Sie an Rängen interessiert sind, können Sie diese Ansätze auch in diese Richtung erweitern. Zum Beispiel würde ich denken, dass es nützlich sein könnte, den Rang einer Site in Bezug auf die letzten Besuche pro Tag sowie den Rang der durchschnittlichen Besuche jeder Site pro Tag (den Rang von mean (Y)für jedes WIn Wn) zu kennen. Auch hier können Sie ganz auf Ihre Bedürfnisse zuschneiden.

Sie können die Ergebnisse all dieser Berechnungen als Tabelle darstellen oder eine regelmäßig aktualisierte Visualisierung erstellen, um sie täglich zu verfolgen.


1

Achtung: Die Ankunftsraten von Benutzern auf Websites sind unangenehme Serien, die (aus Poisson-Sicht) häufig überstreut sind. Berücksichtigen Sie daher negative Binominalverteilungen, um die Zugänge und ihre Anpassung zu untersuchen. Möglicherweise möchten Sie auch die Bestellstatistik der Websites an jedem Tag und nicht ihre Nummern überprüfen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.