IniziaInizia gratis

Curve ROC per confrontare modelli di regressione logistica

Le curve ROC possono essere create facilmente con il pacchetto pROC in R. Vediamo se c’è una grande differenza tra le curve ROC dei quattro modelli di regressione logistica usati in questo corso. Una breve anteprima:

  • predictions_logit contiene previsioni di probability of default (PD) usando il link logit predefinito e le variabili age, emp_cat, ir_cat e loan_amnt.
  • predictions_probit contiene previsioni di PD usando il probit e le variabili age, emp_cat, ir_cat e loan_amnt.
  • predictions_cloglog contiene previsioni di PD usando il link cloglog e le variabili age, emp_cat, ir_cat e loan_amnt.
  • predictions_all_full contiene previsioni di PD usando il link logit predefinito e tutte e sette le variabili dell’insieme di dati.

Per prima cosa disegnerai le curve ROC di questi quattro modelli in un unico grafico. Poi analizzerai l’area sotto la curva.

Questo esercizio fa parte del corso

Credit Risk Modeling in R

Visualizza il corso

Istruzioni dell'esercizio

  • Carica il pacchetto pROC nella tua console R.
  • Costruisci gli oggetti ROC per i quattro modelli di regressione logistica usando la funzione roc(response, predictor). Ricorda che la response è l’indicatore dello stato del prestito in test_set, ottenibile con test_set$loan_status.
  • Usa gli oggetti creati per costruire le curve ROC. Per disegnarle tutte in un unico grafico, usa plot() per la prima curva ROC (per ROC_logit) e [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines per aggiungere le curve ROC) degli altri tre modelli allo stesso grafico.
  • Usa l’argomento col per cambiare il colore della curva di ROC_probit in "blue", di ROC_cloglog in "red" e di ROC_all_full in "green". Nota che, a differenza di quanto mostrato nel video, l’etichetta dell’asse x è Specificity e non "1-Specificity", quindi l’asse va da 1 sul lato sinistro a 0 sul lato destro.
  • Sembra che la funzione di link non abbia un grande impatto sulla ROC in questo caso; l’elemento che migliora maggiormente la ROC è l’inclusione di più variabili nel modello. Per quantificare con precisione le prestazioni delle curve ROC, dai un’occhiata alle AUC usando la funzione auc().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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



Modifica ed esegui il codice