CommencerCommencez gratuitement

Courbes ROC pour comparer des modèles de régression logistique

Les courbes ROC peuvent être générées facilement avec le package pROC dans R. Voyons s’il existe une grande différence entre les courbes ROC des quatre modèles de régression logistique utilisés précédemment dans ce cours. Petit rappel :

  • predictions_logit contient des prédictions de probabilité de défaut (PD) utilisant le lien logit par défaut et les variables age, emp_cat, ir_cat et loan_amnt.
  • predictions_probit contient des prédictions de PD utilisant le lien probit et les variables age, emp_cat, ir_cat et loan_amnt.
  • predictions_cloglog contient des prédictions de PD utilisant le lien cloglog et les variables age, emp_cat, ir_cat et loan_amnt.
  • predictions_all_full contient des prédictions de PD utilisant le lien logit par défaut et l’ensemble des sept variables du jeu de données.

Vous allez d’abord tracer les courbes ROC de ces quatre modèles sur un seul graphique. Ensuite, vous examinerez l’aire sous la courbe.

Cet exercice fait partie du cours

<cours>Modélisation du risque de crédit en R</cours>
Voir le cours

Instructions de l’exercice

  • Chargez le package pROC dans votre console R.
  • Créez les objets ROC pour les quatre modèles de régression logistique en utilisant la fonction roc(response, predictor). Rappelez-vous que la réponse est l’indicateur de statut du prêt dans le test_set, que vous pouvez obtenir via test_set$loan_status.
  • Utilisez les objets créés pour construire les courbes ROC. Pour les tracer toutes sur un seul graphique, utilisez plot() pour la première courbe ROC (pour ROC_logit), puis utilisez [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines to add the ROC-curves) pour ajouter les trois autres modèles sur le même graphique.
  • Utilisez l’argument col pour changer la couleur de la courbe de ROC_probit en "blue", celle de ROC_cloglog en "red" et celle de ROC_all_full en "green". Notez que, contrairement à ce qui a été indiqué dans la vidéo, le libellé de l’axe des x est Specificity et non "1-Specificity", ce qui donne un axe allant de 1 à gauche à 0 à droite.
  • Il semble que la fonction de lien n’ait pas un grand impact sur la ROC ici, et que l’amélioration principale provienne de l’ajout de variables dans le modèle. Pour mesurer précisément les performances des courbes ROC, consultez les AUC à l’aide de la fonction auc().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Load the pROC-package


# Construct the objects containing ROC-information
ROC_logit <- roc(test_set$loan_status, predictions_logit)
ROC_probit <- 
ROC_cloglog <-
ROC_all_full <- 

# Draw all ROCs on one plot
plot(___)
lines(___, col=___)
lines(___, col=___)
lines(___, col=___)

# Compute the AUCs



Modifier et exécuter le code