Modelos Mixtos

Comparación de modelos

Uso de AIC/BIC y pruebas de razón de verosimilitud para elegir entre especificaciones anidadas.

Datasets: SPRUCE1 (crecimiento de abetos Sitka, Control vs Ozone)

Objetivos de aprendizaje

  • Diferenciar comparaciones de efectos fijos vs. efectos aleatorios y su requisito de ML.
  • Calcular y comparar AIC, BIC y logLik para varias especificaciones anidadas.
  • Aplicar e interpretar una prueba de razón de verosimilitud (LRT) con anova().
  • Reconocer el problema del "boundary" al probar componentes de varianza.
  • Comunicar al equipo clínico por qué se elige un modelo y no otro.

La pregunta detrás de la selección de modelos

Hasta ahora hemos construido modelos cada vez más ricos: efectos fijos, efectos aleatorios, estructuras de covarianza. La pregunta natural es: ¿vale la pena toda esa complejidad? Un modelo más complejo siempre se ajusta al menos igual de bien a los datos observados (en términos de verosimilitud), pero puede estar sobreajustando, capturando ruido en lugar de señal, y dificulta la interpretación.

AIC, BIC y el LRT son tres formas de responder "¿el ajuste extra justifica la complejidad extra?", cada una con su propia penalización.

AIC, BIC y logLik

AIC=−2 log⁡L+2kBIC=−2 log⁡L+klog⁡(n)\text{AIC} = -2\,\log L + 2k \qquad \text{BIC} = -2\,\log L + k \log(n)

donde log⁡L\log L es la log-verosimilitud del modelo, kk el número de parámetros estimados y nn el tamaño de muestra. Ambos criterios premian un mejor ajuste (mayor log⁡L\log L) pero penalizan más parámetros; BIC penaliza más fuerte cuando nn es grande, por lo que tiende a favorecer modelos más simples que AIC. Menor valor = mejor, en ambos casos.

La prueba de razón de verosimilitud (LRT)

Para dos modelos anidados (el más simple es un caso particular del más complejo, fijando algunos parámetros en valores específicos, típicamente 0), la LRT compara:

Λ=−2(log⁡Lsimple−log⁡Lcomplejo)  ∼  χdf2\Lambda = -2(\log L_{\text{simple}} - \log L_{\text{complejo}}) \;\sim\; \chi^2_{df}

donde dfdf es la diferencia en número de parámetros. anova(mod_simple, mod_complex) calcula automáticamente Λ\Lambda, los dfdf y el valor p asociado.

Efectos fijos vs. efectos aleatorios: ¡requiere ML!

Importante: REML produce estimaciones de varianza insesgadas, pero las verosimilitudes REML de modelos con distinta parte fija no son comparables. Por eso, para comparar modelos que difieren en sus efectos fijos (p. ej. ¿agregar la interacción tiempo×grupo?), deben reajustarse con REML = FALSE antes de aplicar AIC/BIC/LRT. Una vez seleccionada la parte fija, el modelo final se reajusta con REML (por defecto) para reportar.

El problema del "boundary" al probar varianzas aleatorias

Cuando la hipótesis nula es que una varianza de efecto aleatorio es cero (p. ej. ¿necesitamos la pendiente aleatoria, o τ12=0\tau_1^2 = 0 basta?), el valor nulo está en el borde del espacio de parámetros (las varianzas no pueden ser negativas). Esto hace que la distribución χ2\chi^2 estándar del LRT sea conservadora, el valor p real es aproximadamente la mitad del que reporta anova(). En la práctica, esto rara vez cambia la decisión cuando el LRT ya es claramente significativo o claramente no significativo, pero vale la pena tenerlo presente en casos límite.

De la tabla de criterios a la decisión

Una buena práctica es construir una tabla de candidatos (modelo, AIC, BIC, logLik, número de parámetros) y razonar en conjunto: si AIC y BIC coinciden en el ganador, la decisión es más robusta. Si discrepan, prioriza el criterio que mejor refleje tu objetivo (BIC si priorizas parsimonia/interpretabilidad; AIC si priorizas predicción).

Flujo de análisis

  1. 1

    Definir candidatos anidados

    Listar especificaciones que difieren en un solo aspecto a la vez (una pendiente aleatoria, una interacción, una covariable).

  2. 2

    Reajustar con ML

    Si los modelos difieren en efectos fijos, reajustar todos con REML = FALSE para que las verosimilitudes sean comparables.

  3. 3

    Calcular AIC/BIC/logLik

    Construir una tabla comparativa con AIC(), BIC() y logLik() para cada candidato.

  4. 4

    Aplicar LRT donde corresponda

    anova(mod_simple, mod_complex) para pares anidados; recordar la cautela del "boundary" en varianzas.

  5. 5

    Reajustar el ganador con REML

    Una vez elegida la especificación final, reajustar con REML (por defecto) para el reporte de efectos fijos y varianzas.

Criterios de selección: qué penalizan y cuándo usarlos
CriterioPenalizaciónTiende a favorecerRequiere modelos anidados
AIC2 × número de parámetros (k)Modelos algo más complejos (mejor predicción)No
BIClog(n) × k (más fuerte si n es grande)Modelos más parsimoniososNo
LRT (anova())Distribución χ² con df = diferencia de parámetrosDecisión binaria con valor pSí

Atención: REML = FALSE para comparar efectos fijos

Si comparas modelos con distinta parte fija usando REML (el valor por defecto), AIC/BIC/LRT no son válidos. Reajusta con REML = FALSE, compara, y solo al final vuelve a REML = TRUE para el modelo elegido.

Info: el LRT para varianzas es conservador

Al probar si una varianza de efecto aleatorio es cero, el valor p de anova() es aproximadamente el doble del valor "correcto" (problema de boundary). Si el resultado es claramente significativo o claramente no, esto rara vez cambia la conclusión.

Reajustar candidatos con ML para comparación
Pruebas de razón de verosimilitud (LRT)
Reajustar el modelo elegido con REML para reportar

Repaso rápido: flashcards

Autoevaluación

1. Quieres comparar un modelo con y sin la interacción tiempo×grupo (mismos efectos aleatorios). ¿Qué debes hacer antes de comparar AIC/BIC/LRT?

2. anova(mod_intercepto, mod_pendiente) da un valor p = 0.04 para la pendiente aleatoria. ¿Qué precaución aplica?

3. AIC favorece el modelo A y BIC favorece el modelo B (más simple). ¿Qué interpretación es razonable?