ROC-kurvor för jämförelse av logistiska regressionsmodeller
ROC-kurvor kan enkelt skapas med pROC-paketet i R. Låt oss undersöka om det finns någon stor skillnad mellan ROC-kurvorna för de fyra logistiska regressionsmodeller som använts tidigare i kursen. En kort sammanfattning:
predictions_logitinnehåller sannolikhet för fallissemang (PD)-prediktioner med den förinställda logit-länkfunktionen och variablernaage,emp_cat,ir_catochloan_amnt.predictions_probitinnehåller PD-prediktioner med probit-länkfunktionen och variablernaage,emp_cat,ir_catochloan_amnt.predictions_clogloginnehåller PD-prediktioner med cloglog-länkfunktionen och variablernaage,emp_cat,ir_catochloan_amnt.predictions_all_fullinnehåller PD-prediktioner med den förinställda logit-länkfunktionen och alla sju variabler i datamängden.
Du börjar med att rita ROC-kurvorna för dessa fyra modeller i ett och samma diagram. Därefter undersöker du arean under kurvan.
Den här övningen är en del av kursen
Kreditriskmodellering i R
Övningsinstruktioner
- Läs in pROC-paketet i din R-konsol.
- Skapa ROC-objekt för de fyra logistiska regressionsmodellerna med funktionen
roc(response, predictor). Kom ihåg att responsvariabeln är lånestatus-indikatorn itest_set, som hämtas medtest_set$loan_status. - Använd de skapade objekten för att rita ROC-kurvor. Använd
plot()för den första ROC-kurvan (förROC_logit) och [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines to add the ROC-curves) för de övriga tre modellerna, så att alla kurvor hamnar i samma diagram. - Använd argumentet
colför att ändra färgen på kurvan förROC_probittill"blue",ROC_cloglogtill"red"ochROC_all_fulltill"green". Observera att x-axelns etikett är Specificity och inte "1-Specificity", vilket innebär att axeln går från 1 till vänster till 0 till höger – till skillnad från vad som togs upp i videon. - Det verkar som att länkfunktionen inte har någon större påverkan på ROC-kurvan här, och att den huvudsakliga faktorn bakom en bättre ROC är att fler variabler inkluderas i modellen. För att få en exakt bild av ROC-kurvornas prestanda kan du titta på AUC-värdena med funktionen auc().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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