Konfidenzintervalle für den Median

9

Ich habe eine Verteilung von Proben mit einer kleinen Anzahl von Werten in jeder (weniger als ). Ich habe den Median für jede Stichprobe berechnet, den ich mit einem Modell vergleichen und die Differenz zwischen dem Modell und dem Median jeder Stichprobe ermitteln möchte. Um ein konsistentes Ergebnis zu erzielen, benötige ich einen Fehler in Bezug auf diesen Unterschied.10

Dies führt dazu, dass es in einem solchen Fall ziemlich schwierig sein kann, die Standardabweichung zu finden, zumindest für einen Nicht-Profi wie mich (siehe zum Beispiel hier ).

Ich habe diese Website gefunden, auf der angegeben ist, wie Konfidenzintervalle für den Median berechnet werden, auch wenn keine offizielle Referenz angegeben ist.

Es scheint mir vernünftig, aber ich kann es nicht wirklich beurteilen, deshalb würde ich gerne wissen:

  1. Sind diese Formeln korrekt?
  2. Gibt es eine Referenz dafür?
  3. Was ist, wenn ich CI anders als finden möchte ?95%

Danke im Voraus

EDIT: Ich habe auch dieses Beispiel für Bootstrapping für nicht-Gaußsche Daten gefunden . Jetzt weiß ich nicht viel über Bootstrapping, aber es wäre gut, eine Adresse über deren Gültigkeit zu haben.

Py-ser
quelle
Die genaue Stichprobenverteilung eines Stichprobenmedians wird unter stats.stackexchange.com/questions/45124 abgeleitet . (Asymptotische Verteilungen werden auch in den meisten Antworten angegeben, aber diese sind hier wahrscheinlich nicht relevant.) Keines davon ist jedoch dasselbe wie ein Konfidenzintervall ....
whuber
@whuber, danke für den Link, aber ich kann die Beziehung nicht fangen. Könnten Sie bitte etwas klarer sein?
Py-ser
Um ein Konfidenzintervall (CI) für einen Parameter unter Verwendung einer bestimmten Statistik zu finden, müssen Sie die Stichprobenverteilung dieser Statistik kennen. Hier suchen Sie einen CI für den Populationsmedian (den Parameter) basierend auf der Stichprobe und fragen speziell nach dem Stichprobenmedian (eine Statistik). (Der Thread, auf den ich verweise, befasst sich mit dieser letzteren Frage.) Es ist wichtig, die genaue Verteilung dieser Statistik zu kennen. daraus kann eine Konfidenzintervallprozedur abgeleitet werden. Die asymptotischen Ergebnisse - auf denen Ihre eigene Referenz basiert - können schlechte Annäherungen für kleine Stichprobengrößen sein.
whuber
Die Statistik ist Poissonian. Aber ich verstehe noch nicht: Auf welches asymptotische Ergebnis beziehen Sie sich? Sind diese Formeln ein besonderer Fall?
Py-ser
1
Ich denke, Sie haben meine Antwort in diesem Thread nicht gelesen , da sie für eine beliebige Anzahl von Beobachtungen ein genaues Ergebnis liefert: "Dies ist eine genaue Formel für die Verteilung des Medians für eine kontinuierliche Verteilung."
whuber

Antworten:

14

Zusammenfassung

Wenn Sie wenig oder gar nichts über das wahre Wahrscheinlichkeitsgesetz annehmen und wenig daraus schließen können - was bei kleinen Stichproben von Beobachtungen der Fall ist -, bildet ein geeignet ausgewähltes Paar von Ordnungsstatistiken ein Konfidenzintervall für den Median. Welche Ordnungsstatistik zu wählen ist, kann mit einer schnellen Analyse der Binomialverteilung leicht gefunden werden . In der Praxis müssen einige Entscheidungen getroffen werden: Diese werden am Ende dieses Beitrags erörtert und veranschaulicht.( n , 1 / 2 )n(n,1/2)

Im Übrigen kann dieselbe Analyse verwendet werden, um Konfidenzintervalle für jedes Quantil zu konstruieren (von denen der Median, der , ein Beispiel ist). Die Binomialverteilung in diesem Fall die Lösung.q = 50 % ( n , q )qq=50%(n,q)

Einführung

Denken Sie daran, was ein Konfidenzintervall (CI) bedeutet. Die Einstellung ist eine unabhängige Zufallsstichprobe wobei jedes von derselben Verteilung . Es wird nur angenommen, dass ein Element einer Menge möglicher Verteilungen ist. Jeder von ihnen hat einen Median . Für jedes feste zwischen und ist ein CI der Stufe ein Funktionspaar (auch "Statistik" genannt), und , so dassX i F F Ω F 1 / 2 α 0 1 α L UX=(X1,X2,,Xn)XiFFΩF1/2α01αLU

PrF(L(X)F1/2U(X))1α.

Die rechte Seite ist die Abdeckung des CI für die Verteilung .F

Abgesehen davon: Damit dies nützlich ist, bevorzugen wir auch, dass (1) das Infimum der Bedeckungen über so klein wie möglich ist und (2) die erwartete Länge des Intervalls sollte dazu neigen, für alle oder "die meisten" .FΩEF(U(X)L(X))FΩ

