Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment calculer R-carré pour glm dans R



Souvent, lorsque nous ajustons un modèle de régression linéaire, nous utilisons le R au carré pour évaluer dans quelle mesure un modèle s’adapte aux données.

R au carré représente la proportion de la variance de la variable de réponse qui peut être expliquée par les variables prédictives dans un modèle de régression.

Ce nombre va de 0 à 1, les valeurs plus élevées indiquant un meilleur ajustement du modèle.

Cependant, il n’existe pas de valeur R au carré pour les modèles linéaires généraux tels que les modèles de régression logistique et les modèles de régression de Poisson .

Au lieu de cela, nous pouvons calculer une métrique connue sous le nom de R-Squared de McFadden , qui va de 0 à un peu moins de 1, avec des valeurs plus élevées indiquant un meilleur ajustement du modèle.

Nous utilisons la formule suivante pour calculer le R carré de McFadden :

R-Squared de McFadden = 1 – ( modèle log de vraisemblance / log de vraisemblance nul )

où:

  • modèle de vraisemblance logarithmique : valeur de vraisemblance logarithmique du modèle ajusté actuel
  • log de vraisemblance nulle : valeur de vraisemblance log du modèle nul (modèle avec interception uniquement)

En pratique, des valeurs supérieures à 0,40 indiquent qu’un modèle s’adapte très bien aux données.

L’exemple suivant montre comment calculer le R-carré de McFadden pour un modèle de régression logistique dans R.

Exemple : Calcul du R au carré de McFadden dans R

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 :

#install and load ISLR package
install.packages('ISLR')
library(ISLR)

#define 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  

#find total observations in dataset
nrow(data)

[1] 10000

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~student+balance+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

Ensuite, nous utiliserons la formule suivante pour calculer la valeur R au carré de McFadden pour ce modèle :

#calculate McFadden's R-squared for model
with(summary(model), 1 - deviance/null.deviance)

[1] 0.4619194

La valeur R au carré de McFadden s’avère être 0,4619194 . Cette valeur est assez élevée, ce qui indique que notre modèle s’adapte bien aux données et possède un pouvoir prédictif élevé.

Notez également que nous pourrions également utiliser la fonction pR2() du package pscl pour calculer la valeur R-carré de McFadden pour le modèle :

#install and load pscl package
install.packages('pscl')
library(pscl)

#calculate McFadden's R-squared for model
pR2(model)['McFadden']

 McFadden 
0.4619194

Notez que cette valeur correspond à celle calculée précédemment.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment calculer R-carré dans R
Comment calculer le R-carré ajusté en R
Qu’est-ce qu’une bonne valeur R au carré ?

Ajouter un commentaire

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