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_logitbevat probability of default (PD)-voorspellingen met de standaard logit-link en de variabelenage,emp_cat,ir_catenloan_amnt.predictions_probitbevat PD-voorspellingen met de probit-link en de variabelenage,emp_cat,ir_catenloan_amnt.predictions_cloglogbevat PD-voorspellingen met de cloglog-link en de variabelenage,emp_cat,ir_catenloan_amnt.predictions_all_fullbevat 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
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 detest_setis, die je kunt opvragen viatest_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 (voorROC_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
colom de kleur van de curve vanROC_probitop"blue",ROC_cloglogop"red"enROC_all_fullop"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