Wie berechnet man das Konfidenzintervall des Verhältnisses zweier normaler Mittelwerte?

26

Ich möchte die Grenzwerte für das Konfidenzintervall von für das Verhältnis zweier ableiten . Angenommen, und sind unabhängig, wobei das mittlere Verhältnis ; . Ich habe versucht zu lösen: aber diese Gleichung konnte in vielen Fällen nicht gelöst werden (keine Wurzeln). Mache ich etwas falsch? Gibt es einen besseren Ansatz? Vielen DankX 1 ~ N ( θ 1 , σ 2 ) X 2 ~ N ( θ 2 , σ 2 ) Γ = θ 1 / θ 2 Pr ( - z ( α / 2 ) ) X 1 - Γ X 2 / σ 100(1-α)%
X1N(θ1,σ2)X2N(θ2,σ2)Γ=θ1/θ2

Pr(-z(α/2))X1-ΓX2/σ1+γ2z(α/2))=1-α
francogrex
quelle
1
Das Problem ist, dass das Verhältnis von zwei Zahlen aus zwei Normalverteilungen der Cauchy-Verteilung folgt und somit die Varianz undefiniert ist.
6
@mbq - Die Cauchy-Verteilung stellt für Konfidenzintervalle keine Probleme dar, da die CDF die inverse Tangensfunktion ist. Es muss keine Varianz definiert werden, damit CIs funktionieren. Und das Verhältnis zweier normaler Wohnmobile mit dem Mittelwert Null ist Cauchy, aber nicht unbedingt zweier normaler Wohnmobile mit dem Mittelwert ungleich Null.
Wahrscheinlichkeitslogik
Sicher, ich muss aufhören zu versuchen, am Sonntagmorgen zu denken.

Antworten:

31

Die Methode von Fieller macht, was Sie wollen: Berechnen Sie ein Konfidenzintervall für den Quotienten zweier Mittelwerte, von denen angenommen wird, dass beide aus Gaußschen Verteilungen stammen.

Harvey Motulsky
quelle
Es sind sehr gute Referenzen. Ich finde es auch gut, dass Sie einen Taschenrechner dafür erstellt haben (+1). Wie erwartet, geben Sie in Ihrem Rechner jedoch deutlich an, dass es nicht möglich ist, den CI des Quotienten zu berechnen, wenn das Konfidenzintervall des Nenners Null enthält. Ich denke, es ist dasselbe, was passiert, wenn ich versuche, die quadratische Gleichung zu lösen. Angenommen, die Varianz ist 1, mu1 = 0 und mu2 = 1, N = 10000. Es ist unlösbar.
francogrex
2
Vielen Dank für den Online-Rechner Harvey, ich bin ein typischer Biologe mit unzureichenden statistischen Kenntnissen und Ihr Rechner war genau das, was ich brauchte.
Timtico
Genialer Taschenrechner - genau das, wonach ich gesucht habe. Danke
Alexander
@ harvey-motulsky der link zum anhang funktioniert nicht mehr. Ich habe mich gefragt, ob das Material aus diesem Anhang in der dritten Ausgabe von Intuitive Biostatistics enthalten ist.
Gabriel Southern
@ GabrielSouthern Vielen Dank für den Hinweis auf den Link rot. Fest.
Harvey Motulsky
1

Wenn Sie das Fieller-Konfidenzintervall berechnen möchten, ohne es zu verwenden mratios(normalerweise, weil Sie keine einfache lm-Anpassung, sondern beispielsweise eine glmer- oder glmer.nb-Anpassung wünschen), können Sie die folgende FiellerRatioCIFunktion verwenden, um die Ausgabe des Modells zu modellieren: benennen Sie den Namen des Zählerparameters, bname den Namen des Nennerparameters. Sie können auch direkt die FiellerRatioCI_basic-Funktion giving, a, b und die Kovarianzmatrix zwischen a und b verwenden.

Beachten Sie, dass das Alpha hier 0,05 ist und im Code in den 1,96s "fest codiert" ist. Sie können sie durch die von Ihnen bevorzugten Sprachniveaus ersetzen.

FiellerRatioCI <- function (x, ...) { # generic Biomass Equilibrium Level
    UseMethod("FiellerRatioCI", x)
}
FiellerRatioCI_basic <- function(a,b,V,alpha=0.05){
    theta <- a/b
    v11 <- V[1,1]
    v12 <- V[1,2]
    v22 <- V[2,2]

    z <- qnorm(1-alpha/2)
    g <- z*v22/b^2
    C <- sqrt(v11 - 2*theta*v12 + theta^2 * v22 - g*(v11-v12^2/v22))
    minS <- (1/(1-g))*(theta- g*v12/v22 - z/b * C)
    maxS <- (1/(1-g))*(theta- g*v12/v22 + z/b * C)
    return(c(ratio=theta,min=minS,max=maxS))
}
FiellerRatioCI.glmerMod <- function(model,aname,bname){
    V <- vcov(model)
    a<-as.numeric(unique(coef(model)$culture[aname]))
    b<-as.numeric(unique(coef(model)$culture[bname]))
    return(FiellerRatioCI_basic(a,b,V[c(aname,bname),c(aname,bname)]))
}
FiellerRatioCI.glm <- function(model,aname,bname){
    V <- vcov(model)
    a <- coef(model)[aname]
    b <- coef(model)[bname]
    return(FiellerRatioCI_basic(a,b,V[c(aname,bname),c(aname,bname)]))
}

Beispiel (basierend auf dem Standard-GLM-Basisbeispiel):

 counts <- c(18,17,15,20,10,20,25,13,12)
 outcome <- gl(3,1,9)
 treatment <- gl(3,3)
 glm.D93 <- glm(counts ~ outcome + treatment, family = poisson())

 FiellerRatioCI(glm.D93,"outcome2","outcome3")
ratio.outcome2            min            max 
      1.550427      -2.226870      17.880574
cmbarbu
quelle