💳 Predictor de Impago de Préstamos — Árboles Potenciados por Gradiente en Vivo
Observa cómo un conjunto real de gradient boosting hace crecer árboles de decisión poco profundos en vivo, cada uno ajustando los errores residuales del anterior, reduciendo genuinamente la pérdida simulada de predicción de impago de préstamos en cada ronda de refuerzo.
Acerca de los Árboles Potenciados por Gradiente para la Predicción de Impago de Préstamos
El gradient boosting construye un clasificador robusto a partir de muchos débiles. Partiendo de una única constante — el log-odds de la tasa base de impago —, el algoritmo ajusta repetidamente un árbol de decisión poco profundo a los pseudo-residuos del conjunto actual y añade la predicción escalada de ese árbol a una puntuación acumulada. Para el log-loss binario, el pseudo-residuo en cada ejemplo de entrenamiento es simplemente y - p: la diferencia entre la etiqueta real y la probabilidad predicha actual. Como cada nuevo árbol solo tiene que explicar lo que el conjunto se equivocó hasta ahora, la pérdida de entrenamiento cae de forma constante aunque cada árbol individual sea deliberadamente poco profundo y débil.
🔬 Qué muestra
En cada ronda de refuerzo se hace crecer un árbol de regresión genuino de estilo CART, examinando exhaustivamente cada característica candidata y umbral de división en busca del que más reduce el error cuadrático de los residuos actuales, hasta una profundidad máxima elegida (1–3). La contribución de cada hoja se refina luego con un paso de Newton-Raphson (suma de residuos sobre la suma de p(1−p) en esa hoja) antes de añadirse a la puntuación log-odds acumulada, escalada por la tasa de aprendizaje — la regla de actualización real del gradient boosting, no un atajo enlatado.
🎮 Cómo usarlo
Ajusta la tasa de aprendizaje η, el número de rondas de refuerzo y la profundidad del árbol, y pulsa «Entrenar en vivo» para ver el conjunto crecer árbol a árbol. El diagrama de dispersión muestra solicitantes de validación reservados, representados por ratio deuda-ingresos, utilización del crédito y duración del historial crediticio, coloreados según la probabilidad de impago predicha en vivo por el modelo; el gráfico inferior sigue el log-loss real de entrenamiento y validación cayendo ronda a ronda. Haz clic en cualquier solicitante para inspeccionar sus características y predicción.
💡 ¿Sabías que…?
Los prestatarios sintéticos de esta simulación se generan a partir de relaciones realistas de riesgo de impago — ingresos, historial crediticio, ratio deuda-ingresos, utilización del crédito, pagos atrasados y antigüedad laboral — combinadas en una probabilidad real más ruido aleatorio irreducible. Ni siquiera un modelo perfecto puede alcanzar aquí una pérdida de cero, exactamente igual que en los datos reales de préstamos, por lo que el log-loss de validación se estabiliza por encima de cero en lugar de converger hacia él.
Preguntas frecuentes
¿Qué es el gradient boosting, en términos sencillos?
El gradient boosting construye un modelo predictivo robusto como una suma de muchos modelos débiles, normalmente árboles de decisión poco profundos, añadidos uno a la vez. En lugar de que cada árbol intente predecir la etiqueta directamente, cada nuevo árbol se entrena para ajustar los errores (residuos) dejados por el conjunto construido hasta ahora. La contribución de cada árbol se reduce mediante una tasa de aprendizaje antes de añadirse, de modo que el conjunto mejora gradualmente y no se sobreajusta a las particularidades de un solo árbol.
¿Cómo funciona el gradient boosting para clasificación binaria como el impago de préstamos?
El modelo mantiene una puntuación log-odds acumulada F(x) para cada prestatario. En cada ronda calcula el gradiente negativo del log-loss respecto a F, que para la pérdida logística resulta ser simplemente y − p, la diferencia entre la etiqueta real (0 o 1) y la probabilidad predicha actual p = sigmoide(F(x)). Se ajusta un árbol de regresión poco profundo a estos residuos, y el valor de salida de cada hoja se refina con un paso de Newton-Raphson usando la suma de residuos de la hoja dividida por su suma de p(1−p), que aproxima la segunda derivada de la pérdida. Las predicciones del árbol, escaladas por la tasa de aprendizaje, se añaden luego a F para cada prestatario, y el ciclo se repite.
¿Cómo decide el árbol dónde dividir?
En cada nodo el algoritmo examina cada característica candidata (ingresos, duración del historial crediticio, ratio deuda-ingresos, utilización del crédito, pagos atrasados recientes, antigüedad laboral) y cada umbral posible entre valores ordenados adyacentes, calculando cuánto reduciría esa división el error cuadrático total de los residuos en ese nodo en comparación con no dividirlo. Se elige la división con la mayor reducción de error (sujeta a una restricción mínima de muestras por hoja), y el proceso se repite recursivamente en los nodos hijos resultantes hasta alcanzar la profundidad máxima del árbol.
¿Por qué la pérdida de entrenamiento sigue disminuyendo pero la de validación se estabiliza o aumenta?
Cada nuevo árbol se ajusta específicamente para reducir el error residual en el conjunto de entrenamiento, por lo que el log-loss de entrenamiento disminuye casi monótonamente a medida que se añaden árboles. El conjunto de validación nunca se usó para ajustar ningún árbol, así que su pérdida solo mejora mientras los patrones que aprenden los árboles generalicen genuinamente. Cuando el conjunto empieza a ajustar ruido específico de los prestatarios de entrenamiento en lugar de la relación real de riesgo de impago, la pérdida de validación deja de mejorar o vuelve a subir — esta brecha es la firma clásica del sobreajuste, y es precisamente la razón por la que el número de rondas de refuerzo, la profundidad del árbol y la tasa de aprendizaje se ajustan contra un conjunto de validación reservado y no contra el propio conjunto de entrenamiento.
¿Qué controla la tasa de aprendizaje, y por qué no usar simplemente una grande?
La tasa de aprendizaje reduce cuánto de la corrección ajustada de cada nuevo árbol se añade realmente a la predicción acumulada. Una tasa de aprendizaje pequeña (p. ej. 0,05) significa que se necesitan muchos árboles para lograr un buen ajuste, pero cada uno solo empuja el modelo ligeramente, lo que tiende a generalizar mejor y reduce el riesgo de que un solo árbol ruidoso desvíe al conjunto. Una tasa de aprendizaje grande (cercana a 1,0) permite que el modelo se ajuste muy rápido a los datos de entrenamiento, a menudo en solo unas pocas rondas, pero es mucho más propensa a sobrepasar el objetivo y sobreajustar.
¿Por qué usar árboles poco profundos de profundidad 1-3 en lugar de un único árbol profundo?
Un único árbol profundo puede memorizar el conjunto de entrenamiento casi a la perfección, dividiéndolo en regiones diminutas y homogéneas, lo que generaliza mal. El gradient boosting en cambio usa muchos árboles poco profundos, de alto sesgo y baja varianza (a menudo llamados «stumps» en profundidad 1), y deja que el propio proceso de refuerzo aporte la complejidad, una pequeña corrección a la vez. Sumado a lo largo de decenas o cientos de rondas de refuerzo, el conjunto puede representar interacciones de características muy complejas mientras cada árbol individual se mantiene simple y resistente al sobreajuste.
¿En qué se diferencia esto de un random forest?
Un random forest construye muchos árboles profundos de forma independiente y en paralelo sobre muestras bootstrap de los datos, y luego promedia sus predicciones — esto reduce la varianza (ruido) pero cada árbol se entrena sin conocimiento de los errores de los demás. El gradient boosting construye árboles de forma secuencial, y cada nuevo árbol se entrena explícitamente para corregir los errores específicos que comete el conjunto actual. Esta corrección secuencial de errores es lo que permite que el boosting a menudo alcance un sesgo menor y mayor precisión que un bosque de tamaño comparable, a costa de ser más sensible a la tasa de aprendizaje y al número de rondas.
¿Qué características predicen realmente el riesgo de impago de préstamos en esta simulación?
El generador sintético de prestatarios incorpora relaciones realistas usadas por modelos reales de riesgo crediticio: unos ingresos más altos y un historial laboral más largo reducen el riesgo de impago, mientras que un ratio deuda-ingresos más alto, una mayor utilización de la tarjeta de crédito y más pagos atrasados en los últimos dos años lo aumentan; un historial crediticio más largo también reduce modestamente el riesgo. Estas relaciones se combinan en un log-odds real de impago más ruido aleatorio irreducible, y luego una moneda ponderada por esa probabilidad genera la etiqueta de impago observada — por lo que ni siquiera un modelo perfecto puede alcanzar una pérdida de cero, exactamente como en los datos reales de préstamos.
¿Qué es la puntuación AUC que se muestra en el panel de estadísticas?
El AUC (área bajo la curva ROC) mide qué tan bien el modelo clasifica a los prestatarios que efectivamente incumplieron por encima de los que no lo hicieron, independientemente de cualquier umbral de probabilidad concreto. Un AUC de 0,5 significa que el modelo clasifica los pares sin mejor que lanzar una moneda; un AUC de 1,0 significa que todo moroso queda clasificado por encima de todo no moroso. Aquí se calcula directamente a partir de su definición basada en rangos: para cada par moroso/no moroso en el conjunto de validación, se comprueba si el moroso recibió una probabilidad predicha más alta, y se promedia sobre todos los pares.
Cada ronda de refuerzo ajusta un árbol de regresión CART poco profundo genuino a los pseudo-residuos actuales (y − p) mediante búsqueda exhaustiva de divisiones que minimiza el error cuadrático, refina sus hojas con un paso de Newton-Raphson y añade el resultado escalado a una puntuación log-odds acumulada — gradient boosting real, reduciendo el log-loss de entrenamiento y validación ronda a ronda.
3D · Renderizador Three.js / WebGL · Objetivo de 60 FPS · funciona totalmente en el cliente, sin instalación