ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Usando o conjunto de dados crab, defina a fórmula do modelo para que y seja predita por width.
  • 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 use print() e summary() 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(____.____)
Editar e executar o código