Modèle linéaire et variable réponse binaire
Dans la vidéo, vous avez vu un exemple d’ajustement d’un modèle linéaire à une variable réponse binaire et à quelle vitesse cela peut dérailler. Vous avez appris qu’avec une droite de régression linéaire, vous pouvez obtenir des valeurs ajustées \(\hat{y}\) qui ne respectent pas la logique du problème, puisque la variable réponse ne prend que les valeurs 0 et 1.
À l’aide du jeu de données crab préchargé, vous allez étudier cet effet en modélisant y en fonction de x dans le cadre des GLM.
Rappelez-vous que la formulation d’un GLM est :
glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()
où vous précisez formula, data et family.
Rappelez aussi qu’un GLM avec :
- la famille Gaussian est un modèle linéaire (un cas particulier des GLM)
- la famille Binomial est un modèle de régression logistique.
Cet exercice fait partie du cours
Modèles linéaires généralisés en Python
Instructions
- En utilisant le jeu de données
crab, définissez la formule du modèle de sorte queysoit prédite parwidth. - Pour ajuster un modèle linéaire via la formule GLM, utilisez
Gaussian()pour l’argument family, ce qui suppose que y est continue et approximativement distribuée normalement. - Pour ajuster un modèle logistique via la formule GLM, utilisez
Binomial()pour l’argument family. - Ajustez un modèle avec
glm()avec les arguments appropriés et utilisezprint()etsummary()pour afficher les résumés des modèles ajustés.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____.____)