Modelo lineal y variable respuesta binaria
En el vídeo, viste un ejemplo de ajuste de un modelo lineal a una variable respuesta binaria y cómo las cosas pueden torcerse rápidamente. Aprendiste que, dado el ajuste lineal, puedes obtener valores ajustados \(\hat{y}\) que no tienen sentido con la lógica del problema, ya que la variable respuesta solo toma valores 0 y 1.
Usando el conjunto de datos precargado crab, estudiarás este efecto modelando y como función de x usando el marco de trabajo de GLM.
Recuerda que la formulación de un GLM es:
glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()
donde especificas formula, data y family.
Además, recuerda que un GLM con:
- la familia Gaussian es un modelo lineal (un caso particular de los GLM)
- la familia Binomial es un modelo de regresión logística.
Este ejercicio forma parte del curso
Modelos lineales generalizados en Python
Instrucciones del ejercicio
- Usando el conjunto de datos
crab, define la fórmula del modelo de modo queysea predicha porwidth. - Para ajustar un modelo lineal usando la fórmula de GLM, utiliza
Gaussian()para el argumento family, que asume que y es continua y aproximadamente normal. - Para ajustar un modelo logístico usando la fórmula de GLM, utiliza
Binomial()para el argumento family. - Ajusta un modelo con
glm()usando los argumentos adecuados y usaprint()ysummary()para ver los resúmenes de los modelos ajustados.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define model formula
formula = '____ ~ ____'
# Define probability distribution for the response variable for
# the linear (LM) and logistic (GLM) model
family_LM = sm.families.____
family_GLM = sm.families.____
# Define and fit a linear regression model
model_LM = glm(formula = ____, data = ____, family = ____).fit()
print(____.____)
# Define and fit a logistic regression model
model_GLM = glm(formula = ____, data = ____, family = ____).fit()
print(____.____)