He construido una regresión logística donde la variable de resultado se está curando después de recibir el tratamiento ( Cure
vs. No Cure
). Todos los pacientes en este estudio recibieron tratamiento. Estoy interesado en ver si tener diabetes está asociado con este resultado.
En R mi salida de regresión logística se ve de la siguiente manera:
Call:
glm(formula = Cure ~ Diabetes, family = binomial(link = "logit"), data = All_patients)
...
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.2735 0.1306 9.749 <2e-16 ***
Diabetes -0.5597 0.2813 -1.990 0.0466 *
...
Null deviance: 456.55 on 415 degrees of freedom
Residual deviance: 452.75 on 414 degrees of freedom
(2 observations deleted due to missingness)
AIC: 456.75
Sin embargo, el intervalo de confianza para el odds ratio incluye 1 :
OR 2.5 % 97.5 %
(Intercept) 3.5733333 2.7822031 4.646366
Diabetes 0.5713619 0.3316513 1.003167
Cuando hago una prueba de chi cuadrado con estos datos, obtengo lo siguiente:
data: check
X-squared = 3.4397, df = 1, p-value = 0.06365
Si desea calcularlo usted mismo, la distribución de diabetes en los grupos curados y no curados es la siguiente:
Diabetic cure rate: 49 / 73 (67%)
Non-diabetic cure rate: 268 / 343 (78%)
Mi pregunta es: ¿por qué los valores p y el intervalo de confianza incluido 1 no están de acuerdo?
r
hypothesis-testing
logistic
generalized-linear-model
odds-ratio
SniperBro2000
fuente
fuente
confint()
. Es decir, la probabilidad fue perfilada. De esa manera, obtienes CI que son análogos al LRT. Su cálculo es correcto, pero en su lugar constituyen los CI de Wald. Hay más información en mi respuesta a continuación.Respuestas:
Con los modelos lineales generalizados, hay tres tipos diferentes de pruebas estadísticas que se pueden ejecutar. Estos son: pruebas de Wald, pruebas de razón de probabilidad y pruebas de puntaje. El excelente sitio de ayuda de estadísticas de UCLA tiene una discusión de ellos aquí . La siguiente figura (copiada de su sitio) ayuda a ilustrarlos:
summary.glm()
confint()
profile()
A continuación, perfilo los coeficientes en la escala del predictor lineal y ejecuto la prueba de razón de probabilidad explícitamente (vía
anova.glm()
). Obtengo los mismos resultados que tú:Como @JWilliman señaló en un comentario (ahora eliminado), en
R
, también puede obtener un valor p basado en la puntuación utilizandoanova.glm(model, test="Rao")
. En el siguiente ejemplo, nota que el valor p no es exactamente lo mismo que en la prueba de chi-cuadrado anterior, porque por defecto,R
'schisq.test()
se aplica una corrección de continuidad. Si cambiamos esa configuración, los valores p coinciden:fuente