Cómo calcular el intervalo de confianza de la razón de dos medias normales

26

Quiero derivar los límites para el intervalo de confianza para la razón de dos medias. Supongamos que y son independientes, la razón media . Traté de resolver: pero esa ecuación no se pudo resolver en muchos casos (sin raíces). ¿Estoy haciendo algo mal? ¿Hay un mejor enfoque? GraciasX 1N ( θ 1 , σ 2 ) X 2N ( θ 2 , σ 2 ) Γ = θ 1 / θ 2 Pr ( - z ( α / 2 ) ) X 1 - Γ X 2 / σ 100(1-α)%
X1norte(θ1,σ2)X2norte(θ2,σ2)Γ=θ1/ /θ2

Pr(-z(α/ /2))X1-ΓX2/ /σ1+γ2z(α/ /2))=1-α
francogrex
fuente
1
El problema es que la razón de dos números de dos distribuciones normales sigue la distribución de Cauchy y, por lo tanto, la varianza no está definida.
66
@mbq: la distribución de Cauchy no presenta problemas para los intervalos de confianza, ya que el CDF es la función de tangente inversa. No es necesario definir la variación para que los CI funcionen. Y la proporción de dos RV normales con media cero es Cauchy, pero no necesariamente dos RV normales con media distinta de cero.
probabilidadislogic
@probabilityislogic Claro, debo dejar de intentar pensar los domingos por la mañana.

Respuestas:

31

El método de Fieller hace lo que usted desea: calcule un intervalo de confianza para el cociente de dos medias, ambas asumidas como muestreadas de distribuciones gaussianas.

Harvey Motulsky
fuente
Son muy buenas referencias, también me gusta que realmente hayas hecho una calculadora para ello (+1). Sin embargo, como se esperaba, en su calculadora usted indica claramente que cuando el intervalo de confianza del denominador incluye cero, no es posible calcular el IC del cociente. Creo que es lo mismo que sucede cuando intento resolver la ecuación cuadrática. supongamos que la varianza es 1, mu1 = 0 y mu2 = 1, N = 10000. No tiene solución.
francogrex
2
gracias por la calculadora en línea Harvey, soy un biólogo típico con antecedentes insuficientes en estadísticas y su calculadora era exactamente lo que necesitaba.
Timtico
Impresionante calculadora, exactamente lo que estaba buscando. Gracias
Alexander
@ harvey-motulsky el enlace al apéndice ya no funciona. Me preguntaba si el material de este apéndice está incluido en la tercera edición de Bioestadística intuitiva.
Gabriel Southern
@GabrielSouthern Gracias por señalar la podredumbre del enlace. Fijo.
Harvey Motulsky
1

Además, si desea calcular el intervalo de confianza de Fieller sin usar mratios(generalmente porque no desea un ajuste simple de lm pero, por ejemplo, un ajuste glmer o glmer.nb), puede usar la siguiente FiellerRatioCIfunción, con el modelo de la salida del modelo, aname el nombre del parámetro numerador, bname el nombre del parámetro denominador. También puede usar directamente la función FiellerRatioCI_basic dando, a, by la matriz de covarianza entre a y b.

Tenga en cuenta que el alfa aquí es 0.05 y está "codificado" en los 1.96 en el código. Puede reemplazarlos por los niveles de cualquier estudiante que prefiera.

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)]))
}

Ejemplo (basado en el ejemplo básico estándar de glm):

 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
fuente