Curvas ROC para comparação de modelos de regressão logística
As curvas ROC podem ser criadas facilmente usando o pacote pROC no R. Vamos verificar se existe uma grande diferença entre as curvas ROC dos quatro modelos de regressão logística usados ao longo deste curso. Um aviso rápido:
predictions_logitcontém previsões de probabilidade de inadimplência (PD) usando o link logit padrão e as variáveisage,emp_cat,ir_cateloan_amnt.predictions_probitcontém previsões de PD usando o probit e as variáveisage,emp_cat,ir_cateloan_amnt.predictions_cloglogcontém previsões de PD usando o link cloglog e as variáveisage,emp_cat,ir_cateloan_amnt.predictions_all_fullcontém previsões de PD usando o link logit padrão e todas as sete variáveis do conjunto de dados.
Você vai primeiro desenhar as curvas ROC desses quatro modelos em um único gráfico. Depois, vai analisar a área sob a curva.
Este exercício faz parte do curso
Modelagem de Risco de Crédito em R
Instruções do exercício
- Carregue o pacote pROC no seu console do R.
- Construa os objetos ROC para os quatro modelos de regressão logística usando a função
roc(response, predictor). Lembre-se de que a resposta é o indicador de status do empréstimo notest_set, que pode ser obtido portest_set$loan_status. - Use os objetos criados para construir as curvas ROC. Para desenhá-las todas em um único gráfico, use
plot()para a primeira curva ROC desenhada (paraROC_logit) e use [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines para adicionar as curvas ROC) dos outros três modelos no mesmo gráfico. - Use o argumento
colpara mudar a cor da curva deROC_probitpara"blue", deROC_cloglogpara"red"e deROC_all_fullpara"green". Observe que, ao contrário do que foi discutido no vídeo, o rótulo do eixo x é Specificity e não "1-Specificity", resultando em um eixo que vai de 1 no lado esquerdo para 0 no lado direito. - Parece que a função de link não tem grande impacto na ROC aqui, e o principal fator para uma ROC melhor é a inclusão de mais variáveis no modelo. Para ter uma ideia exata do desempenho das curvas ROC, veja as AUCs usando a função auc().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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