CommencezCommencez gratuitement

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

Les courbes ROC se créent facilement avec le paquet 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. Petite mise en garde :

  • predictions_logit contient des prédictions de probabilité de défaut (PD) en 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 en utilisant le lien probit et les variables age, emp_cat, ir_cat et loan_amnt.
  • predictions_cloglog contient des prédictions de PD en utilisant le lien cloglog et les variables age, emp_cat, ir_cat et loan_amnt.
  • predictions_all_full contient des prédictions de PD en utilisant le lien logit par défaut et l'ensemble des sept variables du jeu de données.

Vous tracerez d'abord les courbes ROC de ces quatre modèles dans un seul graphique. Ensuite, vous examinerez l'aire sous la courbe.

Cette activité fait partie du cours

Modélisation du risque de crédit en R

Voir le cours

Instructions de l’exercice

  • Chargez le paquet pROC dans votre console R.
  • Construisez les objets ROC pour les quatre modèles de régression logistique à l'aide de la fonction roc(response, predictor). Rappelez-vous que la réponse est l'indicateur du statut du prêt dans le test_set, que vous pouvez obtenir avec test_set$loan_status.
  • Utilisez les objets créés pour construire les courbes ROC. Pour toutes les tracer 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 au même graphique.
  • Utilisez l'argument col pour changer la couleur de la courbe de ROC_probit en "blue", de ROC_cloglog en "red" et de ROC_all_full en "green". Notez que, contrairement à ce qui a été mentionné dans la vidéo, l'étiquette 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 le principal levier d'une meilleure ROC soit l'inclusion d'un plus grand nombre de variables dans un modèle. Pour mesurer précisément la performance des courbes ROC, examinez 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