De strategietabel en strategiecurve
Door de berekeningen uit de vorige oefening te herhalen voor meerdere acceptatiepercentages, kun je een strategietabel opstellen. Deze tabel is een handig hulpmiddel voor banken, omdat die hen meer inzicht geeft om een acceptatiestrategie te bepalen.
Je weet inmiddels hoe je een bad rate voor een bepaald acceptatiepercentage berekent, dus de functie strategy_bank is geschreven en in je werkruimte geladen om dit te versnellen. Deze functie berekent de cut-off en bad rate voor acceptatiepercentages die een veelvoud zijn van 5% (0%, 5%, 10%, …).
Deze oefening maakt deel uit van de cursus
Kredietrisicomodellering in R
Oefeninstructies
- Bekijk de functie
strategy_bank. - De vector
predictions_cloglogbevat voorspelde kansen op default met het cloglog-model dat je in hoofdstuk 2 gebruikte; de vectorpredictions_loss_matrixbevat de voorspelde kansen op default met de gesnoeide boom inclusief een loss-matrix (eerder opgebouwd in hoofdstuk 3). Pas de functiestrategy_banktoe op elk van de voorspellingsvectors en noem de resultaten respectievelijkstrategy_cloglogenstrategy_loss_matrix. - De strategietabellen kun je krijgen door de objectnamen te combineren met
$table. - De strategiecurves zijn al voor je geplot. De strategiecurve van het boommodel vertoont vrij vreemd gedrag. Door de structuur van classificatiebomen heb je hier eerder kans op rare "sprongen". Daarnaast was de boom met loss-matrix erg groot, dus dit kan een gevolg zijn van overfitting!
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Have a look at the function strategy_bank
# Apply the function strategy_bank to both predictions_cloglog and predictions_loss_matrix
# Obtain the strategy tables for both prediction-vectors
# Plot the strategy functions
par(mfrow = c(1,2))
plot(strategy_cloglog$accept_rate, strategy_cloglog$bad_rate,
type = "l", xlab = "Acceptance rate", ylab = "Bad rate",
lwd = 2, main = "logistic regression")
plot(strategy_loss_matrix$accept_rate, strategy_loss_matrix$bad_rate,
type = "l", xlab = "Acceptance rate",
ylab = "Bad rate", lwd = 2, main = "tree")