Aan de slagGa gratis aan de slag

ROC-curves om logistische regressiemodellen te vergelijken

ROC-curves kun je eenvoudig maken met het pROC-pakket in R. Laten we kijken of er een groot verschil is tussen de ROC-curves voor de vier logistische regressiemodellen die eerder in deze cursus zijn gebruikt. Even een heads-up:

  • predictions_logit bevat probability of default (PD)-voorspellingen met de standaard logit-link en de variabelen age, emp_cat, ir_cat en loan_amnt.
  • predictions_probit bevat PD-voorspellingen met de probit-link en de variabelen age, emp_cat, ir_cat en loan_amnt.
  • predictions_cloglog bevat PD-voorspellingen met de cloglog-link en de variabelen age, emp_cat, ir_cat en loan_amnt.
  • predictions_all_full bevat PD-voorspellingen met de standaard logit-link en alle zeven variabelen in de gegevensset.

Je tekent eerst de ROC-curves voor deze vier modellen in één plot. Daarna kijk je naar de oppervlakte onder de curve.

Deze oefening maakt deel uit van de cursus

Kredietrisicomodellering in R

Cursus bekijken

Oefeninstructies

  • Laad het pROC-pakket in je R-console.
  • Maak de ROC-objecten voor de vier logistische regressiemodellen met de functie roc(response, predictor). Onthoud dat de response de leningstatus-indicator in de test_set is, die je kunt opvragen via test_set$loan_status.
  • Gebruik de zojuist gemaakte objecten om ROC-curves te tekenen. Om ze allemaal in één plot te zetten, gebruik je plot() voor de eerste getekende ROC-curve (voor ROC_logit), en gebruik je [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines om de ROC-curves toe te voegen) voor de andere drie modellen in dezelfde plot.
  • Gebruik het argument col om de kleur van de curve van ROC_probit op "blue", ROC_cloglog op "red" en ROC_all_full op "green" te zetten. Let op: anders dan in de video besproken, is het label op de x-as Specificity en niet "1-Specificity", waardoor de as links van 1 naar rechts naar 0 loopt.
  • Het lijkt erop dat de linkfunctie hier niet veel invloed heeft op de ROC, en dat vooral het opnemen van meer variabelen in een model zorgt voor een betere ROC. Om de prestaties van de ROC-curves exact te beoordelen, bekijk je de AUC's met de functie auc().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren