LoslegenKostenlos starten

ROC-Kurven zum Vergleich logistischer Regressionsmodelle

ROC-Kurven lassen sich in R mit dem pROC-Paket ganz einfach erstellen. Schau dir an, ob es große Unterschiede zwischen den ROC-Kurven der vier logistischen Regressionsmodelle gibt, die wir zuvor im Kurs verwendet haben. Vorab ein kurzer Hinweis:

  • predictions_logit enthält PD-Vorhersagen (Probability of Default) mit der Standard-Logit-Linkfunktion und den Variablen age, emp_cat, ir_cat und loan_amnt.
  • predictions_probit enthält PD-Vorhersagen mit der Probit-Linkfunktion und den Variablen age, emp_cat, ir_cat und loan_amnt.
  • predictions_cloglog enthält PD-Vorhersagen mit der cloglog-Linkfunktion und den Variablen age, emp_cat, ir_cat und loan_amnt.
  • predictions_all_full enthält PD-Vorhersagen mit der Standard-Logit-Linkfunktion und allen sieben Variablen im Datensatz.

Zuerst zeichnest du die ROC-Kurven dieser vier Modelle in einem Plot. Danach schaust du dir die Fläche unter der Kurve an.

Diese Übung ist Teil des Kurses

<Kurs>Kreditrisikomodellierung in R</Kurs>
Kurs ansehen

Übungsanweisungen

  • Lade das pROC-Paket in deiner R-Konsole.
  • Erzeuge die ROC-Objekte für die vier logistischen Regressionsmodelle mit der Funktion roc(response, predictor). Denk daran: Die Response ist der Kreditstatus-Indikator im test_set, den du über test_set$loan_status erhältst.
  • Verwende die zuvor erzeugten Objekte, um ROC-Kurven zu konstruieren. Um alle in einem Plot darzustellen, nutze plot() für die zuerst gezeichnete ROC-Kurve (für ROC_logit) und füge die anderen drei Modelle mit lines() zum selben Plot hinzu.
  • Nutze das Argument col, um die Farbe der Kurve von ROC_probit auf "blue", ROC_cloglog auf "red" und ROC_all_full auf "green" zu setzen. Beachte: Anders als im Video besprochen ist die x-Achsenbeschriftung Specificity und nicht "1-Specificity". Die Achse verläuft daher links von 1 nach rechts zu 0.
  • Es scheint, dass die Linkfunktion hier keinen großen Einfluss auf die ROC hat und der wichtigste Hebel für eine bessere ROC die Aufnahme zusätzlicher Variablen ins Modell ist. Um die Performance der ROC-Kurven genau zu beurteilen, schau dir die AUCs mit der Funktion auc() an.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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



Code bearbeiten und ausführen