Modello lineare e variabile risposta binaria
Nel video hai visto un esempio di adattamento di un modello lineare a una variabile risposta binaria e quanto velocemente le cose possano andare storte. Hai imparato che, dato l’adattamento lineare, puoi ottenere i valori stimati \(\hat{y}\), che non sono coerenti con la logica del problema, poiché la variabile risposta assume valori 0 e 1.
Usando l’insieme di dati precaricato crab, studierai questo effetto modellando y in funzione di x usando il framework dei GLM.
Ricorda che la formulazione di un GLM è:
glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()
dove specifichi formula, data e family.
Ricorda anche che un GLM con:
- famiglia Gaussiana è un modello lineare (un caso speciale di GLM)
- famiglia Binomiale è un modello di regressione logistica.
Questo esercizio fa parte del corso
Modelli lineari generalizzati in Python
Istruzioni dell'esercizio
- Usando il dataset
crab, definisci la formula del modello in modo cheysia predetta dawidth. - Per adattare un modello lineare usando la formula GLM, usa
Gaussian()per l’argomento family, che assume y continua e approssimativamente distribuita normalmente. - Per adattare un modello logistico usando la formula GLM, usa
Binomial()per l’argomento family. - Adatta un modello usando
glm()con gli argomenti appropriati e usaprint()esummary()per visualizzare i riepiloghi dei modelli stimati.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____.____)