Schätzung des binomialen Konfidenzintervalls - warum ist es nicht symmetrisch?

30

Ich habe den folgenden r-Code verwendet, um die Konfidenzintervalle eines Binomialanteils zu schätzen, da ich verstehe, dass dies eine "Leistungsberechnung" ersetzt, wenn Empfänger-Betriebskennliniendesigns entworfen werden, bei denen die Erkennung von Krankheiten in einer Population untersucht wird.

n ist 150, und wir glauben, dass die Krankheit in der Bevölkerung zu 25% verbreitet ist. Ich habe die Werte für 75% Sensitivität und 90% Spezifität berechnet (weil die Leute das zu tun scheinen).

    binom.test(c(29,9), p=0.75, alternative=c("t"), conf.level=0.95)

    binom.test(c(100, 12), p=0.90, alternative=c("t"), conf.level=0.95)

Ich habe auch diese Seite besucht:

http://statpages.org/confint.html

Dies ist eine Java-Seite, die binomiale Konfidenzintervalle berechnet und die gleiche Antwort gibt.

Auf jeden Fall möchte ich nach dieser langen Einstellung fragen, warum die Konfidenzintervalle nicht symmetrisch sind, z. B. die Empfindlichkeit

   95 percent confidence interval:
   0.5975876 0.8855583 

   sample estimate probability: 0.7631579 

Es tut mir leid, wenn dies eine dumme Frage ist, aber überall, wo ich hinschaue, scheinen sie symmetrisch zu sein, und ein Kollege von mir scheint zu denken, dass sie es auch sein werden.

Chris Beeley
quelle

Antworten:

20

Es wird angenommen, dass sie symmetrisch sind, da häufig eine normale Approximation verwendet wird. Dieser funktioniert gut genug für den Fall, dass p um 0,5 liegt. binom.testAndererseits werden "genaue" Clopper-Pearson-Intervalle gemeldet, die auf der F-Verteilung basieren (siehe hier für die genauen Formeln beider Ansätze). Wenn wir das Clopper-Pearson-Intervall in R implementieren würden, wäre es ungefähr so ​​(siehe Hinweis ):

Clopper.Pearson <- function(x, n, conf.level){
    alpha <- (1 - conf.level) / 2
    QF.l <- qf(1 - alpha, 2*n - 2*x + 2, 2*x)
    QF.u <- qf(1 - alpha, 2*x + 2, 2*n - 2*x)

    ll <- if (x == 0){
          0
    } else { x / ( x + (n-x+1)*QF.l ) }

    uu <- if (x == 0){
          0
    } else { (x+1)*QF.u / ( n - x + (x+1)*QF.u ) }

    return(c(ll, uu))
}

Sie sehen sowohl im Link als auch in der Implementierung, dass die Formel für die obere und die untere Grenze völlig unterschiedlich sind. Der einzige Fall eines symmetrischen Konfidenzintervalls ist, wenn p = 0,5 ist. Verwenden Sie die Formeln aus dem Link und berücksichtigen Sie, dass in diesem Fall es einfach, sich abzuleiten, wie es kommt.n=2×x

Ich persönlich habe es besser verstanden, die Konfidenzintervalle auf der Grundlage eines logistischen Ansatzes zu betrachten. Binomialdaten werden im Allgemeinen mit einer Logit-Link-Funktion modelliert, die wie folgt definiert ist:

logit(x)=log(x1x)

Diese Verknüpfungsfunktion "ordnet" den Fehlerterm in einer logistischen Regression einer Normalverteilung zu. Folglich sind die Konfidenzintervalle im logistischen Framework um die logit-Werte symmetrisch, ähnlich wie im klassischen linearen Regressionsframework. Die Logit-Transformation wird genau verwendet, um die gesamte auf Normalität basierende Theorie um die lineare Regression zu verwenden.

Nach der inversen Transformation:

logit1(x)=ex1+ex