Analyse

Angenommen, wir nehmen nichts über . Ω In dieser Situation können wir die Auftragsstatistik weiterhin nutzen . Dies sind die spezifischen Werte in der sortierten Stichprobe. Um die Notation zu vereinfachen, sortieren wir das Sample ein für alle Mal, damit

X1X2Xn.

Der Wert ist die Ordnungsstatistik der Stichprobe. Da wir nichts über annehmen , wissen wir zunächst nichts über , so dass wir nicht viel über die wahrscheinlichen Intervalle zwischen jedem und seinem Nachbarn . Wir können jedoch immer noch quantitativ über die einzelnen Werte nachdenken: Wie ist die Wahrscheinlichkeit, dass den Median von nicht überschreitet ? Um dies herauszufinden, sei eine Zufallsvariable, die von regiert wird , und seiXiithΩFXiXi+1XiFYF

πF=PrF(YF1/2)

sei die Chance, dass den Median von nicht überschreitet . Wenn dann , wissen wir (seit ), dass unsere ursprüngliche ungeordnete Stichprobe von Werten mindestens Werte enthalten muss, die nicht überschreiten. .YFXiF1/2X1XiF1/2niF1/2

Dies ist ein Binomialproblem. Wenn wir die Zufallsvariable so definieren , dass sie gleich wenn und andernfalls , zeigt das Vorstehende, dass eine Bernoulli-Verteilung mit dem Parameter . Ein "Erfolg" besteht darin, einen Wert am oder unter dem Median zu beobachten. Daher ist durch die Binomialwahrscheinlichkeit gegeben, die mit weniger als Erfolgen verbunden ist:Z1YF1/20ZπFPr(Xi>F1/2)i

Pr(Xi>F1/2)=j=0i1(nj)πFj(1πF)nj.

Sie haben wahrscheinlich bemerkt, dass . Tatsächlich sind für viele Verteilungen die beiden Werte gleich: Sie unterscheiden sich nur, wenn dem Median eine positive Wahrscheinlichkeit zuweist . Um den Unterschied zu analysieren, schreiben Sie für . Für impliziert diesπF1/2FF1/2πF=1/2+εε02(j1)n

πFj(1πF)nj=(1/2+ε)j(1/2ε)nj=(1/2+ε)j[(1/2ε)j(1/2ε)n2j]=(1/4ε2)j(1/2ε)n2j(1/4)j(1/2)n2j=2n.

Wenn also , können wir die Abhängigkeit der Summe von auf Kosten des Ersetzens der Gleichheit durch eine Ungleichung beseitigen:2(i1)nF

Pr(Xi>F1/2)2nj=0i1(nj).

Genau das gleiche Argument (angewendet durch Umkehren der Ordnungsstatistik) zeigt, dass wenn ,2(i+1)n

Pr(Xi<F1/2)2nj=i+1n(nj).

Die rechten Seiten werden immer dann auf Null reduziert, wenn (im ersten Fall) oder (im zweiten Fall ). Daher ist es immer möglich , Indizes zu finden , für diei0inlu

Pr(Xl>F1/2 or Xu<F1/2)=Pr(Xl>F1/2)+Pr(Xu<F1/2)2n(j=0l1(nj)+j=u+1n(nj)).

Lösung

Dies ist die Ergänzung der definierenden Bedingung für ein Konfidenzintervall und daher äquivalent dazu:

Pr(XlF1/2Xu)2nj=lu(nj).

Durch Auswahl von , um die rechte Seite auf mindestens , haben wir ein Konfidenzintervallverfahren gefunden, dessen Pegel mindestens beträgt .lu1α 1α

Mit anderen Worten, bei Auswahl solcher Indizes und durch Setzen von und ist das Intervall ein CI für den Median mit einer Abdeckung von mindestens . Sie können die tatsächliche Abdeckung anhand der Binomialwahrscheinlichkeiten berechnen. Diese Abdeckung wird für jede Verteilung die (die alle kontinuierlichen Verteilungen enthält) eine Wahrscheinlichkeit von Null zuweist . Es wird von jedem überschritten , das Wahrscheinlichkeit ungleich Null zuweist .luL(X)=XlU(X)=Xu[L(X),U(X)]F1/21αFF1/2FF1/2

Diskussion

An diesem Punkt haben wir einige Möglichkeiten. Am gebräuchlichsten ist es, die Grenzen symmetrisch zu machen, indem relativ nahe an . Tatsächlich können durch Festlegen von die Konfidenzgrenzen für jedes mit einer schnellen Suche oder durch Anwenden der Binomialquantilfunktion gefunden werden.un+1lu=n+1ln

Zum Beispiel sei und (um eine CI-Prozedur zu veranschaulichen ). Lassen Sie uns den unteren Teil der kumulativen Binomialverteilung mit den Parametern und :n=10α=10%1α=90%101/2

> i <- 0:5; names(i) <- i; print(pbinom(i, 10, 1/2), digits=1)
    0     1     2     3     4     5   
