2015-01-08 12 views
8

Główne pytanie: Załóżmy, że masz dyskretny, skończony zestaw danych $ d $. Następnie podsumowanie polecenia (d) zwraca Min, 1. kwartyl, Median, mean, 3rd quartile i max. Moje pytanie brzmi: jaką formułę używa R do obliczenia pierwszego kwartylu?Definicje kwantów w R

Tło: Mój zestaw danych: d=c(1,2,3,3,4,9). summary(d) zwraca 2.25 jako pierwszy kwartyl. Teraz jednym ze sposobów obliczenia pierwszego kwartylu jest wybranie wartości q1 takiej, że 25% zbioru danych jest mniejsze niż równe q1. Najwyraźniej nie używa tego R. Zastanawiałem się więc, jaką formułę używa R do obliczenia pierwszego kwartylu?

Wyszukiwania Google na ten temat jeszcze bardziej zdziwiły i nie mogłem znaleźć formuły, której używa R. Wpisanie help(summary) w R też mi nie pomogło.

+0

[Wikipedia] (http://pl.wikipedia.org/wiki/Quantile#Estimating_the_quantiles_of_a_population) daje formuły – Henry

Odpowiedz

10

Ogólne omówienie:

Istnieje wiele różnych możliwości przykładowych funkcji kwantylowych; chcemy, aby miały różne właściwości (w tym bycie prostymi do zrozumienia i wyjaśnienia!) i zależnie od tego, które właściwości chcemy najbardziej, możemy preferować różne definicje.

W rezultacie wiele różnych pakietów używa wielu różnych definicji.

Artykuł w publikacjii Fan [1] podaje sześć pożądanych właściwości dla funkcji kwantyla próbki, wylicza dziewięć istniejących definicji funkcji kwantylowej i wymienia, które (z wielu popularnych) pakietów używają tych definicji. Jego wprowadzenie mówi (przepraszam, matematyka w ten cytat nie czyni właściwie nic więcej, ponieważ został przeniesiony do SO):

kwantyli próbki, które są wykorzystywane w pakietach statystycznych są oparte na jednej lub dwóch Statystyki kolejności, a można zapisać jako

\ kapelusza {Q} _I (P) = (1 - γ) X _ {(j)} + γ X _ {(j + 1),} \ ,,
gdzie \ frac {jm} {n} \ leq p < \ frac {j-m + 1} {n} \ quad (1)

dla niektórych m \ w \ mathbb {R} i 0 \ leq \ gamma \ leq 1.

Ogólnie mówiąc, kwantyle próbne można zapisać jako średnią ważoną dwóch sąsiednich statystyk zamówień (choć może się zdarzyć, że na jednej z nich jest tylko masa).

W R:

W szczególności R oferuje wszystkie dziewięć definicje wymienione w Hyndmanem & wentylator (z $ 7 USD jako domyślną). Od Hyndman & Fan widzimy:

Definicja 7. Gumbel (1939) również rozważał modalne położenie: $ p_k = \ text {mode} \, F (X _ {(k)}) = (k-l)/(n-1) $. Jedną z fajnych właściwości jest to, że wierzchołki $ Q_7 (p) $ dzielą zakres na przedziały $ n-1 $, a dokładnie 100pkt \% $ przedziałów znajduje się na lewo od $ Q_7 (p $) i 100 $ (1 -p) \% $ interwałów znajduje się po prawej stronie $ Q_7 (p) $.

Co to oznacza? Rozważ n=9.Następnie dla (k-1)/(n-1) = 0.25 potrzebujesz k = 1+(9-1)/4 = 3. Oznacza to, że dolny kwartyl jest 3rd obserwacja 9.

Widzimy, że w R:

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

Na jego zachowanie podczas n nie jest postaci 4k+1, najprostszym rozwiązaniem jest spróbować to:

> 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 

Kiedy k nie jest liczbą całkowitą, to biorąc średnią ważoną sąsiednich statystyk porządkowych w stosunku do frakcji leży między nimi (to znaczy, że robi linear interpolation).

Przyjemnie jest, że średnio dostajesz trzykrotnie więcej obserwacji niż pierwszy kwartyl, kiedy znajdziesz się poniżej. Tak więc dla 9 obserwacji, na przykład, otrzymujesz 6 powyżej i 2 poniżej trzeciej obserwacji, która dzieli je na stosunek 3: 1.

Co się dzieje z danymi przykładowymi

Masz d=c(1,2,3,3,4,9), więc n to 6. Trzeba (k-1)/(n-1) być 0.25, więc k = 1 + 5/4 = 2.25. Oznacza to, że zajmuje 25% drogi między drugą i trzecią obserwacją (które są przypadkowo 2 i 3), więc niższy kwartyl to 2+0.25*(3-2) = 2.25.

Pod maską: niektóre szczegóły R:

Po wywołaniu summary w ramce danych, skutkuje summary.data.frame stosowane do ramki danych (to jest na właściwych summary dla klasy jesteś nazwie go) . Jego istnienie jest wymienione w pomocy na summary.

summary.data.frame function (ostatecznie - przez summary.default zastosować do każdej kolumny) wywołuje quantile obliczyć kwartyle (nie będzie widać to w pomocy, niestety, od ?summary.data.frame prostu zabierze cię do pomocy summary i że nie poda ci szczegóły dotyczące tego, co się stanie, gdy summary zostanie zastosowane do wektora liczbowego - jest to jedno z tych naprawdę złych miejsc w pomocy).

Więc ?quantile (lub help(quantile)) opisuje, co robi R.

Oto dwie rzeczy, które mówi (oparte bezpośrednio na Hyndman & Fan).Po pierwsze, daje ogólne informacje:

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.

Po drugie, nie ma konkretnych informacji o sposobie 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.

Mam nadzieję, że wyjaśnienie dałem wcześniej pomaga więcej sensu, co to mówi. Pomoc na temat quantile w przybliżeniu cytuje Hyndmana & Wentylatora w zakresie definicji, a jego zachowanie jest dość proste.


odniesienia:

[1]: Rob J. Hyndman i Yanan wentylator (1996),
"Przykładowe kwantyle w opakowaniach Statystyczne",
American Statystyk, tom. 50, nr 4. (listopad), s. 361-365

Zobacz także dyskusję here.

+0

Dziękuję za odpowiedź. Nadal jestem trochę zdezorientowany. Wygląda na to, że R używa kilku metod do obliczenia kwantyli i wygląda na to, że metoda 7, cokolwiek to jest, jest domyślna i używana również w komendzie podsumowania. Jednak wciąż nie można znaleźć dokładnej formuły, której R używa do obliczenia kwantyla. Dzięki jeszcze raz. –

+1

Mam nadzieję, że teraz jest jaśniej. –

+0

Wielkie dzięki. Jest to bardziej przejrzyste. Akceptuję twoją odpowiedź. –

Powiązane problemy