Kom igångKom igång gratis

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_logit innehåller sannolikhet för fallissemang (PD)-prediktioner med den förinställda logit-länkfunktionen och variablerna age, emp_cat, ir_cat och loan_amnt.
  • predictions_probit innehåller PD-prediktioner med probit-länkfunktionen och variablerna age, emp_cat, ir_cat och loan_amnt.
  • predictions_cloglog innehåller PD-prediktioner med cloglog-länkfunktionen och variablerna age, emp_cat, ir_cat och loan_amnt.
  • predictions_all_full innehå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

Visa kurs

Ö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 i test_set, som hämtas med test_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ör ROC_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 col för att ändra färgen på kurvan för ROC_probit till "blue", ROC_cloglog till "red" och ROC_all_full till "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



Redigera och kör kod