0.001 0.011 0.055 0.172 0.377 0.623 

(Dies ist ein RBefehl und seine Antwort.) Da der Wert bei , der , nahe bei , ist es verlockend, und , z dann beträgt die Abdeckung was nahe am Ziel von . Wenn Sie die gewünschte Abdeckung erreichen müssen , müssen Sie und oder und , beide mit einer Abdeckung von .25.5%α/2l=3u=10+13=810.0550.055=0.8990%l=2u=8l=3u=910.011.055=0.935

Lassen Sie uns zur Überprüfung viele Datensätze aus jeder Verteilung simulieren, diese CIs für die Datensätze berechnen und den Anteil der CIs berechnen, die den wahren Median abdecken. In diesem RBeispiel wird eine Normalverteilung verwendet:

n <- 10
n.sim <- 1e4
x <- apply(matrix(rnorm(n*n.sim), nrow=n), 2, sort)
covers <- function(x, l, u) mean(x[l, ] <= 0 & x[u, ] >= 0)
c(l3.u8=covers(x,3,8), l2.u8=covers(x,2,8), l3.u9=covers(x,3,9))

Die Ausgabe ist

 l3.u8  l2.u8  l3.u9 
 0.8904 0.9357 0.9319 

Die Deckungen stimmen eng mit den theoretischen Werten überein.

Als weiteres Beispiel ziehen wir Stichproben aus einer diskreten Verteilung, z. B. einem Poisson:

lambda <- 2
x <- apply(matrix(rpois(n*n.sim, 2), nrow=n), 2, sort)
med <- round(lambda + 1/3 - 0.02/lambda)
c(l3.u8=covers(x,3,8), l2.u8=covers(x,2,8), l3.u9=covers(x,3,9))

 l3.u8  l2.u8  l3.u9 
0.9830 0.9845 0.9964 

Diesmal sind die Deckungen viel höher als erwartet. Der Grund dafür ist , dass es eine Chance , dass ein Zufallswert ist gleich dem Median. Dies erhöht die Wahrscheinlichkeit, dass der CI den Median abdeckt, erheblich. Dies ist kein Problem oder Paradoxon. Per Definition muss die Abdeckung mindestens betragen, unabhängig von der Verteilung - aber es ist möglich (wie in diesem Fall), dass die Abdeckung für bestimmte Verteilungen wesentlich größer als .27%1αF1α

Darin liegt der Kompromiss: Wenn Sie nichts über annehmen , ist das auf Auftragsstatistiken basierende CI das einzige, das Sie erstellen können. Die Abdeckung für Ihr wahres (aber unbekanntes) möglicherweise etwas höher als erwartet. Das bedeutet, dass Ihr CI breiter ist, als wenn Sie einige stärkere Annahmen über indem Sie die Möglichkeiten für .FFΩF

whuber
quelle
Diese Antwort konzentriert sich auf Frage 3. In Bezug auf die ersten beiden Fragen (1) ("Sind diese Formeln korrekt?") Ist die Antwort nicht ganz, da sie eine normale Annäherung an die Binomialverteilung verwenden. und (2) ("gibt es eine Referenz") lautet die Antwort vielleicht, aber wen interessiert das? Eine Referenz für die Analyse in dieser Antwort ist Hahn & Meeker, Statistical Intervals .
whuber
3

Wenn Sie numerische Methoden verwenden möchten, können Sie mithilfe von Bootstrap eine Schätzung der Samping-Verteilung von Medianen erstellen. Wiederholen Sie die Stichprobe wiederholt und berechnen Sie viele Mediane. Der Standardwert dieser Mediane dient als Schätzung des Standardwerts der Stichprobenverteilung der Mediane. Ich habe eine ähnliche Methode verwendet, um die Unsicherheit der Ergebnisse von Schachspielen in meinem Artikel über Schachspiele zu berechnen, den Sie hier finden: https://sonoma.academia.edu/JamalMunshi/papers

Jamal Munshi
quelle
Das ist eine gute Idee. In Anbetracht der Kommentare zu der Frage ist eine Analyse ihrer Genauigkeit für kleine erforderlich . In der Praxis macht es auch keinen Sinn, wiederholt neu abzutasten, da die genaue Verteilung in geschlossener Form leicht zu erhalten ist. Für einen Datensatz ist die Wahrscheinlichkeit, dass der Median eines Bootstrap-Beispiels nicht überschreitet (wobei ), die Wahrscheinlichkeit, dass mindestens die Hälfte der Beispielwerte befinden sich in der Menge . Dies ist durch eine Binomialverteilung mit den Parametern und . nx1x2xnxxix<xi+1{x1,x2,xi}ni/n
whuber
@whuber, sorry, du meintest "das ist KEINE gute Idee", oder?
Py-ser
@ Py-ser Die zugrunde liegende Idee ist in dem Sinne gut, dass eine Version davon funktionieren wird, aber sowohl die Interpretation als auch die Implementierung müssen verbessert werden.
whuber
Aber die ganze Diskussion in der Vergangenheit war, dass Sie Bootstrapping für KEINE gute Idee halten.
Py-ser