Voy a intentar responder a su pregunta con un ejemplo práctico.
Desde el mtcars
en R{datasets}, podemos ejecutar una regresión logística para modelar la variable am Transmission (0 = automatic, 1 = manual)
- es decir, si un determinado modelo de coche tiene transmisión automática o manual - utilizando mpg
(millas por galón) y qsec
(tiempo del cuarto de milla) como variables explicativas.
En caso de que no esté familiarizado con el conjunto de datos, esta es su cabeza:
mpg cyl disp hp drat wt qsec vs am gear carg
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Por lo tanto, se utilizaría una llamada como:
Call: glm(formula = as.factor(am) ~ mpg + qsec, family = "binomial",
data = mtcars)
Coefficients:
(Intercept) mpg qsec
30.116 2.213 -4.244
Degrees of Freedom: 31 Total (i.e. Null); 29 Residual
Null Deviance: 43.23
Residual Deviance: 7.504 AIC: 13.5
Y el coeficiente de la variable explicativa mpg
sería $\hat\beta_1 =2.212745$ (el valor exacto), que como ha mencionado, corresponde al aumento esperado de la variable independiente prevista $\log(odds)$ del coche con transmisión 1
(manual) por cada incremento unitario de la variable explicativa mpg
:
$\large \color{red}{\text{log}} \left[\color{blue}{\text{odds(p(Y=1))}}\right]=\color{red}{\text{log}}\left(\frac{\hat p\,(Y=1)}{1-\hat p\,(Y=1)}\right) = X\hat\beta = \hat\beta_o + \hat\beta_1\, \text{mpg} + \hat\beta_2 \,\text{qsec} $
Veamos primero el valor estimado para la primera entrada Mazda RX4
con los valores del conjunto de datos:
predict(fit)[1]
Mazda RX4
6.734753
Si ahora dejamos el resto del conjunto de datos como está, pero aumentamos todos los valores del mpg
variable por $1$ : mtcars$mpg <- mtcars$mpg + 1
El mpg
para el Mazda RX4 será 22
en lugar del original 21
y el valor predicho utilizando el mismo modelo,
predict(fit, newdata = mtcars) # This new mtcars has an mpg variable increased by 1.
Mazda RX4
8.9474982
Esto puede reproducirse fácilmente de forma "manual", añadiendo el coeficiente del modelo al valor original estimado:
predict(fit)[1] + fit$coefficients[2] # 6.734753 + 2.212745
Mazda RX4
8.947498
Así que los conceptos parecen claros, y espero que esto ilustre el significado con un ejemplo. Como puede ver, sólo aumentamos la variable correspondiente al coeficiente que estábamos considerando, dejando todas las demás variables del modelo sin modificar.