Comment interpréter la sortie glm dans R (avec exemple)



La fonction glm() dans R peut être utilisée pour ajuster des modèles linéaires généralisés.

Cette fonction utilise la syntaxe suivante :

glm(formule, famille=gaussienne, données, …)

où:

  • formule : La formule du modèle linéaire (par exemple y ~ x1 + x2)
  • family : la famille statistique à utiliser pour ajuster le modèle. La valeur par défaut est gaussienne, mais d’autres options incluent binomial, Gamma et poisson, entre autres.
  • data : Le nom du bloc de données qui contient les données

En pratique, cette fonction est utilisée le plus souvent pour ajuster des modèles de régression logistique en spécifiant la famille « binomiale ».

L’exemple suivant montre comment interpréter la sortie glm dans R pour un modèle de régression logistique.

Exemple : Comment interpréter la sortie glm dans R

Pour cet exemple, nous utiliserons l’ensemble de données mtcars intégré dans R :

#view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Nous utiliserons les variables disp et hp pour prédire la probabilité qu’une voiture donnée prenne la valeur 1 pour la variable am .

Le code suivant montre comment utiliser la fonction glm() pour adapter ce modèle de régression logistique :

#fit logistic regression model
model <- glm(am ~ disp + hp, data=mtcars, family=binomial)

#view model summary
summary(model)

Call:
glm(formula = am ~ disp + hp, family = binomial, data = mtcars)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9665  -0.3090  -0.0017   0.3934   1.3682  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  1.40342    1.36757   1.026   0.3048  
disp        -0.09518    0.04800  -1.983   0.0474 *
hp           0.12170    0.06777   1.796   0.0725 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 43.230  on 31  degrees of freedom
Residual deviance: 16.713  on 29  degrees of freedom
AIC: 22.713

Number of Fisher Scoring iterations: 8

Voici comment interpréter chaque élément du résultat :

Coefficients et valeurs P

L’ estimation du coefficient dans le résultat indique la variation moyenne du log de probabilité de la variable de réponse associée à une augmentation d’une unité dans chaque variable prédictive.

Par exemple, une augmentation d’une unité de la variable prédictive disp est associée à une variation moyenne de -0,09518 dans le log de probabilité que la variable de réponse am prenne la valeur 1. Cela signifie que des valeurs plus élevées de disp sont associées à une probabilité plus faible. de la variable am prenant la valeur 1.

L’ erreur type nous donne une idée de la variabilité associée à l’estimation du coefficient. Nous divisons ensuite l’estimation du coefficient par l’erreur type pour obtenir la valeur az.

Par exemple, la valeur z pour la variable prédictive disp est calculée comme -.09518 / .048 = -1.983.

La valeur p Pr(>|z|) nous indique la probabilité associée à une valeur z particulière. Cela nous indique essentiellement dans quelle mesure chaque variable prédictive est capable de prédire la valeur de la variable de réponse dans le modèle.

Par exemple, la valeur p associée à la valeur z pour la variable disp est 0,0474. Puisque cette valeur est inférieure à 0,05, nous dirions que disp est une variable prédictive statistiquement significative dans le modèle.

En fonction de vos préférences, vous pouvez décider d’utiliser un niveau de signification de 0,01, 0,05 ou 0,10 pour déterminer si chaque variable prédictive est statistiquement significative ou non.

Déviance nulle et résiduelle

La déviance nulle dans la sortie nous indique dans quelle mesure la variable de réponse peut être prédite par un modèle avec uniquement un terme d’origine.

La déviance résiduelle nous indique dans quelle mesure la variable de réponse peut être prédite par le modèle spécifique que nous ajustons avec p variables prédictives. Plus la valeur est faible, plus le modèle est capable de prédire la valeur de la variable de réponse.

Pour déterminer si un modèle est « utile », nous pouvons calculer la statistique du Chi carré comme suit :

X 2 = Déviance nulle – Déviance résiduelle

avec p degrés de liberté.

Nous pouvons alors trouver la valeur p associée à cette statistique du Chi carré. Plus la valeur p est faible, plus le modèle est capable de s’adapter à l’ensemble de données par rapport à un modèle avec juste un terme d’origine.

Par exemple, dans notre modèle de régression, nous pouvons observer les valeurs suivantes dans la sortie pour l’écart nul et résiduel :

  • Déviance nulle : 43,23 avec df = 31
  • Déviance résiduelle : 16.713 avec df = 29

Nous pouvons utiliser ces valeurs pour calculer la statistique X 2 du modèle :

  • X 2 = Déviance nulle – Déviance résiduelle
  • X2 = 43,23 – 16,713
  • X2 = 26,517

Il existe p = 2 degrés de liberté de variables prédictives.

Nous pouvons utiliser le calculateur du Chi carré vers la valeur P pour découvrir qu’une valeur X 2 de 26,517 avec 2 degrés de liberté a une valeur p de 0,000002.

Puisque cette valeur p est bien inférieure à 0,05, nous conclurions que le modèle est très utile.

AIC

Le critère d’information d’Akaike ( AIC ) est une mesure utilisée pour comparer l’ajustement de différents modèles de régression. Plus la valeur est faible, plus le modèle de régression est capable de s’adapter aux données.

Il est calculé comme suit :

AIC = 2K – 2 ln (L)

où:

  • K : Le nombre de paramètres du modèle.
  • ln (L) : La log-vraisemblance du modèle. Cela nous indique la probabilité que le modèle soit basé sur les données.

La valeur réelle de l’AIC n’a aucun sens.

Cependant, si vous ajustez plusieurs modèles de régression, vous pouvez comparer la valeur AIC de chaque modèle. Le modèle avec l’AIC le plus bas offre le meilleur ajustement.

Connexes : Qu’est-ce qui est considéré comme une bonne valeur AIC ?

Ressources additionnelles

Les didacticiels suivants fournissent des informations supplémentaires sur la façon d’utiliser la fonction glm() dans R :

La différence entre glm et lm dans R
Comment utiliser la fonction de prédiction avec glm dans R

Les didacticiels suivants expliquent comment gérer les erreurs courantes lors de l’utilisation de la fonction glm() :

Comment gérer R Avertissement : glm.fit : l’algorithme n’a pas convergé
Comment gérer : glm.fit : des probabilités ajustées numériquement 0 ou 1 se sont produites

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *