| --- |
| language: |
| - es |
| - en |
| tags: |
| - finance |
| - credit-scoring |
| - risk-assessment |
| - tabular-classification |
| - bank-marketing |
| - lightgbm |
| - explainable-ai |
| - shap |
| license: apache-2.0 |
| metrics: |
| - roc_auc |
| - recall |
| --- |
| |
| # 🏦 Credit Risk Scoring Model (TFM) |
|
|
| ## 📋 Ficha Técnica del Proyecto |
|
|
| | Campo | Descripción | |
| | :--- | :--- | |
| | **Autor** | Izan Moya Romero | |
| | **Tipo de Modelo** | Clasificación Binaria Supervisada (Riesgo de Impago) | |
| | **Algoritmo Final** | LightGBM (Gradient Boosting) con Ponderación de Clases | |
| | **Dataset Original** | [Home Credit Default Risk](https://www.kaggle.com/c/home-credit-default-risk) | |
| | **Entorno** | Banca / Fintech / Análisis de Riesgos | |
| | **Input** | Datos tabulares (Ingresos, Edad, Historial, Ratios Financieros de Negocio) | |
| | **Output** | Probabilidad de Default (0 - 1) | |
| | **Estado** | ✅ Completado (Modelo Entrenado, Evaluado y Explicable) | |
|
|
| ## 📖 Descripción del Proyecto |
| Este modelo es el resultado del Trabajo de Fin de Máster (TFM) en **Big Data e Inteligencia Artificial**. |
|
|
| El objetivo principal es desarrollar una herramienta de soporte a la decisión para entidades bancarias que permita estimar la probabilidad de impago (Default) de un préstamo. A diferencia de las soluciones de "caja negra" habituales en competiciones (basadas en *ensembling* masivo de múltiples tablas), este proyecto adopta un enfoque *Lean* y regulatorio: maximizar el poder predictivo utilizando una única tabla de datos enriquecida mediante lógica financiera, garantizando una **explicabilidad total (XAI)** compatible con las normativas bancarias europeas (Basilea III/IV). |
|
|
| ## ⚙️ Metodología y Pipeline |
| El flujo de trabajo sigue los más estrictos estándares de la industria de riesgos: |
|
|
| 1. **Ingeniería de Datos y Limpieza:** |
| * Tratamiento de valores nulos (Missing Not At Random) mediante imputación semántica (Flagging + Mediana) y creación de la categoría explícita `Unknown` para variables categóricas, evitando sesgos. |
| * Eliminación de variables con alta multicolinealidad (correlación Pearson > 0.98). |
| * Codificación híbrida: `LabelEncoding` (binarias) y `One-Hot Encoding` (nominales). |
|
|
| 2. **Feature Engineering (Lógica de Negocio):** |
| * **Ratios de Capacidad de Pago:** Creación de proxies financieros como *Debt-to-Income* (`PAYMENT_RATE`) y duraciones estimadas (`CREDIT_TERM`). |
| * **Estrés de Liquidez:** Proxy de *Loan-to-Value* evaluando la sobre-financiación solicitada frente al valor real del bien (`CREDIT_GOODS_DIFF`). |
| * **Consenso de Mercado:** Agregaciones estadísticas combinando las puntuaciones de los burós de crédito externos (`EXT_SOURCE`). |
|
|
| 3. **Benchmark de Modelos y Estrategia de Validación:** |
| * Se implementó un *Split* estratificado (70/10/20) para evitar el *Data Leakage* y el coste computacional prohibitivo de un K-Fold en un dataset >300k registros. |
| * Se evaluaron múltiples familias de algoritmos: **Random Forest** (Bagging con SMOTE), **LinearSVC** (Geométrico), **MLPClassifier** (Redes Neuronales) y **LightGBM** (Boosting). |
| * **Selección:** El sobremuestreo sintético (SMOTE) fue superado por el balanceo de pesos interno (`is_unbalance=True`). El ganador absoluto fue LightGBM. |
|
|
| ## 📊 Resultados y Métricas del Modelo Final (LightGBM) |
| El modelo logra un equilibrio óptimo entre capacidad predictiva general y sensibilidad para detectar clientes tóxicos. |
|
|
| * **ROC-AUC Score:** **0.756** *(Superando el 0.72 del baseline original)* |
| * **Recall (Clase 1 - Fraude):** **68%** *(Detecta a casi 7 de cada 10 malos pagadores)* |
| * **Accuracy Global:** 70% |
|
|
| ` |
|
|
| )` |
|
|
| ## 🧠 Explicabilidad del Modelo (XAI con SHAP) |
| Para que el modelo sea auditable por los analistas de riesgos, se ha integrado **SHAP (SHapley Additive exPlanations)**. El análisis confirma que el modelo ha aprendido lógicas de negocio coherentes: |
|
|
| 1. **Reputación Externa (`EXT_SOURCE_MEAN`):** Es el factor más determinante. Una mala puntuación en los burós externos dispara el riesgo de forma drástica. |
| 2. **Plazo del Crédito (`CREDIT_TERM`):** Préstamos estructurados a muy largo plazo acumulan mayor incertidumbre y, por ende, mayor riesgo asignado. |
| 3. **Sobre-financiación (`CREDIT_GOODS_DIFF`):** El modelo penaliza severamente a los clientes que solicitan un crédito por un importe muy superior al valor del bien a adquirir, interpretándolo como una necesidad urgente y no declarada de liquidez. |
| |
| ` |
| |
| )` |
| |
| ## ⚠️ Limitaciones y Descargo de Responsabilidad |
| Este modelo ha sido entrenado con datos históricos anonimizados (*Home Credit Default Risk*) con fines exclusivamente académicos y de demostración técnica. No debe integrarse en sistemas de toma de decisión de concesión de crédito real sin superar auditorías exhaustivas de sesgos (*Fairness*), calibración de probabilidades y cumplimiento normativo local. |