Estoy intentando realizar unas regresiones logísticas (y soy un usuario neófito de R). Inicialmente utilicé "glm" para calcular los coeficientes, el AIC y los valores p; esto funcionó muy bien hasta que me encontré con un conjunto de datos que sufría de separación completa . En [1], Gelman et alia sugieren el uso de un previo (informativo) para abordar este problema; el algoritmo correspondiente se implementa en R como "bayesglm" (en el paquete ARM).
Este es mi problema. Antes, con "glm", calculaba los valores p de la siguiente manera:
mylogit <- bayesglm(a ~ b+c+d+e+f+g+h, data = mydata, family="binomial")
with(mylogit, pchisq(null.deviance - deviance, df.null - df.residual, lower.tail = FALSE))
Hay 53-48=5 grados de libertad:
Null deviance: 71.188 on 53 degrees of freedom
Residual deviance: 37.862 on 48 degrees of freedom
Sin embargo, si utilizo "bayesglm" en lugar de "glm", los grados de libertad resultantes me resultan un poco sorprendentes:
Null deviance: 22.279 on 53 degrees of freedom
Residual deviance: 39.030 on 54 degrees of freedom
Si introduzco la fórmula anterior para obtener un valor p, ¡tengo -1 grados de libertad! ¿Puede alguien ayudarme a obtener una respuesta más sensata (o ayudarme a interpretar esto)?
Por cierto, la documentación sobre el comando "bayesglm" incluye el siguiente comentario ominoso:
Incluimos todos los argumentos de glm() pero no hemos comprobado que todas las opciones (por ejemplo, los offests, los contrastes, la desviación para el modelo nulo) funcionen.
1] Gelman, Andrew, et al. "A weakly informative default prior distribution for logistic and other regression models". The Annals of Applied Statistics (2008): 1360-1383.