8 votos

¿Capta el intercepto de una regresión logística los efectos no observados?

En teoría, ¿el término de intercepción de un modelo de regresión logística recoge todos los efectos no observados?

En otras palabras, en un modelo de regresión logística con un ajuste perfecto (es decir, con todas las variables relevantes incluidas), el término de intercepción debería ser cero, ¿no?

7voto

user777 Puntos 10934

En teoría, ¿el término de intercepción de un modelo de regresión logística recoge 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, realmente creé una demostración que sólo estimaba incorrectamente el intercepto cuando especificaba mal el modelo -- ¡por lo demás, todas las estimaciones de los coeficientes estaban bien!

En una regresión OLS, el término de error es donde como pero si hay efectos que no hemos tenido en cuenta (es decir, el modelo está mal especificado), tenderán a aparecer en otras características del modelo, especialmente si hay relaciones de confusión entre las variables. Lo mismo ocurre con todos los demás métodos de regresión convencionales: si el modelo está mal especificado, las estimaciones de los coeficientes no son fiables (pero quizá las predicciones sean útiles o el modelo sirva para algún otro propósito).

Por ejemplo, aquí hay un modelo binomial en el que sólo hay dos características, y cierta dependencia entre ellas. Lo he manipulado de tal manera que los coeficientes deben ser $\beta_0=10, \beta_1=-5, \beta_2=5.$ Pero si omitimos $x_2$ de la estimación del modelo, todos nuestros coeficientes se estiman de forma incorrecta, ¡y de forma salvaje!

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, con todas las variables relevantes incluidas), el término de intercepción debería ser cero, ¿no?

¿Por qué? Supongamos que está realizando una regresión logística y no tiene covariables; por ejemplo, su experimento consiste en lanzar un dado y cada 6 es un "éxito", y cualquier otro resultado es un fracaso (tal vez esté realizando un control de calidad para un casino). Si asumimos que los dados son justos, se estimaría el coeficiente en algún valor distinto de cero simplemente porque hay más resultados desfavorables que favorables en sus datos.

Es importante entender que ha pedido dos diferentes preguntas en su puesto. La primera pregunta es si el intercepto capta los efectos no modelados (¡no lo hace! Todas las estimaciones de coeficientes son erróneas cuando el modelo está mal especificado). La segunda pregunta se refiere a si el intercepto debería ser cero, y la respuesta también es no, porque el término del intercepto está fijado por la proporción de "éxitos" y "fracasos".

0 votos

Gracias, su respuesta me ha ayudado mucho. Así que, básicamente, los efectos no observados sólo se contabilizan en la diferencia entre el valor máximo de lnLikelihood (=0) y la función lnLikelihood que tiene en cuenta todas las variables independientes, ¿no?

2 votos

No entiendo su pregunta. La especificación correcta del modelo incluye todos los rasgos relevantes, lo cual es un poco un dilema, porque el mundo es complicado y dar cuenta de todos los efectos es generalmente imposible. Los efectos omitidos pueden significar que las estimaciones de los coeficientes sean bastante incorrectas.

0 votos

Como ha dicho, dado que un modelo rara vez puede captar todos los efectos, siempre habrá efectos omitidos. Me preguntaba si se puede encontrar "un indicador" dentro de un modelo estándar de regresión logística binaria que indique el tamaño de estos efectos omitidos.

2voto

Maurice Puntos 123

No estoy seguro de si cualquier Un modelo, aunque sea lineal, con un ajuste "perfecto" implica que el término de intercepción debe ser 0. En estos casos ayuda pensar en una regresión lineal simple. La forma en que entiendo el intercepto es que fija algún valor razonable para la variable y. Simplemente muestra el valor que toma la variable y incluso si todas las x son 0. Debe haber una buena razón para pensar por qué debe ser 0. No creo que tenga nada que ver con las inobservables. En un modelo lineal, permite a) un mejor ajuste y b) garantiza que los residuos sumen 1.

1voto

Aksakal Puntos 11351

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 debería ser cero, ¿verdad?

No. El intercepto capta la parte constante del peligro.

1voto

Quentin Puntos 166

El intercepto permite que el hiperplano lineal se mueva "hacia los lados". Por ejemplo, en una dimensión mueve el sigmoide a la izquierda y a la derecha, cambiando efectivamente el lugar donde se activa la regresión.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X