EmpezarEmpieza gratis

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_logit contiene predicciones de probabilidad de impago (PD) usando el enlace logit predeterminado e incluye las variables age, emp_cat, ir_cat y loan_amnt.
  • predictions_probit contiene predicciones de PD usando probit e incluye las variables age, emp_cat, ir_cat y loan_amnt.
  • predictions_cloglog contiene predicciones de PD usando el enlace cloglog e incluye las variables age, emp_cat, ir_cat y loan_amnt.
  • predictions_all_full contiene 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

Ver curso

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 el test_set, que puedes obtener con test_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 (para ROC_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 col para cambiar el color de la curva de ROC_probit a "blue", de ROC_cloglog a "red" y de ROC_all_full a "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



Editar y ejecutar código