Definizione di quantili su un campione ponderato


12

Ho un campione ponderato, per il quale desidero calcolare i quantili. 1

Idealmente, dove i pesi sono uguali (se = 1 o meno), i risultati sarebbero coerenti con quelle scipy.stats.scoreatpercentile()e R quantile(...,type=7).

Un approccio semplice sarebbe quello di "moltiplicare" il campione usando i pesi indicati. Ciò fornisce effettivamente un ecdf localmente "piatto" nelle aree di peso> 1, che sembra intuitivamente l'approccio sbagliato quando il campione è in realtà un sottocampionamento. In particolare, significa che un campione con pesi tutti uguali a 1 ha quantili diversi rispetto a uno con pesi tutti uguali a 2, o 3. (Notare, tuttavia, che l'articolo a cui si fa riferimento in [1] sembra usare questo approccio.)

http://en.wikipedia.org/wiki/Percentile#Weighted_percentile fornisce una formulazione alternativa per percentile ponderato. Non è chiaro in questa formulazione se i campioni adiacenti con valori identici debbano prima essere combinati e i loro pesi sommati, e in ogni caso i risultati non sembrano coerenti con il tipo predefinito 7 di R quantile()nel caso non ponderato / equamente ponderato. La pagina di Wikipedia sui quantili non menziona affatto il caso ponderato.

Esiste una generalizzazione ponderata della funzione quantile di "tipo 7" di R?

[usando Python, ma sto solo cercando un algoritmo, davvero, quindi qualsiasi lingua lo farà]

M

[1] I pesi sono numeri interi; i pesi sono quelli dei buffer combinati nelle operazioni "collapse" e "output" come descritto in http://infolab.stanford.edu/~manku/papers/98sigmod-quantiles.pdf . Essenzialmente il campione ponderato è un sottocampionamento dell'intero campione non ponderato, con ciascun elemento x (i) nel sottocampione che rappresenta gli elementi peso (i) nell'intero campione.


Argomento è piuttosto vecchio, ma qui è il codice NumPy per quantili ponderate stackoverflow.com/a/29677616/498892~~V~~plural~~3rd
Alleo

Risposte:


5

Questo è un possibile approccio:

Supponiamo di avere un campione ordinato con i rispettivi pesi .X1X2XnW1,W2,,Wn

Definisci così e .

Sk=(k1)Wk+(N1)i=1k1Wi
S1=0Sn=(N1)i=1NWi

Per un'interpolazione di quantile , trova tale che . Il tuo preventivo potrebbe quindi esserepkSkSnpSk+1Sn

XK+(XK+1-XK)pSn-SKSK+1-SK.

Penso che scoprirai che se sono tutti uguali, questo riproduce R-7. Ci sono anche altri approcci che lo fanno, ma sospetto che non trattino tutti i pesi ordinati come ugualmente importanti.Wio


Potrebbe esserci un problema se due valori nel campione sono uguali ma hanno pesi diversi - non ci ho pensato.
Henry,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.