Modelo linear e uma variável resposta binária
No vídeo, você viu um exemplo de ajuste de um modelo linear a uma variável resposta binária e como as coisas podem dar errado rapidamente. Você aprendeu que, dado o ajuste linear, é possível obter valores ajustados \(\hat{y}\) que não fazem sentido para o problema, já que a variável resposta assume os valores 0 e 1.
Usando o conjunto de dados crab pré-carregado, você vai estudar esse efeito modelando y como função de x usando o framework de GLM.
Lembre que a formulação do modelo GLM é:
glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()
em que você especifica formula, data e family.
Além disso, lembre-se de que um GLM com:
- família Gaussiana é um modelo linear (um caso especial de GLMs)
- família Binomial é um modelo de regressão logística.
Este exercício faz parte do curso
Modelos Lineares Generalizados em Python
Instruções do exercício
- Usando o conjunto de dados
crab, defina a fórmula do modelo para queyseja predita porwidth. - Para ajustar um modelo linear usando a fórmula de GLM, use
Gaussian()para o argumento family, o que assume que y é contínua e aproximadamente normal. - Para ajustar um modelo logístico usando a fórmula de GLM, use
Binomial()para o argumento family. - Ajuste um modelo usando
glm()com os argumentos apropriados e useprint()esummary()para ver os resumos dos modelos ajustados.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____.____)