Teóricamente, ¿el término de intercepción en un modelo de regresión logística captura todos los efectos no observados?
Esta es una pregunta interesante, y puedo ver cómo con algunos experimentos simples, uno podría pensar que este es el caso. De hecho, en mi primer intento de configurar esto, en realidad creé una demostración que solo estimaría incorrectamente la intercepción cuando especifiqué mal el modelo; de lo contrario, ¡todas las estimaciones de coeficientes estaban bien!
En una regresión OLS, el término de error es donde nos gustaría todos los efectos para los que no hemos tenido en cuenta ... pero si hay efectos para los que no hemos tenido en cuenta (es decir, el modelo está mal especificado) entonces tenderán a volver la cabeza en otras características del modelo, particularmente si existen relaciones confusas entre las variables. Esto también es cierto para todos los demás métodos de regresión convencionales: si el modelo está mal especificado, las estimaciones de los coeficientes no son confiables (pero tal vez las predicciones sean útiles o el modelo tenga algún otro propósito útil).
Por ejemplo, aquí hay un modelo binomial donde solo hay dos características y cierta dependencia entre ellas. Lo he manipulado de tal manera que los coeficientes deberían serPero si omitimos de la estimación del modelo, todos nuestros coeficientes se estiman incorrectamente, ¡y de manera salvaje!β0 0= 10 ,β1= - 5 ,β2= 5.X2
set.seed(13)
N <- 100
inv_logit <- function(x){
ifelse(x< -20, -20, x)
out <- 1/(1+exp(-x))
return(out)
}
x0 <- rep(1, N)
x1 <- rnorm(N)
x2 <- rnorm(N, mean=10+3*x1-0.5*x1^2)
zTransform <- cbind(x0, x1, x2)%*%c(-10,-5,1)
summary(zTransform)
yObs <- rbinom(N, size=1, prob=inv_logit(zTransform))
badModel <- glm(yObs~x1, family=binomial(link="logit"))
summary(badModel)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.1404 0.2327 -0.604 0.546
x1 -1.3417 0.3041 -4.412 1.02e-05 ***
Pero si especificamos correctamente el modelo, recuperamos nuestros coeficientes, pero con algún error de estimación.
goodModel <- glm(yObs~x1+x2, family=binomial(link="logit"))
summary(goodModel)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -9.9512 2.9331 -3.393 0.000692 ***
x1 -4.8657 1.1918 -4.083 4.45e-05 ***
x2 0.9970 0.2948 3.382 0.000720 ***
En otras palabras, en un modelo de regresión logística con un ajuste perfecto (es decir, se incluyen todas las variables relevantes), el término de intercepción debe ser cero ¿verdad?
Por qué sería este el caso? Supongamos que está realizando una regresión logística y no tiene covariables; por ejemplo, su experimento está tirando un dado y cada 6 es un "éxito", y cualquier otro resultado es un fracaso (quizás esté haciendo un control de calidad para un casino). Si suponemos que los dados son justos, estimaría el coeficiente en un valor distinto de cero simplemente porque hay más resultados desfavorables que resultados favorables en sus datos.
Es importante entender que has hecho dos preguntas diferentes en tu publicación. La primera pregunta si la intersección captura efectos no modelados (¡no lo hace! ¡Todas las estimaciones de coeficientes son incorrectas cuando el modelo está mal especificado!) La segunda pregunta pregunta si la intersección debería ser cero, y la respuesta también es no, porque el término de intercepción está fijado por la relación de "éxitos" a "fracasos".