Definitionen von Quantilen in R

8

Hauptfrage: Angenommen, Sie haben einen diskreten, endlichen Datensatz $ d $. Dann gibt die Befehlszusammenfassung (d) Min, 1. Quartil, Median, Mittelwert, 3. Quartil und max. Meine Frage ist: Mit welcher Formel berechnet R das 1. Quartil?

Hintergrund: Mein Datensatz war: d=c(1,2,3,3,4,9) . summary(d) gibt 2.25 als erstes Quartil zurück. Nun, eine Möglichkeit, das erste Quartil zu berechnen, besteht darin, einen Wert q1 so zu wählen, dass 25% des Datensatzes kleiner als gleich q1 ist. Klar ist das nicht, was R verwendet. Also, ich frage mich, welche Formel verwendet R, um das erste Quartil zu berechnen?

Die Google-Suche zu diesem Thema hat sogar noch mehr Rätsel aufkommen lassen, und ich konnte keine Formel finden, die R verwendet. Das Eingeben von help(summary) in R war auch für mich nicht hilfreich.

    
Stephan Kolassa 08.01.2015, 00:13
quelle

1 Antwort

10

Allgemeine Diskussion :

Es gibt viele verschiedene Möglichkeiten für Beispiel-Quantil-Funktionen; wir wollen, dass sie verschiedene Eigenschaften haben (einschließlich einfach zu verstehen und zu erklären!), und je nachdem, welche Eigenschaften wir am meisten wollen, bevorzugen wir möglicherweise andere Definitionen.

Als ein Ergebnis verwendet die große Vielfalt von Paketen zwischen ihnen viele verschiedene Definitionen.

Das Papier von Hyndman und Fan [1] gibt sechs wünschenswerte Eigenschaften für eine Beispiel-Quantil-Funktion, listet neun existierende Definitionen für die Quantilfunktion auf und erwähnt, welche (einer Anzahl von gemeinsamen) Paketen welche Definitionen verwenden. Seine Einleitung sagt (Entschuldigung, die Mathematik in diesem Zitat wird nicht mehr richtig dargestellt, da sie nach SO verschoben wurde):

  

die Beispielquantile, die in statistischen verwendet werden   Pakete basieren alle auf einer oder zwei Bestellstatistiken, und   kann als

geschrieben werden      

\ hat {Q} _i (p) = (1 - γ) X _ {(j)} + γ X _ {(j + 1)} \ ,,
   where \ frac {j-m} {n} \ leq p & lt; \ frac {j-m + 1} {n} \ quad (1)

     

für einige m \ in \ mathbb {R} und 0 \ leq \ gamma \ leq 1.

Das heißt, im Allgemeinen können die Beispielquantile als eine Art gewichteter Durchschnitt von zwei benachbarten Ordnungsstatistiken geschrieben werden (obwohl es möglicherweise nur eine Gewichtung auf einer von ihnen gibt).

In R :

Insbesondere bietet R alle neun Definitionen, die in Hyndman & amp; Fan (mit $ 7 $ als Standard). Von Hyndman & amp; Fan, den wir sehen:

  

Definition 7 . Gumbel (1939) berücksichtigte auch die modale Position   $ p_k = \ Text {Modus} \, F (X _ {(k)}) = (k-l) / (n-1) $. Eine nette Eigenschaft ist, dass die Ecken von $ Q_7 (p) $ den Bereich in $ n-1 $ Intervalle unterteilen und genau $ 100p \% $ der Intervalle links von $ Q_7 (p $) und $ 100 (1 -p) \% $ der Intervalle liegen rechts von $ Q_7 (p) $.

Was bedeutet das? Betrachte n=9 . Für (k-1)/(n-1) = 0.25 benötigen Sie k = 1+(9-1)/4 = 3 . Das heißt, das untere Quartil ist die dritte Beobachtung von 9.

Wir können das in R sehen:

%Vor%

Für sein Verhalten, wenn n nicht die Form 4k+1 hat, ist es am einfachsten, es zu versuchen:

%Vor%

Wenn k nicht ganzzahlig ist, wird ein gewichteter Durchschnitt der Statistiken der benachbarten Reihenfolge verwendet, und zwar proportional zu dem Bruch, der zwischen ihnen liegt (dh lineare Interpolation ).

Das Schöne ist, dass Sie im Durchschnitt dreimal so viele Beobachtungen oberhalb des ersten Quartils bekommen wie unten. Für 9 Beobachtungen erhalten Sie zum Beispiel 6 oben und 2 unter der dritten Beobachtung, die sie in das Verhältnis 3: 1 teilt.

Was passiert mit Ihren Beispieldaten?

Sie haben d=c(1,2,3,3,4,9) , also n ist 6. Sie benötigen (k-1)/(n-1) , um 0.25 zu sein, also k = 1 + 5/4 = 2.25 . Das heißt, es dauert 25% des Weges zwischen der zweiten und dritten Beobachtung (die zufällig selbst 2 und 3 sind), also ist das untere Quartil 2+0.25*(3-2) = 2.25 .

Unter der Haube: einige R Details :

Wenn Sie summary für einen Datenrahmen aufrufen, wird summary.data.frame auf den Datenrahmen angewendet (d. h. die relevante summary für die Klasse, für die Sie sie aufgerufen haben). Seine Existenz wird in der Hilfe zu summary erwähnt.

Die Funktion summary.data.frame (letztendlich - über summary.default , die auf jede Spalte angewendet wird) ruft quantile auf, um Quartile zu berechnen (Sie werden dies leider nicht in der Hilfe sehen, da ?summary.data.frame Sie einfach zur summary help und das gibt Ihnen keine Details darüber, was passiert, wenn summary auf einen numerischen Vektor angewendet wird - das ist einer dieser wirklich schlechten Stellen in der Hilfe.

So ?quantile (oder help(quantile) ) beschreibt, was R tut.

Hier sind zwei Dinge, die es sagt (basierend direkt von Hyndman & amp; Fan). Zunächst gibt es allgemeine Informationen:

  

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.

Zweitens gibt es spezifische Informationen über Methode 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.

Hoffentlich hilft die Erklärung, die ich vorher gegeben habe, mehr Sinn zu haben, was das sagt. Die Hilfe auf quantile sagt ziemlich genau Hyndman & amp; Fan so weit wie Definitionen, und sein Verhalten ist ziemlich einfach.

Referenz :

[1]: Rob J. Hyndman und Yanan Fan (1996),
"Probenquantile in statistischen Paketen",
Der amerikanische Statistiker , Vol. 50, Nr. 4. (Nov.), S. 361-365

Siehe auch hier .

    
Glen_b 08.01.2015, 01:15
quelle

Tags und Links