En credit scoring el desbalanceo de clases es la norma, no la excepción. En una cartera de crédito al consumo típica la tasa de default oscila entre el 2% y el 15%. Eso significa que por cada cliente que impaga hay entre 6 y 50 que pagan correctamente. El dataset de entrenamiento refleja esa realidad y esa asimetría plantea un problema técnico concreto al ajustar el modelo.
Un algoritmo de clasificación entrenado sobre un dataset muy desbalanceado tiende a ignorar la clase minoritaria. Si el 95% de los clientes no impagan, el modelo puede alcanzar una precisión del 95% simplemente prediciendo que nadie impaga, sin aprender absolutamente nada útil. El Gini de ese modelo sería 0.
Para corregir este problema existen tres enfoques principales: undersampling (reducir la clase mayoritaria), oversampling (amplificar la clase minoritaria, por ejemplo con SMOTE) y ponderación de clases (ajustar la función de pérdida para que el modelo preste más atención a los errores en la clase minoritaria).
El constructor de scorecards del laboratorio de Analytics Lane y ScoreFlow usan ponderación de clases. Esta entrada explica por qué descartamos el undersampling, cuándo el oversampling tiene sentido y cuáles son las implicaciones prácticas de la decisión que tomamos.
Antes de entrar en las soluciones, vale la pena entender exactamente cuál es el problema técnico.
La regresión logística, el algoritmo base para la construcción de los scorecard, minimiza la log-loss, que es la suma de las pérdidas individuales de cada observación: \mathcal{L} = -\frac{1}{n} \sum_{i=1}^{n} \left[ y_i \log(\hat{p}_i) + (1 - y_i) \log(1 - \hat{p}_i) \right]
Con un dataset donde el 95% de las observaciones son no eventos (y = 0), el 95% de los términos de esta suma corresponden a buenos pagadores. El algoritmo dedica el 95% de su “atención” a clasificar correctamente a los buenos pagadores y solo el 5% a los malos.
El resultado es un modelo que predice probabilidades de default sistemáticamente bajas, empujadas hacia cero por la masa de no eventos, y que tiene dificultades para discriminar en el rango de probabilidades altas donde viven los malos pagadores.
Curiosamente, el WOE compensa parcialmente este problema porque normaliza las distribuciones antes de que entren en la regresión. Pero con tasas de default muy bajas (< 2%) o incluso muy altas (> 15%) el desbalanceo sigue siendo relevante incluso con WOE.
Se eliminan observaciones de la clase mayoritaria hasta alcanzar un ratio más equilibrado, por ejemplo 50/50 o 70/30.
Cómo funciona: si tienes 50.000 buenos pagadores y 2.500 malos, mantienes los 2.500 malos y muestreas aleatoriamente 2.500 (o 5.000 o 7.500) buenos pagadores, descartando el resto.
Ventajas:
Desventajas críticas en credit scoring:
Se generan observaciones sintéticas de la clase minoritaria, malos pagadores artificiales, hasta equilibrar el dataset.
SMOTE (Synthetic Minority Oversampling Technique) genera nuevos malos pagadores interpolando entre malos pagadores existentes en el espacio de las variables originales.
Ventajas:
Desventajas en credit scoring:
Se modifica la función de pérdida para que los errores en la clase minoritaria tengan más peso que los errores en la clase mayoritaria. En lugar de tratar cada observación igual, el algoritmo penaliza más los fallos en malos pagadores.
La log-loss ponderada es: \mathcal{L}_w = -\frac{1}{n} \sum_{i=1}^{n} w_i \left[ y_i \log(\hat{p}_i) + (1 - y_i) \log(1 - \hat{p}_i) \right] donde w_i es el peso de cada observación:
Con una tasa de default del 5%, los malos pagadores reciben un peso aproximadamente 19 veces mayor que los buenos pagadores. El modelo dedica una atención proporcional a ambas clases a pesar del desbalanceo.
Ventajas:
Desventajas:
La decisión de usar ponderación de clases en lugar de undersampling o oversampling se basa en tres razones que son específicas del contexto del credit scoring:
El constructor aplica automáticamente la ponderación de clases en el paso 5 (Modelo) cuando detecta que la tasa de eventos es inferior al 20% o superior al 80%. Los pesos se calculan como: w_{no\ evento} = \frac{n}{2 \times n_0} \quad w_{evento} = \frac{n}{2 \times n_1}
donde n es el total de observaciones, n_0 el número de no eventos y n_1 el número de eventos.
El constructor muestra los pesos aplicados en el panel de resultados del paso 5 para que queden documentados en el log de decisiones. Si la tasa de eventos está entre el 20% y el 80%, la ponderación no se aplica, el desbalanceo no es suficientemente severo para justificarla.
El analista puede desactivar la ponderación automática si lo considera oportuno, por ejemplo si la tasa de eventos del 5% corresponde a un portfolio con suficiente volumen de malos pagadores (más de 500 eventos) donde el modelo puede aprender sin ayuda. En ese caso la justificación queda registrada en el log.
Aunque no es el enfoque del constructor, hay situaciones donde el undersampling puede estar justificado:
El desbalanceo de clases en credit scoring no es un problema que se resuelva manipulando los datos, se resuelve ajustando cómo el algoritmo aprende de ellos. La ponderación de clases mantiene la integridad del dataset, preserva la correcta calibración de las probabilidades y produce un modelo directamente auditable.
El undersampling y el oversampling son herramientas válidas en otros contextos: detección de fraude con millones de transacciones, visión por computador con clases muy poco frecuentes, problemas donde la calibración no es crítica. Pero en credit scoring, donde el WOE debe reflejar la distribución real del portfolio y donde las probabilidades predichas se usan directamente para estimar pérdidas y tomar decisiones reguladas, la ponderación de clases es la opción técnicamente más sólida.
El constructor de scorecards del laboratorio y ScoreFlow la aplican automáticamente y la documenta en el log de decisiones, para que la elección sea transparente, reproducible y justificable en cualquier proceso de validación.
Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.
Cualquiera que programe usa la palabra bug a diario para referirse a un fallo en…
Los dos artículos anteriores de la serie cubrieron BG/NBD, el modelo para negocios donde el…
"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…
Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…
Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…
Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…
This website uses cookies.