ComeçarComece de graça

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_logit contém previsões de probabilidade de inadimplência (PD) usando o link logit padrão e as variáveis age, emp_cat, ir_cat e loan_amnt.
  • predictions_probit contém previsões de PD usando o probit e as variáveis age, emp_cat, ir_cat e loan_amnt.
  • predictions_cloglog contém previsões de PD usando o link cloglog e as variáveis age, emp_cat, ir_cat e loan_amnt.
  • predictions_all_full conté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

Ver curso

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 no test_set, que pode ser obtido por test_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 (para ROC_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 col para mudar a cor da curva de ROC_probit para "blue", de ROC_cloglog para "red" e de ROC_all_full para "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



Editar e executar o código