Bloque II · Construcción y selección de modelos · Módulo 6 de 20
Efectos aleatorios en GAMLSS
Incorporar efectos aleatorios en cualquier parámetro de la distribución usando re() en gamlss, modelar heterogeneidad entre grupos con efectos anidados y cruzados, construir modelos multinivel distribucionales, y comparar con los GLMM del curso MLM.
Datos: cartera_pd, severidad_acc
1. La heterogeneidad invisible
En ACC, la analista Laura Ríos ha descubierto que la severidad media de siniestros varía por sector. Pero dentro de cada sector hay subgrupos: las pólizas grandes vs. pequeñas, los clientes nuevos vs. antiguos. ¿Qué pasa si hay variabilidad no explicada por las covariables observadas?
Si vienes del curso de Modelos Mixtos (MLM), ya conoces la respuesta: efectos aleatorios. La novedad en GAMLSS es que los efectos aleatorios pueden entrar en cualquier parámetro de la distribución, no solo en .
Objetivo
Aprender a usar re() en gamlss() para incorporar efectos aleatorios en
, , o , modelar heterogeneidad entre grupos, y
entender la conexión con los GLMM del curso MLM.
2. Efectos aleatorios en GAMLSS: formulación
Un efecto aleatorio para un factor con niveles introduce un término en el predictor. En GAMLSS, esto se puede hacer para cualquier parámetro:
donde es el efecto aleatorio del grupo al que pertenece la observación , para el parámetro .
La sintaxis en R es directa:
gamlss(y ~ x + re(factor),
sigma.formula = ~ re(factor),
family = GA, data = df)
Conexión con el curso MLM
En el curso de Modelos Mixtos, el GLMM modela donde . GAMLSS generaliza esto: el efecto aleatorio puede entrar también en , o . Por ejemplo, la dispersión de la severidad puede variar por sector de forma aleatoria, no solo la media. Esto es regresión distribucional con estructura jerárquica.
3. Caso de estudio: probabilidad de incumplimiento (PD)
El dataset cartera_pd contiene 2.500 clientes con información de sector,
antigüedad, ratio de liquidez, endeudamiento y una variable binaria default
(incumplimiento sí/no). La pregunta: ¿la PD varía por sector de forma
sistemática, o hay una componente aleatoria?
Dataset: cartera_pd.csv
Datos de probabilidad de incumplimiento (PD) de 2.500 clientes de ACC, con covariables financieras y sectoriales. Simulado con semilla 2026.
| Variable | Tipo | Descripción |
|---|---|---|
| id_cliente | string | Identificador único del cliente |
| sector | factor (5 niveles) | Sector económico |
| antiguedad | numérica | Años de relación con ACC |
| ratio_liquidez | numérica | Ratio de liquidez corriente |
| endeudamiento | numérica (0-1) | Ratio de endeudamiento |
| default | binaria (0/1) | Incumplimiento (1) o no (0) |
| trimestre | entero (1-8) | Trimestre de observación |
4. Modelo BI con efecto aleatorio por sector
Para una variable binaria default, usamos la familia BI (Binomial) con
enlace logit para :
El modelo con efecto aleatorio (m2) tiene menor AIC. El efecto aleatorio de construcción es +0.49, lo que implica que la PD de construcción es veces el promedio, independientemente del endeudamiento y la liquidez. Hay algo del sector construcción que no capturan las covariables observadas.
logitPredictor
5. Efectos aleatorios en σ: dispersión heterogénea
GAMLSS permite que la dispersión también varíe por grupo. Para datos binomiales, está fijo por la familia BI, pero para distribuciones continuas como Gamma, podemos modelar con efectos aleatorios:
Modelo distribucional jerárquico
El modelo anterior es un modelo distribucional jerárquico: tanto la media como la dispersión de la severidad varían aleatoriamente por sector. Esto es imposible en un GLMM estándar, donde solo tiene estructura jerárquica. GAMLSS abre la puerta a modelar la heterogeneidad completa de la distribución entre grupos.
6. Multilevel GAMLSS: más allá de la media jerárquica
Hasta aquí hemos visto un efecto aleatorio por sector en un parámetro. Pero en la práctica los datos tienen estructura jerárquica: pólizas anidadas en carteras, carteras en sectores, observaciones repetidas en el tiempo. GAMLSS hereda toda la maquinaria de los modelos mixtos y la extiende a la distribución completa.
6.1. Estructura jerárquica anidada
En ACC, cada cliente pertenece a un sector y es observado durante varios trimestres. La estructura es:
Un modelo con efectos aleatorios anidados introduce un término por cada nivel de la jerarquía:
donde es el efecto del sector y es el efecto del trimestre , ambos para el parámetro .
Anidado vs cruzado
Los efectos son anidados cuando los niveles de un factor están contenidos
dentro de otro (ej: alumnos dentro de aulas dentro de escuelas). Son
cruzados cuando cada observación pertenece simultáneamente a niveles de
factores independientes (ej: sector × trimestre — todo sector aparece en todo
trimestre). En gamlss(), ambos se especifican con re() o random():
la distinción está en los datos, no en la sintaxis.
6.2. Efectos aleatorios cruzados: sector × trimestre
El dataset cartera_pd tiene 5 sectores observados durante 8 trimestres.
Cada combinación sector-trimestre tiene múltiples clientes. Esto es un
diseño cruzado: el sector no está anidado en el trimestre ni viceversa.
El modelo cruzado mejora el AIC en 9 puntos. El BLUP del trimestre 8 (+0.19) sugiere un deterioro temporal: la PD base sube en el último trimestre, independientemente del sector. Esto es información que el modelo sin efecto temporal no podía capturar.
Conexión con IFRS 9
El efecto temporal que acabamos de detectar es exactamente lo que IFRS 9
llama ajuste forward-looking: la PD no es constante en el tiempo, y el
regulador exige que se incorporen proyecciones macroeconómicas. Un modelo
GAMLSS con random(trimestre) captura esta dinámica de forma no
paramétrica, sin necesidad de especificar la forma funcional del efecto
macro.
7. Efectos aleatorios en múltiples parámetros: el modelo completo
La verdadera potencia de GAMLSS multinivel aparece cuando los efectos aleatorios entran en más de un parámetro simultáneamente. Volvamos al caso de severidad: ¿la dispersión de la severidad varía por sector de forma aleatoria, además de la media?
Construcción tiene +0.46 en y +0.53 en . La severidad de construcción no solo es mayor en promedio, sino también más impredecible. Un GLMM estándar solo capturaría el desplazamiento de la media; la heterogeneidad de la dispersión quedaría absorbida por el residuo, inflando los intervalos de predicción para todos los sectores por igual.
Modelo distribucional jerárquico completo
El modelo anterior es la culminación del enfoque GAMLSS multinivel:
Cada parámetro tiene su propia estructura jerárquica. Los BLUPs de y pueden estar correlacionados o no: sectores con mayor severidad media tienden también a tener mayor dispersión, pero no necesariamente. GAMLSS estima ambas componentes por separado.
8. Comparación formal: GLMM vs GAMLSS multinivel
log / logit / identityPredictor
La tabla siguiente resume las diferencias:
| Aspecto | GLMM (lme4 / nlme) | GAMLSS multinivel |
|---|---|---|
| Parámetros modelables | , , , | |
| Efectos aleatorios | Solo en | En cualquier parámetro |
| Distribución de | Exponencial family | 100+ familias en gamlss.dist |
| Suavizados no lineales | No nativo | pb(), cy() en cualquier parámetro |
| Selección por GAIC | No | Sí, comparando modelos anidados/no anidados |
| Diagnóstico | Residuos Pearson | Residuos cuantílicos + worm plots por nivel |
| Caso de uso típico | Medias grupales | Distribución completa por grupo |
¿Cuándo usar GLMM y cuándo GAMLSS?
Si solo te interesa la media condicional y la estructura jerárquica es
simple (1-2 niveles), un GLMM con lme4::glmer() es más rápido y estándar.
Si necesitas modelar dispersión, asimetría o curtosis por grupo, o si
los datos tienen colas pesadas que varían entre niveles, GAMLSS es la
herramienta correcta. En la práctica actuarial, casi siempre importa la
cola completa, no solo la media.
9. Cierre
¿Qué diferencia fundamental hay entre un GLMM y un GAMLSS con efectos aleatorios?
En el modelo cruzado sector × trimestre, ¿qué indica un BLUP de +0.19 para el trimestre 8?
¿Qué modelarías tú?
Si tienes datos agrupados (por equipo, por región, por médico), ¿la
variabilidad entre grupos afecta solo la media o también la dispersión?
Ajusta un modelo con re() en y otro con re() también en .
¿Mejora el AIC? ¿Los BLUPs de y cuentan la misma historia
o revelan patrones distintos?
Referencias: Rigby & Stasinopoulos (2005), JRSS-C 54(3), Sec. 4; Stasinopoulos et al. (2017), Cap. 7; Pinheiro & Bates (2000), Mixed-Effects Models in S and S-PLUS; Skrondal & Rabe-Hesketh (2004), Generalized Latent Variable Modeling.