Curvas ROC para comparar modelos de regresión logística
Las curvas ROC pueden crearse fácilmente con el paquete pROC en R. Vamos a ver si hay una gran diferencia entre las curvas ROC de los cuatro modelos de regresión logística que hemos usado a lo largo del curso. Un pequeño aviso:
predictions_logitcontiene predicciones de probabilidad de impago (PD) usando el enlace logit predeterminado e incluye las variablesage,emp_cat,ir_catyloan_amnt.predictions_probitcontiene predicciones de PD usando probit e incluye las variablesage,emp_cat,ir_catyloan_amnt.predictions_cloglogcontiene predicciones de PD usando el enlace cloglog e incluye las variablesage,emp_cat,ir_catyloan_amnt.predictions_all_fullcontiene predicciones de PD usando el enlace logit predeterminado e incluye las siete variables del conjunto de datos.
Primero dibujarás las curvas ROC de estos cuatro modelos en un único gráfico. Después, observarás el área bajo la curva.
Este ejercicio forma parte del curso
Modelización del riesgo de crédito en R
Instrucciones del ejercicio
- Carga el paquete pROC en tu consola de R.
- Construye los objetos ROC para los cuatro modelos de regresión logística usando la función
roc(response, predictor). Recuerda que la respuesta es el indicador de estado del préstamo en eltest_set, que puedes obtener contest_set$loan_status. - Usa los objetos creados para construir las curvas ROC. Para dibujarlas todas en un mismo gráfico, usa
plot()para la primera curva ROC (paraROC_logit) y usa [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines to add the ROC-curves) para añadir las curvas ROC de los otros tres modelos al mismo gráfico. - Usa el argumento
colpara cambiar el color de la curva deROC_probita"blue", deROC_clogloga"red"y deROC_all_fulla"green". Ten en cuenta que, a diferencia de lo comentado en el vídeo, la etiqueta del eje x es Specificity y no "1-Specificity", por lo que el eje va de 1 en el lado izquierdo a 0 en el derecho. - Parece que la función de enlace no tiene un gran impacto en la ROC aquí, y que el principal factor de mejora es incluir más variables en el modelo. Para tener una idea exacta del rendimiento de las curvas ROC, consulta las AUC usando la función auc().
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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