Messen Sie die Gleichmäßigkeit einer Verteilung über Wochentage

10

Ich habe ein ähnliches Problem wie die hier gestellte Frage:

Wie misst man die Ungleichmäßigkeit einer Verteilung?

Ich habe eine Reihe von Wahrscheinlichkeitsverteilungen über die Wochentage. Ich möchte messen, wie nahe jede Verteilung an (1 / 7,1 / 7, ..., 1/7) liegt.

Im Moment verwende ich eine Antwort aus der obigen Frage; eine L2-Norm, die den Wert 1 hat, wenn die Verteilung für einen der Tage die Masse 1 hat und für (1 / 7,1 / 7, ..., 1/7) minimiert ist. Ich skaliere dies linear, so dass es zwischen 0 und 1 liegt, und drehe es dann um, sodass 0 vollkommen ungleichmäßig und 1 vollkommen gleichförmig bedeutet.

Das funktioniert ziemlich gut, aber ich habe ein Problem damit; Jeder Wochentag wird als Dimension im 7-Dim-Raum gleich behandelt, sodass die Nähe der Tage nicht berücksichtigt wird. Mit anderen Worten, es gibt die gleiche Punktzahl für (1 / 2,1 / 2,0,0,0,0,0) und (1 / 2,0,0,1 / 2,0,0,0) gerade obwohl in gewissem Sinne letzteres "ausgebreiteter" und einheitlicher ist und idealerweise eine höhere Punktzahl erzielen sollte. Es gibt offensichtlich die zusätzliche Komplikation, dass die Reihenfolge der Tage zirkulär ist.

Wie kann ich diese Heuristik ändern, um die Nähe der Tage zu berücksichtigen?

EBartrum
quelle
1
Ihr Beispiel für (1 / 2,1 / 2,0,0,0,0,0) und (1 / 2,0,0,1 / 2,0,0,0) ist in gleicher Weise ungleichmäßig Es sollte also keine Rolle spielen, ob Sie nur daran interessiert sind, auf Ungleichmäßigkeit zu testen. Vielleicht möchten Sie etwas mehr testen, das in Ihrer Frage nicht explizit angegeben wurde? Die Entropie ist übrigens ein Maß für die Gleichmäßigkeit.
Tim
Danke Tim, ich habe versucht, Entropy zu verwenden, aber ich fand, dass die oben erwähnte Heuristik für meine Zwecke besser funktioniert. Ich bin mir nicht sicher, wie ich die Eigenschaft einer Wahrscheinlichkeitsverteilung über Wochentage nennen soll, an denen ich interessiert bin, außer dass sie die "Streuung" der Wahrscheinlichkeiten über die Woche zusammenfassen sollte.
EBartrum

Antworten:

15

Die Erdbewegungsentfernung , auch als Wasserstein-Metrik bekannt, misst die Entfernung zwischen zwei Histogrammen. Im Wesentlichen betrachtet es ein Histogramm als eine Anzahl von Schmutzhaufen und bewertet dann, wie viel Schmutz man bewegen muss und wie weit (!), Um dieses Histogramm in das andere umzuwandeln. Sie würden den Abstand zwischen Ihrer Verteilung und einer einheitlichen Verteilung über die Wochentage messen.

Dies erklärt natürlich die Nähe der Tage - es ist einfacher, "Schmutz" von Montag bis Dienstag zu bewegen als von Montag bis Donnerstag, also hätte (1 / 2,0,0,1 / 2,0,0,0) a geringerer Abstand der Erdbewegungsmaschine von der Gleichverteilung als ein Histogramm, das sich auf Montag und Dienstag konzentriert.

Was dies nicht tut, ist die "Zirkularität" der Woche zu berücksichtigen, dh dass Samstag und Sonntag so nahe beieinander liegen wie Sonntag und Montag. Dazu müssten Sie nach einem Erdbewegungsabstand suchen , der auf Massenverteilungen mit kreisförmiger Wahrscheinlichkeit definiert ist . Dies sollte mit einem geeigneten Optimierungsansatz möglich sein.


BEARBEITEN: In R berechnet das emdPaket die Erdbewegungsabstände zwischen Histogrammen.

Sie können das Problem der "Zirkularität" auf relativ einfache (wenn auch ad-hoc) Weise angehen.

  • d1
  • d2
  • d3
  • ...
  • d1,,d7

Dies sorgt für die Zirkularität auf Kosten einiger zusätzlicher Berechnungen.

di

Ich würde dies jedoch immer noch als einen potenziell nützlichen Weg betrachten, um zumindest die Zirkularität auf irgendeine Weise zu betrachten - sicherlich besser als nur ein einzelnes Histogramm zu verwenden und die Woche als von Sonntag bis Samstag oder auf eine andere willkürliche Weise zu definieren. Während einige der obigen Links Implementierungen für die kreisförmige Erdbewegungsentfernung auftauchen, ist mir keine für R bekannt, die hier wahrscheinlich die am häufigsten verwendete Sprache ist.

Stephan Kolassa
quelle
3
d1,,d7di
@JiK: Guter Punkt, und einer, der mir auch einfiel, nachdem ich gestern die Konnektivität verloren hatte. Ich habe meine Antwort klargestellt, um zu betonen, dass dies ein Hack und keine echte kreisförmige Erdbewegungsentfernung ist.
Stephan Kolassa
1
Vielen Dank, tatsächlich habe ich es geschafft, eine kreisförmige Erdbewegungsentfernung in R mit dem emd-Paket und der emd2d-Funktion zu implementieren, indem ich meine eigene Entfernungsfunktion definiert habe, sodass ich den von Ihnen erwähnten Hack nicht verwenden musste. Genau das habe ich gesucht! Eine andere Kleinigkeit: Wie soll ich es nennen? Wie Tim oben sagte, sollte ich diese Einheitlichkeit nicht nennen. Was wäre ein passender Name für diese Heuristik?
EBartrum
1
L2