Queridos todos, he notado algo extraño que no puedo explicar, ¿verdad? En resumen: el enfoque manual para calcular un intervalo de confianza en un modelo de regresión logística y la función R confint()
dan resultados diferentes.
He estado pasando por la regresión logística aplicada de Hosmer & Lemeshow (2a edición). En el tercer capítulo hay un ejemplo de cálculo de la razón de posibilidades y el intervalo de confianza del 95%. Usando R, puedo reproducir fácilmente 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, cuando calculo los intervalos de confianza de los parámetros, obtengo un intervalo diferente al indicado 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 y Lemeshow sugieren la siguiente fórmula:
y calculan el intervalo de confianza para as.factor(dataset$dich.age)1
ser (2.9, 22.9).
Esto parece sencillo de 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, ¿alguna idea de por qué confint()
parece dar resultados diferentes? He visto muchos ejemplos de personas que usan confint()
.
fuente
Respuestas:
Después de obtener los datos del sitio web adjunto , así es como lo haría:
Los IC del 95% basados en la probabilidad de perfil se obtienen con
Esto suele ser el valor predeterminado si el
MASS
paquete se carga automáticamente. En este caso, me saleAhora, si quisiera comparar con el 95% de los CI de Wald (basados en la normalidad asintótica) como el que calculó a mano, usaría en su
confint.default()
lugar; esto produceLos IC de Wald son buenos en la mayoría de las situaciones, aunque el perfil basado en la probabilidad puede ser útil con estrategias de muestreo complejas. Si desea comprender la idea de cómo funcionan, aquí hay una breve descripción de los principios principales: Intervalos de confianza por el método de probabilidad de perfil, con aplicaciones en epidemiología veterinaria . También puede echar un vistazo al libro MASS de Venables y Ripley, §8.4, pp. 220-221.
fuente
Seguimiento: los intervalos de confianza del perfil son más confiables (elegir el punto de corte apropiado para la probabilidad implica una suposición asintótica (muestra grande), pero esta es una suposición mucho más débil que la suposición de la superficie de probabilidad cuadrática subyacente a los intervalos de confianza de Wald). Hasta donde yo sé, no hay argumento para las estadísticas de Wald sobre los intervalos de confianza del perfil, excepto que las estadísticas de Wald son mucho más rápidas de calcular y pueden ser "lo suficientemente buenas" en muchas circunstancias (pero a veces fuera de lugar: busque Hauck- Efecto Donner).
fuente
Creo que si busca confint () en el archivo de ayuda, encontrará que el intervalo de confianza que se está construyendo es un intervalo de "perfil" en lugar de un intervalo de confianza de Wald (su fórmula de HL).
fuente