Sie erhalten wieder ein asymmetrisches Intervall. Nun sind diese Konfidenzintervalle tatsächlich voreingenommen. Ihre Abdeckung entspricht nicht den Erwartungen, insbesondere an den Grenzen der Binomialverteilung. Zur Veranschaulichung zeigen sie jedoch, warum es logisch ist, dass eine Binomialverteilung asymmetrische Konfidenzintervalle aufweist.

Ein Beispiel in R:

logit <- function(x){ log(x/(1-x)) }
inv.logit <- function(x){ exp(x)/(1+exp(x)) }
x <- c(0.2, 0.5, 0.8)
lx <- logit(x)
upper <- lx + 2
lower <- lx - 2

logxtab <- cbind(lx, upper, lower)
logxtab # the confidence intervals are symmetric by construction
xtab <- inv.logit(logxtab)
xtab # back transformation gives asymmetric confidence intervals

Hinweis : Tatsächlich verwendet R die Betaverteilung, dies ist jedoch völlig gleichwertig und rechnerisch ein bisschen effizienter. Die Implementierung in R unterscheidet sich daher von dem, was ich hier zeige, ergibt jedoch genau das gleiche Ergebnis.

Joris Meys
quelle
2
Wollten Sie wirklich sagen, dass das Logit "die Binomialverteilung in eine Normalverteilung umwandelt"?
whuber
@whuber: schöner Fang der Formel und schöner Fang der Formulierung. So ziemlich nicht. Es stellt sicher, dass die Fehler in einer logistischen Regression der Normalverteilung folgen. Danke für die Korrektur.
Joris Meys
Nur eine kurze technische Anmerkung: Die "Arkussinus" -Transformation ist eine Transformation, die eine schnellere Konvergenz zur Normalität aufweist als die logistische Transformation. Setze (wobeiXdie Anzahl der "Erfolge" undNdie Anzahl der Versuche ist), und Sie können mit der sogenannten "Delta - Methode" zeigen, dass die Varianz vonYungefähr konstant ist (und vonYunabhängig ist, wie es in der sollte Normalverteilung). Y=2πarcsinXNXNYY
Wahrscheinlichkeitsrechnung
Der Link, den Sie für "genaue Wahrscheinlichkeiten" angeben, ist fehlerhaft. Haben Sie ein anderes?
S. Kolassa - Setzen Sie Monica
@StephanKolassa Die Clopper Pearson-Formeln finden Sie auch hier: de.wikipedia.org/wiki/…
Joris Meys
24

Um zu sehen, warum es nicht symmetrisch sein sollte, denken Sie an die Situation, in der und Sie in 10 Versuchen 9 Erfolge erzielen. Dann p = 0,9 und 95% CI für p ist [0,554, 0,997]. Die obere Grenze kann nicht größer als 1 sein offensichtlich, so dass die meisten der Unsicherheit muss auf der linken Seite fallen p .p=0.9p^=0.9pp^

Rob Hyndman
quelle
9

@Joris erwähnte das symmetrische oder "asymptotische" Intervall, das höchstwahrscheinlich dasjenige ist, das Sie erwarten. @Joris erwähnte auch die "genauen" Clopper-Pearson-Intervalle und gab Ihnen einen Hinweis, der sehr schön aussieht. Es gibt ein weiteres Konfidenzintervall für Proportionen, auf die Sie wahrscheinlich stoßen werden (beachten Sie, dass es auch nicht symmetrisch ist), das "Wilson" -Intervall, eine Art asymptotisches Intervall, das auf der Invertierung des Score-Tests basiert. Die Endpunkte des Intervalls lösen (in ) die Gleichung ( p - p ) / p

(p^p)/p(1p)=±zα/2

Wie auch immer, Sie können alle drei in R mit den folgenden erhalten:

library(Hmisc)
binconf(29, 38, method = "asymptotic")
binconf(29, 38, method = "exact")
binconf(29, 38, method = "wilson")

Beachten Sie, dass die Methode "wilson" dasselbe Konfidenzintervall ist, das von prop.test ohne Yates 'Kontinuitätskorrektur verwendet wird:

