2015-01-08 16 views
8

Domanda principale: Supponiamo di disporre di un set di dati discreto e limitato $ d $. Quindi il riepilogo del comando (d) restituisce il Min, 1st quartile, Median, mean, 3rd quartile e max. La mia domanda è: quale formula usa R per calcolare il 1 ° quartile?Definizioni di quantili in R

Background: il mio set di dati era: d=c(1,2,3,3,4,9). summary(d) restituisce 2.25 come primo quartile. Ora, un modo per calcolare il primo quartile è di scegliere un valore q1 tale che il 25% del set di dati sia inferiore a uguale a q1. Chiaramente, questo non è ciò che R sta usando. Quindi, mi stavo chiedendo, quale formula usa R per calcolare il primo quartile?

Le ricerche su Google su questo argomento sono rimaste ancora più perplesse e non sono riuscito a trovare una formula utilizzata da R. Digitare help(summary) in R non è stato utile anche a me.

+0

[Wikipedia] (http://en.wikipedia.org/wiki/Quantile#Estimating_the_quantiles_of_a_population) fornisce le formule – Henry

risposta

10

discussione generale:

Ci sono molte possibilità differenti per funzioni quantile del campione; vogliamo che abbiano varie proprietà (tra cui essere semplici da capire e spiegare!) e, a seconda delle proprietà che vogliamo maggiormente, potremmo preferire definizioni diverse.

Di conseguenza, l'ampia varietà di pacchetti tra loro utilizza molte definizioni diverse.

La carta di Hyndman e Fan [1] fornisce sei proprietà desiderabili per una funzione quantile di esempio, elenca nove definizioni esistenti per la funzione quantile e menziona quali (di un numero di pacchetti comuni) utilizzano quali definizioni. La sua introduzione dice (mi dispiace, la matematica in questa citazione non viene visualizzato correttamente più, da quando è stato trasferito a SO):

i quantili di esempio che vengono utilizzati in statistica pacchetti sono tutti basati su uno o due statistiche d'ordine, e possono essere scritte come

\ hat {Q} _i (p) = (1 - γ) X _ {(j)} + γ X _ {(j + 1)} \ ,,
dove \ frac {jm} {n} \ leq p < \ frac {j-m + 1} {n} \ quad (1)

per alcuni m \ in \ mathbb {R} e 0 \ leq \ gamma \ leq 1.

Vale a dire, in generale, i quantili di esempio possono essere scritti come una sorta di media ponderata di due statistiche di ordine adiacenti (sebbene possa essere che ci sia solo un peso su uno di essi).

In R:

In particolare, R offre tutti i nove le definizioni di cui al Hyndman & Fan (con $ 7 $ come impostazione predefinita). Da Hyndman & Fan vediamo:

Definizione 7. Gumbel (1939) considerò anche la posizione modale $ p_k = \ text {mode} \, F (X _ {(k)}) = (k-l)/(n-1) $. Una bella proprietà è che i vertici di $ Q_7 (p) $ dividono l'intervallo in intervalli $ n-1 $, e esattamente $ 100p \% $ degli intervalli si trovano a sinistra di $ Q_7 (p $) e $ 100 (1 -p) \% $ degli intervalli si trova a destra di $ Q_7 (p) $.

Cosa significa? Si consideri n=9.Quindi per (k-1)/(n-1) = 0.25, è necessario k = 1+(9-1)/4 = 3. Cioè, il quartile inferiore è la terza osservazione di 9.

Possiamo vedere che in R:

quantile(1:9) 
    0% 25% 50% 75% 100% 
    1 3 5 7 9 

Per il suo comportamento quando n non è della forma 4k+1, la cosa più semplice da fare è cercare esso:

> quantile(1:10) 
    0% 25% 50% 75% 100% 
1.00 3.25 5.50 7.75 10.00 
> quantile(1:11) 
    0% 25% 50% 75% 100% 
1.0 3.5 6.0 8.5 11.0 
> quantile(1:12) 
    0% 25% 50% 75% 100% 
1.00 3.75 6.50 9.25 12.00 

Quando k non è intero, sta prendendo una media ponderata delle statistiche d'ordine adiacenti, in proporzione alla frazione che si trova tra di loro (cioè, lo fa linear interpolation).

La cosa bella è che in media si ottiene 3 volte più osservazioni sopra il primo quartile come si ottiene di seguito. Quindi, per 9 osservazioni, ad esempio, ottieni 6 sopra e 2 sotto la terza osservazione, che le divide nel rapporto 3: 1.

Quello che sta succedendo con i tuoi dati di esempio

Hai d=c(1,2,3,3,4,9), così n è 6. È necessario (k-1)/(n-1) essere 0.25, così k = 1 + 5/4 = 2.25. Cioè, ci vuole il 25% del tragitto tra la seconda e la terza osservazione (che per coincidenza sono loro stessi 2 e 3), quindi il quartile inferiore è 2+0.25*(3-2) = 2.25.

Sotto il cofano: alcuni dettagli R:

Quando si chiama summary su un frame di dati, questo si traduce in summary.data.frame applicati al telaio dati (cioè pertinente summary per la classe chiamato su) . La sua esistenza è menzionata nell'aiuto su summary.

La funzione summary.data.frame (in ultima analisi - via summary.default applicato a ogni colonna) chiama quantile per calcolare quartili (non si vedrà questo nella guida, purtroppo, dal momento che ?summary.data.frame vi porta semplicemente al summary aiuto e che non lo fa fornisci tutti i dettagli su ciò che accade quando summary viene applicato a un vettore numerico - questo è uno di quei punti davvero brutti nell'aiuto).

Quindi ?quantile (o help(quantile)) descrive cosa fa R.

Ecco due cose che dice (basate direttamente su Hyndman & Fan).In primo luogo, fornisce informazioni generali:

All sample quantiles are defined as weighted averages of consecutive order statistics. Sample quantiles of type i are defined by:

Q[i](p) = (1 - γ) x[j] + γ x[j+1],

where 1 ≤ i ≤ 9, (j-m)/n ≤ p < (j-m+1)/n, x[j] is the jth order statistic, n is the sample size, the value of γ is a function of j = floor(np + m) and g = np + m - j, and m is a constant determined by the sample quantile type.

In secondo luogo, ci sono informazioni specifiche sul metodo 7:

Type 7
m = 1-p

. p[k] = (k - 1)/(n - 1). In this case, p[k] = mode[F(x[k])]. This is used by S.

Speriamo che la spiegazione che ho dato in precedenza aiuta ad avere più senso di ciò che questo sta dicendo. L'help su quantile praticamente cita Hyndman & Fan fino alle definizioni, e il suo comportamento è piuttosto semplice.


Riferimento:

[1]: Rob J. Hyndman e Yanan Fan (1996),
"Quantili di esempio in pacchetti statistici,"
L'americano Statistician, vol. 50, n. 4. (Nov.), pp. 361-365

Vedere anche la discussione here.

+0

Grazie per la risposta. Sono ancora un po 'confuso però. Sembra che R usi parecchi metodi per calcolare i quantili, e sembra che quel metodo 7, qualunque esso sia, è il default, e usato anche nel comando di riepilogo. Tuttavia, ha ancora difficoltà a cercare di capire la formula esatta che R usa per calcolare il quantile. Grazie ancora. –

+1

Speriamo che sia più chiaro ora. –

+0

Grazie mille. Questo è più chiaro. Sto accettando la tua risposta. –

Problemi correlati