Bootstrap Chain Ladder¶
Bootstrap Chain Ladder extiende Chain Ladder mediante simulación. En lugar de producir únicamente un ultimate y un IBNR, genera una distribución de resultados posibles que permite estimar percentiles, asimetría y probabilidad de insuficiencia.
El método no corrige un triángulo inadecuado. Su distribución predictiva es útil solo si la estructura central de Chain Ladder y las decisiones de simulación son razonables.
Objetivos¶
Al finalizar este capítulo, el lector podrá:
- diferenciar riesgo de parámetros, proceso y modelo;
- explicar la formulación de Poisson sobredispersado;
- calcular e interpretar residuos;
- describir el algoritmo Bootstrap paso a paso;
- construir percentiles, VaR y TVaR empíricos;
- evaluar convergencia y error Monte Carlo;
- identificar decisiones metodológicas que afectan el resultado;
- reconocer riesgos particulares en seguros de salud.
Relación con Chain Ladder¶
Bootstrap utiliza Chain Ladder como modelo central:
Triángulo observado
↓
Ajuste Chain Ladder
↓
Valores ajustados y residuos
↓
Remuestreo de residuos
↓
Pseudo-triángulos
↓
Reestimación de factores
↓
Simulación de pagos futuros
↓
Distribución de ultimate e IBNR
La media de las simulaciones debe ser razonablemente cercana al Chain Ladder base. Diferencias materiales pueden revelar sesgos de implementación, tratamiento de negativos, selección de cola o una distribución de proceso mal calibrada.
Fuentes de incertidumbre¶
Riesgo de parámetros¶
Los factores se estiman con una historia finita. Bootstrap representa esta fuente al generar pseudo-triángulos y volver a estimar los factores en cada simulación.
Riesgo de proceso¶
Incluso con parámetros conocidos, los pagos futuros son aleatorios. Se representa simulando cada celda futura alrededor de su media proyectada.
Riesgo de modelo¶
Es la posibilidad de que la estructura seleccionada sea incorrecta. El Bootstrap estándar no lo captura completamente.
Ejemplos:
- efectos de calendario omitidos;
- segmentación insuficiente;
- cola no observada;
- dependencia entre periodos de origen;
- cambios en prácticas de pago;
- inflación o reforma estructural.
El riesgo de modelo debe tratarse con validación, modelos alternativos y escenarios.
Formulación ODP¶
Una formulación frecuente utiliza un modelo de Poisson sobredispersado, conocido como ODP.
Sea (X_{i,j}) el valor incremental del periodo de origen (i) y desarrollo (j):
donde \(\phi\) es el parámetro de dispersión.
Una estructura multiplicativa es:
o, con enlace logarítmico:
Bajo ciertas condiciones, esta formulación reproduce las estimaciones centrales de Chain Ladder.
Valores ajustados¶
El Bootstrap suele trabajar sobre incrementales. Si \(\widehat C_{i,j}\) es el acumulado ajustado:
Los incrementales ajustados representan la media estimada para las celdas observadas.
Residuos de Pearson¶
Una definición habitual es:
La dispersión puede estimarse como:
donde (N) es el número de celdas observadas y (p) el número efectivo de parámetros.
Ajuste por grados de libertad¶
Como el modelo se estima con los mismos datos, los residuos brutos pueden subestimar la variabilidad. Una corrección común es:
Otra opción utiliza el leverage de cada observación. La corrección seleccionada debe documentarse y aplicarse de manera consistente.
Centrado¶
Antes del remuestreo puede centrarse el conjunto:
El centrado reduce el riesgo de introducir un sesgo sistemático en los pseudo-datos.
Algoritmo Bootstrap¶
Para cada simulación (b=1,\ldots,B):
- Remuestrear con reemplazo residuos ajustados.
- Generar incrementales pseudo-observados.
- Tratar celdas inválidas según una política definida.
- Acumular el pseudo-triángulo.
- Reestimar factores de desarrollo.
- Proyectar el triángulo inferior.
- Obtener las medias incrementales futuras.
- Simular el riesgo de proceso.
- Calcular ultimate e IBNR simulados.
Una construcción frecuente de pseudo-observaciones es:
El factor reestimado en la simulación (b) es:
La reserva total simulada es:
El conjunto \(\{R^{(1)},\ldots,R^{(B)}\}\) aproxima la distribución predictiva bajo el modelo.
Simulación del riesgo de proceso¶
Gamma¶
Una elección frecuente para incrementales positivos es:
Con esta parametrización:
Otras opciones¶
Según los datos pueden considerarse:
- Poisson sobredispersado;
- Tweedie;
- lognormal;
- modelos con frecuencia y severidad;
- simulación empírica segmentada.
La distribución de proceso no es una decisión puramente técnica. Debe ser coherente con el signo, dispersión y comportamiento de las celdas futuras.
Resultados de la distribución¶
Media, mediana y desviación estándar¶
La media simulada estima el valor esperado bajo el procedimiento. La mediana puede diferir cuando la distribución es asimétrica.
Percentil o VaR¶
El percentil (q) se estima como:
TVaR¶
El promedio de los resultados que exceden el percentil es:
Probabilidad de insuficiencia¶
Para una reserva registrada (R_{booked}):
Esta probabilidad debe interpretarse dentro del modelo; no incorpora automáticamente eventos estructurales omitidos.
Número de simulaciones¶
El número requerido depende del uso. La media converge más rápido que los percentiles extremos.
Buenas prácticas:
- fijar una semilla reproducible;
- ejecutar al menos varios miles de simulaciones para exploración;
- usar más simulaciones para P95, P99 o TVaR;
- repetir el cálculo con semillas distintas;
- medir el error Monte Carlo;
- verificar estabilidad por segmento y total.
Una prueba sencilla compara estimaciones con (B), (2B) y (4B). Si el percentil objetivo cambia materialmente, la simulación aún no es estable.
Valores negativos, ceros y ajustes¶
Los incrementales pueden ser negativos por reversos, recuperaciones, glosas o reclasificaciones. Truncarlos automáticamente en cero modifica la media y la varianza.
Antes de decidir debe distinguirse entre:
- error de datos;
- ajuste contable válido;
- recuperación;
- cambio de estimación;
- inestabilidad del modelo.
Posibles tratamientos:
- modelar positivos y negativos por separado;
- usar una distribución compatible con ambos signos;
- agrupar edades o segmentos;
- aplicar una transformación documentada;
- excluir un dato erróneo con trazabilidad;
- utilizar escenarios.
Los valores ajustados muy pequeños también generan residuos inestables y requieren revisión.
Tail factor¶
Si el triángulo no alcanza ultimate, la cola debe incorporarse a la simulación. Una cola determinística subestima su contribución a la incertidumbre.
Debe documentarse:
- método de selección;
- fuente de información;
- distribución o escenarios de cola;
- dependencia con factores observados;
- sensibilidad del IBNR y percentiles.
Dependencia y efectos de calendario¶
El remuestreo simple supone residuos aproximadamente intercambiables. Esto puede fallar cuando existe:
- inflación médica común;
- cambio regulatorio;
- migración de plataforma;
- choque epidémico;
- campaña de conciliación;
- concentración por prestador.
Alternativas incluyen remuestreo por bloques, modelos con efecto calendario, segmentación, GLM ampliados o escenarios correlacionados.
Aplicación en seguros de salud¶
Bootstrap es útil cuando la distribución de reservas es asimétrica o cuando se necesitan percentiles para capital, solvencia y apetito de riesgo.
La implementación debe considerar:
- radicación y pago en periodos cortos;
- estacionalidad de utilización;
- grandes reclamaciones;
- glosas y recobros;
- cambios en red de prestadores;
- diferencias entre pagado e incurrido;
- contratos capitados, prospectivos y por evento;
- exposición y mezcla de población.
Una práctica defendible es ejecutar modelos separados por segmentos homogéneos y agregar resultados incorporando la dependencia relevante.
Implementación en Python¶
Un flujo ilustrativo con chainladder es:
import chainladder as cl
bootstrap = cl.BootstrapODPSample(
n_sims=25_000,
random_state=20260714,
)
simulated_triangles = bootstrap.fit_transform(triangle)
models = cl.Chainladder().fit(simulated_triangles)
ibnr_simulations = models.ibnr_
Para resultados almacenados como un arreglo unidimensional:
import numpy as np
values = np.asarray(ibnr_simulations, dtype=float).ravel()
summary = {
"mean": float(values.mean()),
"std": float(values.std(ddof=1)),
"p50": float(np.quantile(values, 0.50)),
"p75": float(np.quantile(values, 0.75)),
"p95": float(np.quantile(values, 0.95)),
"p99": float(np.quantile(values, 0.99)),
}
var_95 = summary["p95"]
tvar_95 = float(values[values >= var_95].mean())
La forma exacta del objeto y la API dependen de la versión instalada. Deben fijarse dependencias y probar el resultado contra un caso controlado.
Implementación en R¶
Con el paquete ChainLadder:
library(ChainLadder)
set.seed(20260714)
fit <- BootChainLadder(
Triangle = triangle,
R = 25000,
process.distr = "gamma"
)
simulations <- fit$IBNR.Totals
quantile(
simulations,
probs = c(0.50, 0.75, 0.95, 0.99)
)
Validación y backtesting¶
Holdout de diagonal¶
Se retira una diagonal conocida, se ajusta el modelo con la información anterior y se compara la predicción con lo observado.
Backtesting por fecha de corte¶
Para cada cierre histórico:
- reconstruir la información disponible;
- ejecutar el modelo;
- observar el desarrollo posterior;
- ubicar el resultado real dentro de la distribución predicha;
- medir sesgo y cobertura.
Prueba de calibración¶
Si se producen intervalos del 90 % o 95 %, su cobertura histórica debe revisarse. Una cobertura baja puede indicar subestimación de incertidumbre o sesgo del modelo.
Controles de producción¶
Conservar como mínimo:
- triángulo de entrada;
- factores y valores ajustados;
- definición y corrección de residuos;
- parámetro de dispersión;
- distribución de proceso;
- número de simulaciones y semilla;
- tratamiento de negativos y ceros;
- método de cola;
- resultados por origen y total;
- media, desviación, CV y percentiles;
- error Monte Carlo;
- validación y comparación con Mack;
- versiones de código y dependencias.
Ventajas y limitaciones¶
Ventajas¶
- produce una distribución predictiva empírica;
- permite intervalos asimétricos;
- entrega percentiles, VaR y TVaR;
- integra riesgo de parámetros y proceso;
- facilita escenarios de suficiencia;
- sirve como contraste del resultado de Mack.
Limitaciones¶
- hereda supuestos de Chain Ladder;
- es sensible a outliers y residuos no intercambiables;
- requiere varias decisiones de implementación;
- puede ser computacionalmente intensivo;
- no incorpora automáticamente riesgo estructural;
- puede ser inestable con triángulos pequeños;
- necesita tratamiento cuidadoso de cola, ceros y negativos.
Buenas prácticas¶
- validar Chain Ladder antes de simular;
- separar riesgo de parámetros y de proceso;
- fijar semilla y versiones;
- revisar convergencia de percentiles;
- comparar media Bootstrap con Chain Ladder;
- contrastar error estándar con Mack;
- documentar todas las transformaciones;
- complementar con escenarios cuando cambie el entorno.
Capítulos relacionados¶
Anterior: Chain Ladder de Mack.
Siguiente: Comparación entre Mack y Bootstrap.