Ciencia de Datos Moderna en Crédito
Por qué el ML en crédito es más difícil que el ML en cualquier otro lado, cuándo XGBoost de verdad le gana al scorecard, cómo SHAP convierte cajas negras en códigos de razón, y las dos disciplinas — riesgo de modelos y fair lending — que deciden qué llega a producción.
El módulo final de este track hace la pregunta que a cada equipo de ciencia de datos de cada banco le ha hecho cada ejecutivo desde aproximadamente 2016: ¿por qué seguimos usando regresión logística de los años sesenta? La respuesta no es “inercia”. El crédito es el dominio donde el playbook habitual del machine learning se topa con cuatro restricciones que no enfrenta en ningún otro lado — y la ingeniería interesante ocurre exactamente en esas restricciones.
Por qué el crédito es el modo difícil del ML
El ciclo de retroalimentación es glacial y está censurado. Un sistema de recomendación aprende de millones de clics al día. Un modelo de crédito registra un crédito hoy y se entera de si fue un error en 18–24 meses — y solo para los créditos que aprobó (el problema de inferencia de rechazados del Módulo 2, permanentemente sin resolver). La velocidad de iteración, el superpoder del ML, en su mayor parte no está disponible.
El mundo se mueve debajo del modelo. Ciclos macro, cambios competitivos, cambios de producto — el proceso generador de datos es no estacionario (el problema de regímenes del post de EDA). Un modelo ajustado en un periodo benigno codifica la física del periodo benigno; 2020 rompió cada modelo en producción en cuestión de semanas, sin culpa alguna del procedimiento de ajuste.
Cada decisión debe ser explicable — individualmente, por ley. No “el modelo tiene 84% de exactitud” sino “tu solicitud fue rechazada por X, Y, Z” — un enunciado específico y veraz sobre una persona, exigido por la regulación (abajo). Esto mata cualquier arquitectura cuyas decisiones no puedan descomponerse.
Los errores son asimétricos y correlacionados. Una mala recomendación de película cuesta un encogimiento de hombros. Las malas decisiones de crédito cuestan principal, se agrupan en las recesiones (Módulo 10) y — lo peor — pueden dañar sistemáticamente a grupos protegidos, lo cual es moralmente serio y legalmente existencial a la vez.
XGBoost para predecir incumplimiento: lo que sí funciona
Los árboles con gradient boosting son el retador de cajón del scorecard, y en datos tabulares de crédito encuentran de manera confiable lo que la regresión logística sobre features WOE binneadas a mano se pierde: interacciones (expediente delgado × utilización alta), no linealidades más allá del binning, y señal en campos desordenados de datos alternativos. Ganancias honestas típicas: 2–6 puntos de AUC/Gini sobre un scorecard bien construido — dinero real a escala de portafolio, pero lejos de la revolución que prometían las pláticas de conferencia, porque un buen scorecard ya captura la mayor parte de la señal en los datos de buró.
El pipeline práctico, destilado:
- Las features siguen importando más que el algoritmo. Todo lo del Módulo 2 de DS — corrección point-in-time, rezagos de disponibilidad, higiene de razones — aplica sin cambios. XGBoost encuentra interacciones; no puede des-fugar una feature con fuga de información.
- Usa restricciones monotónicas. XGBoost te deja forzar “mayor utilización ⇒ nunca menor riesgo predicho” por feature. Esta sola bandera recompra la mayor parte de la brecha de explicabilidad con los scorecards, evita que el modelo memorice artefactos (“los acreditados en exactamente 87% de utilización están bien”), cuesta casi nada en AUC, y es lo primero que un validador va a preguntar.
- Calibra después de rankear. Los árboles boosted rankean bien pero sus probabilidades crudas suelen estar mal escaladas — y si entrenaste sobre una muestra balanceada, la tasa base está completamente mal (la lección de Zmijewski del Módulo 3, de regreso). La calibración isotónica o de Platt sobre un holdout mapea scores a PDs honestas — que es lo que el pricing, el provisionamiento (el IFRS 9 del Módulo 9) y el capital (Módulo 10) consumen en realidad.
- Valida out-of-time, no solo out-of-sample. Un holdout aleatorio comparte el régimen del periodo de entrenamiento; la prueba honesta es el periodo siguiente. (El argumento completo es el Módulo 5 de DS.)
Las redes neuronales se ganan su complejidad en crédito solo donde los datos dejan de ser una tabla plana: secuencias de transacciones (un LSTM/transformer sobre flujos de open banking), texto, o imágenes de documentos. En datos tabulares estilo buró, los árboles boosted más buenas features siguen siendo tercamente competitivos, y todo lo de abajo sobre explicabilidad se vuelve más difícil.
Interpretabilidad: de caja negra a códigos de razón
El requisito regulatorio no es “entiende el modelo en general” — es “explica esta decisión”. La herramienta que industrializó esto es SHAP (Shapley additive explanations): para una predicción, reparte la brecha entre el output del modelo y el output promedio entre las features, usando el valor de Shapley de la teoría de juegos cooperativos — la única asignación que satisface un pequeño conjunto de axiomas de equidad (features que contribuyen igual reciben crédito igual; las contribuciones suman exactamente la brecha).
El output es una descomposición aditiva por solicitante. Esa es precisamente la estructura que un scorecard te da gratis — que es la ironía profunda de este módulo: el scorecard de los años sesenta nació explicable; SHAP es cómo el modelo de los 2020 recompra esa propiedad. Siente la descomposición:
El modelo del widget es un score aditivo de caja de cristal, así que sus barras son su explicación exacta — para un modelo XGBoost, TreeSHAP calcula el mismo estilo de descomposición de forma eficiente y exacta. Nota la fila de abajo: ordena las contribuciones positivas (las que suben el riesgo), toma las primeras, mapéalas a frases estándar — eso es, casi textualmente, cómo se generan en producción los códigos de razones de rechazo. Empuja la utilización a 90% y observa cómo reclama el lugar #1 entre las razones.
Dos herramientas de apoyo completan el kit: los partial dependence plots (la forma global del efecto de una feature — donde verificas monotonicidad y comportamiento sensato en los bordes) y LIME (aproximaciones lineales locales — útiles, pero lo bastante inestables como para que SHAP los haya desplazado casi por completo en crédito). El notebook construye todos sobre un modelo boosted real.
SR 11-7: la disciplina de no confiar en tus propios modelos
La guía de la Fed de 2011 sobre gestión de riesgo de modelos es el documento que gobierna cómo viven los modelos dentro de los bancos, y su idea central merece más respeto que su reputación de papeleo: los modelos están mal de maneras que sus constructores son estructuralmente incapaces de ver, así que las instituciones deben construir desconfianza organizada. El régimen:
- Estándares de desarrollo: propósito, teoría, linaje de datos, supuestos y limitaciones conocidas, todos documentados — escritos antes de que los resultados hagan que todos se enamoren del modelo.
- Validación independiente: un equipo separado con la autoridad y la habilidad para decir que no — el “effective challenge”. Re-derivan, estresan, comparan contra benchmarks más simples (¿el XGBoost de verdad le está ganando al scorecard out-of-time?), y sondean exactamente las esquinas que los desarrolladores evitaron.
- Monitoreo continuo: seguimiento de desempeño, estabilidad y drift en producción (el Módulo 6 de DS trata enteramente de esto), con umbrales que detonan revisión en lugar de corazonadas.
- Inventario y gobernanza: cada modelo registrado, clasificado por riesgo, con dueño, y revalidado periódicamente. “Se nos olvidó que ese modelo estaba corriendo” es un hallazgo.
El ML sube la apuesta en cada punto: más hiperparámetros y dependencias de datos que documentar, un effective challenge más difícil (el validador necesita fluidez en SHAP, no solo econometría), modos de falla más rápidos y silenciosos en producción. Si tu organización no puede validarlo, no importa qué tan bien rankee.
Fair lending: la restricción que define el campo
La ley de EE.UU. (ECOA/Regulación B, y la Fair Housing Act para hipotecas) prohíbe la discriminación crediticia por raza, color, religión, origen nacional, sexo, estado civil, edad y recepción de asistencia pública. Dos teorías legales importan para quien modela:
- Trato dispar (disparate treatment) — usar una característica protegida, directamente o a través de un sustituto obvio. Ningún modelo toca esas features; esa parte es fácil.
- Impacto dispar (disparate impact) — una práctica neutral en apariencia que perjudica desproporcionadamente a un grupo protegido sin justificación de negocio adecuada. Esta es la difícil, porque el ML es una máquina de encontrar proxies: con suficientes features, va a reconstruir características protegidas a partir del código postal, patrones de compra, tipo de dispositivo, o la interacción de una docena de variables inocentes — sin malicia requerida, solo optimización.
La disciplina de trabajo: prueba los resultados en busca de disparidades por grupo (tasas de aprobación, tasas de error, pricing) aun cuando — incómodamente — a menudo debes inferir la pertenencia al grupo para correr la prueba, ya que tienes prohibido recolectarla; busca alternativas menos discriminatorias (un modelo con AUC ligeramente menor y disparidad materialmente menor suele ser la elección legal y éticamente requerida); y justifica por escrito la lógica de negocio de cada feature, especialmente las de datos alternativos. Los avisos de acción adversa cierran el ciclo: cada solicitante rechazado recibe razones principales específicas — que es por lo que el pipeline de SHAP a códigos de razón de arriba es un requisito de cumplimiento, no un detalle de UX.
Los datos alternativos — flujos de open banking, nómina, pagos de renta y servicios — son genuinamente la frontera más prometedora: le ponen score a acreditados de expediente delgado que el buró no puede ver, a menudo expandiendo el acceso justo. También multiplican el riesgo de proxies y el riesgo de drift simultáneamente. La tecnología es la parte fácil.
El track, cerrado
Hace doce módulos, el riesgo de crédito era una ecuación: EL = PD × LGD × EAD. Todo lo que siguió han sido maneras de ganarse el derecho a un número dentro de ella — scorecards y razones financieras, curvas y bonos, opciones e intensidades, matrices y modelos de factores y cópulas, y finalmente machine learning bajo las disciplinas gemelas de la validación y la equidad. La síntesis que vale la pena conservar: los modelos se volvieron más sofisticados; las preguntas nunca cambiaron. ¿Quién podría no pagar? ¿Cuánto costaría eso? ¿Esos eventos se agrupan? ¿Y puedes explicar tu respuesta — a un regulador, a un validador, y a la persona que rechazaste?
Dónde conecta esto
- El scorecard contra el que este módulo no deja de comparar es el Módulo 2; la trampa de sesgo muestral en la calibración es la lección más vieja del Módulo 3.
- Monitoreo, drift y cadencia de reentrenamiento — la mitad de producción de esta historia — es el Módulo 6 de DS; la evaluación honesta es el Módulo 4 de DS; la lectura causal de las atribuciones del modelo es el Módulo 8 de DS.
- El provisionamiento y el capital consumen estas PDs río abajo: Módulo 9 y Módulo 10.
Pruébalo tú mismo
El notebook de abajo es el pipeline completo sobre un dataset sintético estilo buró: baseline de scorecard (logística sobre features WOE), XGBoost con y sin restricciones monotónicas, evaluación out-of-time (AUC/KS/Gini), calibración isotónica con gráficas de confiabilidad, TreeSHAP — importancia global, dependence plots y cascadas por solicitante individual — y un generador de códigos de razones de rechazo construido a partir del output de SHAP. El ejercicio de cierre corre una prueba simple de impacto dispar sobre una etiqueta de grupo inferida y te pide encontrar el modelo alternativo menos discriminatorio.
Recibe los nuevos posts por correo
Un correo por cada artículo nuevo. Sin spam, sin ventas, cancela cuando quieras.