America/Mexico_City
Proyectos

Modelo de Predicción de Riesgo Crediticio con Machine Learning

image
August 15, 2023
Este proyecto se centró en el desarrollo de un robusto modelo de machine learning para la evaluación de riesgo crediticio. Mediante el aprovechamiento de algoritmos avanzados y una extensa ingeniería de características, creé un sistema capaz de identificar con precisión tanto a prestatarios confiables como posibles impagos. El modelo sirve como una herramienta crítica para la toma de decisiones en instituciones financieras, ayudándoles a minimizar el riesgo mientras mantienen una cartera de préstamos saludable.
  • Predicción de Alta Precisión: Logré un 87% de precisión en la identificación de buenos pagadores y 73% en la detección de posibles impagos, proporcionando una evaluación de riesgo confiable.
  • Algoritmos Avanzados de ML: Implementé y comparé múltiples algoritmos incluyendo Random Forest y XGBoost para identificar el modelo con mejor rendimiento para la predicción de riesgo crediticio.
  • Técnicas de Balanceo de Datos: Apliqué SMOTE (Técnica de Sobremuestreo de Minorías Sintéticas) para abordar problemas de desequilibrio de clases comúnmente encontrados en conjuntos de datos crediticios.
  • Optimización de Hiperparámetros: Utilicé GridSearchCV para una sistemática afinación de hiperparámetros, mejorando el puntaje AUC-ROC de 0.65 a 0.69.
  • Ingeniería de Características Completa: Analicé y procesé más de 25 variables crediticias para identificar los tres indicadores más influyentes: índice de capacidad crediticia, historial de pagos y nivel de ingresos.
Matriz de confusión
  • Python: Lenguaje de programación principal para el desarrollo del modelo y análisis de datos
  • Scikit-learn: Para implementar algoritmos de machine learning y métricas de evaluación
  • Pandas & NumPy: Para manipulación de datos y operaciones numéricas
  • XGBoost: Para implementación de gradient boosting
  • Matplotlib & Seaborn: Para visualización de datos y análisis de rendimiento del modelo
  • Imbalanced-learn: Para implementar SMOTE y manejar conjuntos de datos desequilibrados
Uno de los principales desafíos fue lidiar con datos altamente desequilibrados, ya que los buenos pagadores típicamente superan en número a los morosos en la mayoría de los conjuntos de datos crediticios. Este desequilibrio inicialmente llevó a modelos que eran buenos identificando a buenos pagadores pero deficientes detectando impagos—precisamente los casos que las instituciones financieras más necesitan identificar. Mediante la implementación de SMOTE y una cuidadosa afinación de los pesos de clase en los modelos, pude mejorar significativamente la detección de posibles impagos sin sacrificar la precisión general. Además, aprendí la importancia de mirar más allá de las métricas simples de precisión hacia medidas más matizadas como precision, recall y la curva AUC-ROC para evaluar el rendimiento del modelo en problemas de clasificación desequilibrados.
Variables más importantes
El modelo final entrega un pipeline completo de machine learning desde la limpieza de datos hasta la implementación en producción, incluyendo validación cruzada y evaluación integral de métricas (precision, recall, F1-score). El sistema permite a las instituciones financieras:
  1. Tomar decisiones de préstamo más informadas basadas en evaluaciones de riesgo confiables
  2. Identificar posibles impagos tempranamente para una intervención proactiva
  3. Comprender los factores clave que influyen en el riesgo crediticio a través del análisis de importancia de características
  4. Ajustar estrategias de préstamo basadas en métricas de riesgo cuantificables

Gráfica de la curva ROC
Este proyecto demuestra cómo el machine learning puede transformar la evaluación de riesgo en servicios financieros, pasando de la puntuación crediticia tradicional a modelos predictivos más precisos y matizados. Puedes ver el documento completo más detallado aquí (PDF)