Kom igångKom igång gratis

Linjär modell och en binär responsvariabel

I videon såg du ett exempel på hur en linjär modell anpassas till en binär responsvariabel och hur det snabbt kan gå fel. Du lärde dig att de anpassade värdena \(\hat{y}\) som den linjära modellen producerar inte stämmer överens med problemets logik, eftersom responsvariabeln bara antar värdena 0 och 1.

Med det förinstallerade crab-datasetet ska du undersöka detta fenomen genom att modellera y som en funktion av x inom GLM-ramverket.

Kom ihåg att GLM-modellen formuleras så här:

glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()

där du anger formula, data och family.

Kom även ihåg att en GLM med:

  • gaussisk familj är en linjär modell (ett specialfall av GLM)
  • binomialfamilj är en logistisk regressionsmodell.

Den här övningen är en del av kursen

Generaliserade linjära modeller i Python

Visa kurs

Övningsinstruktioner

  • Använd crab-datasetet och definiera modellformeln så att y prediceras av width.
  • För att anpassa en linjär modell med GLM-formeln, använd Gaussian() som family-argument – detta antar att y är kontinuerlig och approximativt normalfördelad.
  • För att anpassa en logistisk modell med GLM-formeln, använd Binomial() som family-argument.
  • Anpassa en modell med glm() och lämpliga argument, och använd sedan print() och summary() för att granska sammanfattningarna av de anpassade modellerna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____.____)
Redigera och kör kod