59 votos

¿Por qué hay una diferencia entre calcular un intervalo de confianza del 95% de regresión logística y manualmente utilizando la función confint() en R?

Queridos todos: me he dado cuenta de algo extraño que no puedo explicar, puede usted? En resumen: el manual de enfoque para calcular un intervalo de confianza en un modelo de regresión logística, y la función de R confint() dar resultados diferentes.

He estado yendo a través de Hosmer & Lemeshow del Aplicó la regresión logística (2ª edición). En el capitulo 3 se presenta un ejemplo de cálculo de las odds ratio e intervalo de confianza 95%. El uso de R, que fácilmente se puede reproducir el modelo:

Call:
glm(formula = dataset$CHD ~ as.factor(dataset$dich.age), family = "binomial")

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.734  -0.847  -0.847   0.709   1.549  

Coefficients:
                             Estimate Std. Error z value Pr(>|z|)    
(Intercept)                   -0.8408     0.2551  -3.296  0.00098 ***
as.factor(dataset$dich.age)1   2.0935     0.5285   3.961 7.46e-05 ***
---
Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 136.66  on 99  degrees of freedom
Residual deviance: 117.96  on 98  degrees of freedom
AIC: 121.96

Number of Fisher Scoring iterations: 4

Sin embargo, al calcular los intervalos de confianza de los parámetros, puedo obtener un intervalo diferente a la dada en el texto:

> exp(confint(model))
Waiting for profiling to be done...
                                 2.5 %     97.5 %
(Intercept)                  0.2566283  0.7013384
as.factor(dataset$dich.age)1 3.0293727 24.7013080

Hosmer & Lemeshow sugieren la siguiente fórmula:

$$ e^{[\hat\beta_1\pm z_{1-\alpha/2}\times\hat{\text{SE}}(\hat\beta_1)]} $$

y que el cálculo del intervalo de confianza para as.factor(dataset$dich.age)1 (2.9, el 22,9).

Esto parece sencillo hacer en R:

# upper CI for beta
exp(summary(model)$coefficients[2,1]+1.96*summary(model)$coefficients[2,2])
# lower CI for beta
exp(summary(model)$coefficients[2,1]-1.96*summary(model)$coefficients[2,2])

da la misma respuesta que el libro.

Sin embargo, cualquier pensamiento sobre el por qué de confint() parece dar resultados diferentes? He visto un montón de ejemplos de personas que utilizan confint().

51voto

DavLink Puntos 101

Después de haber obtenido los datos de la accompagnying sitio web, esto es lo que yo haría:

chdage <- read.table("chdage.dat", header=F, col.names=c("id","age","chd"))
chdage$aged <- ifelse(chdage$age>=55, 1, 0)
mod.lr <- glm(chd ~ aged, data=chdage, family=binomial)
summary(mod.lr)

El 95% CIs basado en el perfil de probabilidad se obtiene con

require(MASS)
exp(confint(mod.lr))

Esto a menudo es el valor predeterminado si el paquete MASS se carga automáticamente. En este caso, puedo conseguir

                2.5 %     97.5 %
(Intercept) 0.2566283  0.7013384
aged        3.0293727 24.7013080

Ahora, si quiero comparar con un 95% de Wald CIs (basado en la normalidad asintótica) como el que se calcula con la mano, yo usaría confint.default() ; esto se obtiene:

                2.5 %     97.5 %
(Intercept) 0.2616579  0.7111663
aged        2.8795652 22.8614705

Wald CIs son buenos en la mayoría de las situaciones, aunque el perfil de probabilidad basado puede ser útil con complejo de estrategias de muestreo. Si desea aferrarse a la idea de cómo funcionan, aquí está un breve resumen de los principales principios: intervalos de Confianza por el perfil método de probabilidad, con aplicaciones en epidemiología veterinaria. También puede echar un vistazo a Venables y Ripley MASIVA de libros, §8.4), páginas 220-221.

40voto

Ben Bolker Puntos 8729

Siguiente: perfil de los intervalos de confianza son más fiables (la elección del punto de corte para la probabilidad implica un asintótica (muestra grande) asunción, pero esta es mucho más débil de la hipótesis de que la cuadrática-probabilidad-de la superficie de la asunción subyacente de la Wald intervalos de confianza). Que yo sepa, no hay ningún argumento para la Wald estadísticas sobre el perfil de los intervalos de confianza, salvo que la Wald estadísticas son mucho más rápida de calcular y puede ser "lo suficientemente bueno" en muchas circunstancias (pero a veces camino: buscar el Hauck-Donner efecto).

20voto

Psycho Bob Puntos 661

Creo que si te fijas en el archivo de ayuda para confint() que usted encontrará en el intervalo de confianza se construye un intervalo de "perfil" en lugar de un intervalo de confianza de Wald (su fórmula de HL).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X