Konfidenzintervall für Median


40

Ich muss einen 95% -KI auf dem Median und anderen Perzentilen finden. Ich weiß nicht, wie ich das angehen soll. Ich benutze hauptsächlich R als Programmierwerkzeug.

Antworten:


31

Hier ist eine Abbildung eines klassischen R-Datensatzes:

> x       = faithful$waiting
> bootmed = apply(matrix(sample(x, rep=TRUE, 10^4*length(x)), nrow=10^4), 1, median)
> quantile(bootmed, c(.025, 0.975))
2.5% 97.5% 
 73.5    77 

Dies ergibt ein Konfidenzintervall (73,5, 77) für den Median.

( Anmerkung: Korrigierte Version, dank John . Ich habe in der vorherigen Version verwendet , was zu Verwirrung geführt hat!)103nrow


7
Scheint mir verdächtig eng. Mit den Funktionen von wird library(boot)dies bestätigt:> boot.ci (boot (x, funktion (x, i) median (x [i]), R = 1000)) Intervalle: Stufe Normal Basis 95% (74,42, 78,22) (75,00 , 78,49) Level Percentile BCa 95% (73,51, 77,00) (73,00, 77,00)
am

2
Gern geschehen, Xi'an ... Abgesehen davon ziehe ich es immer vor, den ursprünglichen N-Wert in der Matrix festzulegen, da dies eine Konstante für verschiedene Bootstrap-Größen ist, die ich möglicherweise erstellt habe. Also hätte ich normalerweise ncol = length (x) gesagt. Ich finde, dass es auf diese Weise weniger Fehler gibt.
John

6
Dies ist nur eine ineffiziente Methode, um die Binomialquantile wie in der Antwort von onestop zu berechnen .
whuber

30

Ein anderer Ansatz basiert auf Quantilen der Binomialverteilung.
z.B:

> x=faithful$waiting
> sort(x)[qbinom(c(.025,.975), length(x), 0.5)]
[1] 73 77

4
Ich mag die Einfachheit dieser ... Die Ergebnisse kommen der Bootstrap-Methode sehr nahe.
Dominic Comtois

1
Dies ist offensichtlich viel effizienter als Bootstrapping für den kontinuierlichen Fall, aber ein Nachteil ist, dass es keine gebundenen Ränge berücksichtigt. Kennen Sie zufällig eine Problemumgehung dafür?
ali_m

15

Schauen Sie sich das Bootstrap Resampling an. Suchen Sie in der R-Hilfe nach der Startfunktion. Abhängig von Ihren Daten mit Resampling können Sie Konfidenzintervalle für nahezu alles abschätzen.


Zustimmen. Dies ist der beste Ansatz. Meiner Meinung nach in den biomedizinischen Wissenschaften wenig genutzt.
pmgjones

10
Betrachten Sie den geglätteten Bootstrap, um Populationsquantile abzuschätzen, da der konventionelle Boostrap in diesem Fall Probleme zu haben scheint - Referenzen finden Sie in diesem PDF . Wenn Sie sich nur für den theoretischen Median interessiert haben, kann der Hodges-Lehman-Schätzer verwendet werden - wie dies beispielsweise durch die wilcox.test(..., conf.int=TRUE)Funktion von R gegeben ist .
Karakal

4

Und es gibt noch andere Ansätze: Einer basiert auf dem Wilcoxon-Rang-Summen-Test, der für eine Stichprobe mit Durchgangskorrektur angewendet wird. In R kann dies geliefert werden als:

wilcox.test(x,conf.level=0.95,alternative="two.sided",correct=TRUE)

Und da ist das CI von David Olive für den Median, das hier besprochen wird:

CI für Median


1

Das auf dem qbinom-Ansatz basierende Ergebnis ist für kleine Stichproben nicht korrekt. Angenommen, x hat 10 Komponenten. Dann ergibt qbinom (c (.025, .975), 10, .5) 2 und 8. Das resultierende Intervall behandelt Ordnungsstatistiken am unteren Ende nicht symmetrisch mit denen vom oberen Ende; Sie sollten entweder 2 und 9 oder 3 und 8 erhalten. Die richtige Antwort ist 2 und 9. Sie können in SAS gegen proc univariate prüfen. Fangen Sie hier ist Sie brauchen nicht mehr als .025 Wahrscheinlichkeit unten und oben; Das untere Quantil tut dies nicht, da es mindestens 0,025 bei oder darunter gibt. Sie werden im unteren Bereich gespeichert, weil die Anzahl, die 1 sein sollte, der Statistik zweiter Ordnung zugeordnet werden soll, wobei 0 gezählt wird, und so wird "Aus um eins" abgebrochen. Diese zufällige Stornierung findet nicht statt und daher erhalten Sie hier die falsche Antwort. Die Codesorte (x) [qbinom (c (.025, .975), Länge (x) ,. 5) + c (0,1)] funktioniert fast und .5 kann durch andere Quantilwerte ersetzt werden, um Konfidenzintervalle für andere Quantile zu erhalten, aber es ist nicht richtig, wenn es eine solche gibt, dass P [X <= a ] =. 025. Siehe zum Beispiel Higgins, Nonparametric Statisitcs.

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.