Quantile über eine gewichtete Stichprobe definieren


12

Ich habe eine gewichtete Stichprobe, für die ich Quantile berechnen möchte. 1

Wenn die Gewichte gleich sind (ob = 1 oder anders), stimmen die Ergebnisse im Idealfall mit denen von scipy.stats.scoreatpercentile()und R überein quantile(...,type=7).

Ein einfacher Ansatz wäre, die Probe mit den angegebenen Gewichten zu "multiplizieren". Das ergibt effektiv ein lokal "flaches" ecdf in den Bereichen mit einem Gewicht> 1, was intuitiv wie der falsche Ansatz erscheint, wenn die Stichprobe tatsächlich eine Unter-Stichprobe ist. Insbesondere bedeutet dies, dass eine Stichprobe mit einer Gewichtung von 1 andere Quantile als eine Stichprobe mit einer Gewichtung von 2 oder 3 aufweist.

http://en.wikipedia.org/wiki/Percentile#Weighted_percentile gibt eine alternative Formulierung für das gewichtete Perzentil an. In dieser Formulierung ist nicht klar, ob benachbarte Proben mit identischen Werten zuerst kombiniert und ihre Gewichte summiert werden sollten, und in jedem Fall scheinen die Ergebnisse nicht mit Rs Standardtyp 7 quantile()im ungewichteten / gleichgewichteten Fall übereinzustimmen. Die Wikipedia-Seite über Quantile erwähnt den gewichteten Fall überhaupt nicht.

Gibt es eine gewichtete Verallgemeinerung der Quantilfunktion von R "Typ 7"?

[mit Python, aber eigentlich nur auf der Suche nach einem Algorithmus, damit jede Sprache funktioniert]

M

[1] Gewichte sind ganze Zahlen; Die Gewichte sind die der Puffer, die in den Operationen "Ausblenden" und "Ausgeben" kombiniert werden, wie in http://infolab.stanford.edu/~manku/papers/98sigmod-quantiles.pdf beschrieben . Im Wesentlichen ist die gewichtete Stichprobe eine Teilstichprobe der vollständigen ungewichteten Stichprobe, wobei jedes Element x (i) in der Teilstichprobe die Gewichtselemente (i) in der vollständigen Stichprobe darstellt.


Das Thema ist ziemlich alt, aber hier ist der Zahlencode für gewichtete Quantile stackoverflow.com/a/29677616/498892
Alleo

Antworten:


5

Dies ist ein möglicher Ansatz:

X1X2XnW1,W2,,Wn

Sk=(k-1)Wk+(N-1)ich=1k-1Wich
S1=0Sn=(N-1)ich=1NWich

pkSkSnpSk+1Sn

Xk+(Xk+1-Xk)pSn-SkSk+1-Sk.

Ich denke, Sie werden das finden, wenn die Wichsind alle gleich, dann reproduziert dies R-7. Es gibt auch andere Ansätze, aber ich vermute, sie behandeln nicht alle geordneten Gewichte als gleich wichtig.


Möglicherweise liegt ein Problem vor, wenn zwei Werte in der Stichprobe gleich sind, aber unterschiedliche Gewichte haben - ich habe es jedoch nicht bedacht.
Henry
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.