Beräkna andelen dåliga lån för en given acceptansgrad
I videon lärde du dig hur man beräknar andelen dåliga lån (det vill säga andelen fallissemang) i en banks låneportfölj utifrån:
- en specifik modell
- acceptansgraden
I den här övningen beräknar du vilken andel dåliga lån en bank kan förvänta sig när det beskurna trädet ptree_prior – som du tränade tidigare – används tillsammans med en acceptansgrad på 80 %. Som en påminnelse visas trädet till höger.
Den här övningen är en del av kursen
Kreditriskmodellering i R
Övningsinstruktioner
- I skriptet finns koden för att göra prediktioner om sannolikheten för fallissemang med hjälp av det beskurna trädet och
test_set. Kom ihåg att när du använder funktionenpredict()för ett träd hittas sannolikheten för fallissemang i den andra kolumnen. Därför har[,2]lagts till efter anropet tillpredict(). - Beräkna det tröskelvärde som ger en acceptansgrad på 80 % med hjälp av
prob_default_prior. Använd funktionen quantile() och sätt det andra argumentet till 0.8. Tilldela resultatet namnetcutoff_prior. - Koden för att beräkna de faktiska binära fallissemangsprediktionerna (0 eller 1) är tillhandahållen – den använder ifelse(). Ge objektet namnet
bin_pred_prior_80. - Koden för att välja ut fallissemangsindikatorerna i
test_setför de godkända lånen enligt en acceptansgrad på 80 % är tillhandahållen. - Beräkna andelen fallissemang (det vill säga "andelen dåliga lån") för de godkända lånen. Det är antalet förekomster av
1iaccepted_status_prior_80dividerat med det totala antalet element i den vektorn. Skriv ut resultatet i R-konsolen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Make predictions for the probability of default using the pruned tree and the test set.
prob_default_prior <- predict(ptree_prior, newdata = test_set)[ ,2]
# Obtain the cutoff for acceptance rate 80%
# Obtain the binary predictions.
bin_pred_prior_80 <- ifelse(prob_default_prior > cutoff_prior, 1, 0)
# Obtain the actual default status for the accepted loans
accepted_status_prior_80 <- test_set$loan_status[bin_pred_prior_80 == 0]
# Obtain the bad rate for the accepted loans