Comment interpréter Null & Déviance résiduelle (avec exemples)



Chaque fois que vous ajustez un modèle linéaire général (comme la régression logistique, la régression de Poisson, etc.), la plupart des logiciels statistiques produisent des valeurs pour la déviance nulle et la déviance résiduelle du modèle.

La déviance nulle 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 un modèle 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.

L’exemple suivant montre comment interpréter la déviance nulle et résiduelle pour un modèle de régression logistique dans R.

Exemple : Interprétation de la déviance nulle et résiduelle

Pour cet exemple, nous utiliserons l’ensemble de données par défaut du package ISLR. Nous pouvons utiliser le code suivant pour charger et afficher un résumé de l’ensemble de données :

#load dataset
data <- ISLR::Default

#view summary of dataset
summary(data)

 default    student       balance           income     
 No :9667   No :7056   Min.   :   0.0   Min.   :  772  
 Yes: 333   Yes:2944   1st Qu.: 481.7   1st Qu.:21340  
                       Median : 823.6   Median :34553  
                       Mean   : 835.4   Mean   :33517  
                       3rd Qu.:1166.3   3rd Qu.:43808  
                       Max.   :2654.3   Max.   :73554 

Cet ensemble de données contient les informations suivantes sur 10 000 individus :

  • défaut : indique si un individu a fait défaut ou non.
  • étudiant : indique si un individu est étudiant ou non.
  • solde : Solde moyen porté par un individu.
  • revenu : Revenu de l’individu.

Nous utiliserons le statut d’étudiant, le solde bancaire et le revenu pour construire un modèle de régression logistique qui prédit la probabilité qu’un individu donné fasse défaut :

#fit logistic regression model
model <- glm(default~balance+student+income, family="binomial", data=data)

#view model summary
summary(model)

Call:
glm(formula = default ~ balance + student + income, family = "binomial", 
    data = data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4691  -0.1418  -0.0557  -0.0203   3.7383  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.087e+01  4.923e-01 -22.080  < 2e-16 ***
balance      5.737e-03  2.319e-04  24.738  < 2e-16 ***
studentYes  -6.468e-01  2.363e-01  -2.738  0.00619 ** 
income       3.033e-06  8.203e-06   0.370  0.71152    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 2920.6  on 9999  degrees of freedom
Residual deviance: 1571.5  on 9996  degrees of freedom
AIC: 1579.5

Number of Fisher Scoring iterations: 8

Nous pouvons observer les valeurs suivantes dans la sortie pour l’écart nul et résiduel :

  • Déviance nulle : 2920,6 avec df = 9999
  • Écart résiduel : 1571,5 avec df = 9996

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

  • X 2 = Déviance nulle – Déviance résiduelle
  • X2 = 2910,6 – 1579,0
  • X2 = 1331,6

Il existe p = 3 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 1331,6 avec 3 degrés de liberté a une valeur p de 0,000000.

Puisque cette valeur p est bien inférieure à 0,05, nous conclurions que le modèle est très utile pour prédire la probabilité qu’un individu donné fasse défaut.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer une régression logistique en pratique en R et Python :

Comment effectuer une régression logistique dans R
Comment effectuer une régression logistique en Python

Ajouter un commentaire

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