Supongamos que voy a hacer una regresión logística univariada en varias variables independientes, como esta:
mod.a <- glm(x ~ a, data=z, family=binominal("logistic"))
mod.b <- glm(x ~ b, data=z, family=binominal("logistic"))
Hice una comparación de modelo (prueba de razón de probabilidad) para ver si este modelo es mejor que el modelo nulo con este comando
1-pchisq(mod.a$null.deviance-mod.a$deviance, mod.a$df.null-mod.a$df.residual)
Luego construí otro modelo con todas las variables.
mod.c <- glm(x ~ a+b, data=z, family=binomial("logistic"))
Para ver si la variable es estadísticamente significativa en el modelo multivariante, utilicé el lrtestcomando deepicalc
lrtest(mod.c,mod.a) ### see if variable b is statistically significant after adjustment of a
lrtest(mod.c,mod.b) ### see if variable a is statistically significant after adjustment of b
Me pregunto si el pchisqmétodo y el lrtestmétodo son equivalentes para hacer la prueba de loglikelihood. Como no sé cómo usar lrtestpara el modelo logístico univado.
r
logistic
diagnostic
lokheart
fuente
fuente

epicalcfue eliminado ( fuente ). Una alternativa podría serlmtest.Respuestas:
Básicamente, sí, siempre que use la diferencia correcta en la probabilidad de registro:
y no la desviación para el modelo nulo que es igual en ambos casos. El número de df es el número de parámetros que difieren entre los dos modelos anidados, aquí df = 1. Por cierto, puede mirar el código fuente
lrtest()simplemente escribiendoen el indicador R.
fuente
anova(model1, model0)también funcionará.glm(output ~ 1, data=z, family=binomial("logistic"))sería un modelo nulo más natural, que dice queoutputse explica por un término constante (la intercepción) / La intercepción está implícita en todos sus modelos, por lo que está probando el efectoadespués de contabilizar la intercepción.Una alternativa es el
lmtestpaquete, que tiene unalrtest()función que acepta un solo modelo. Aquí está el ejemplo de?lrtesten ellmtestpaquete, que es para un LM pero hay métodos que el trabajo con GLMs:fuente
fm1tiene una probabilidad de registro más baja y, por lo tanto, un peor ajuste quefm2. El LRT nos dice que el grado en que hicimosfm1un modelo más pobre de lo quefm2es inesperadamente grande si los términos que son diferentes entre los modelos fueron útiles (explicó la respuesta).lrtest(fm2)no se compara confm1nada, el modelofm2se compara con que en ese caso si, como se indica en la salida, lo siguiente:con ~ 1. Ese modelo, el modelo nulo, dice que el mejor predictor decones la media muestral decon(el término de intercepción / constante).