prop.test(29, 38, correct = FALSE)

Sehen Sie hier für Laura Thompson kostenlos SPLUS + R - Handbuch , das Agresti kategorische Datenanalyse , in der begleitet diese Fragen im Detail diskutiert werden.


quelle
1
(+1) Schön, dass Sie Lauras Lehrbuch zitieren und diese Informationsergänzung zu Wilsons CIs hinzufügen.
Chl
2
Vielen Dank. Ich möchte darauf hinweisen, dass das Wilson-Intervall in dem Artikel besprochen wird, auf den @Joris verwiesen hat.
9

Gibt es symmetrische Konfidenzintervalle für die Binomialverteilung: Uns wird trotz aller bereits genannten Gründe keine Asymmetrie aufgezwungen. Die symmetrischen Abstände gelten dabei meist als unterlegen

  1. Obwohl sie numerisch symmetrisch sind , ist ihre Wahrscheinlichkeit nicht symmetrisch : Das heißt, ihre einseitigen Bedeckungen unterscheiden sich voneinander. Dies - eine notwendige Folge der möglichen Asymmetrie der Binomialverteilung - ist der springende Punkt.

  2. Oft muss ein Endpunkt unrealistisch sein (kleiner als 0 oder größer als 1), wie @Rob Hyndman betont.

Trotzdem vermute ich, dass numerisch symmetrische CIs einige gute Eigenschaften haben könnten, zum Beispiel, dass sie unter bestimmten Umständen kürzer sind als die probabilistisch symmetrischen.

whuber
quelle
p^=k/n
@cb Ich folge dem nicht. Erstens hat ein kürzester CI nicht unbedingt an jedem Ende die gleiche Dichte. Zweitens macht der Kommentar zu "existiert nicht" für mich keinen Sinn: Was bedeutet "existiert nicht"?
Whuber
1
kürzeste CI. Um den kürzesten CI für eine bestimmte Abdeckung zu berechnen, würde ich bei der maximalen Dichte beginnen und einen kurzen Schritt zur Seite vergrößern, wo die Dichte höher ist. Dort bekomme ich die höchste Vertrauensdeckung (für den kurzen Schritt also). Ich vergrößere das Ci wiederholt, bis ich den gewünschten Bereich (Abdeckung) habe. Wenn meine Schritte klein (infinitesimal) sind, ist die Dichte auf beiden Seiten (ungefähr) gleich. Habe ich bei dieser Strategie einen Fehler gemacht?
cbeleites unterstützt Monica
pp^=4/5=0.8pp<70%
1
p=0.8k{3,4,5}n=5pnkpk=4n=5Pr(p|n=5,k=4)p[0,1]Pr(k|n,p)p
6

Die Binomialverteilung ist einfach nicht symmetrisch, diese Tatsache tritt jedoch besonders für hervorp in der Nähe von 0 oder 1 und für kleine n; die meisten Leute benutzen es fürp0,5 und so die Verwirrung.

chl
quelle
2

Ich weiß, dass es eine Weile her ist, aber ich dachte, dass ich mich hier einschalten würde. Bei n und p ist es einfach, die Wahrscheinlichkeit einer bestimmten Anzahl von Erfolgen direkt unter Verwendung der Binomialverteilung zu berechnen. Man kann dann die Verteilung untersuchen, um festzustellen, dass sie nicht symmetrisch ist. Sie nähert sich der Symmetrie für großes np und großes n (1-p).

Man kann die Wahrscheinlichkeiten in den Schwänzen akkumulieren, um ein bestimmtes CI zu berechnen. Angesichts der diskreten Art der Verteilung muss die Anzahl der Erfolge interpoliert werden, um eine bestimmte Wahrscheinlichkeit in einem Tail zu finden (z. B. 2,5% für einen 95% -KI). Mit dieser Methode kann man CIs direkt ohne Approximation berechnen (außer der erforderlichen Interpolation).

Dr. Eric
quelle