El presente documento detalla la metodología implementada para el análisis de relaciones causales entre variables de producción y circulación mediante un Modelo Lineal Generalizado Bayesiano (BGLM) con estructura autorregresiva de primer orden AR(1). Este enfoque difiere sustancialmente de la metodología ECM-MARS al adoptar un paradigma inferencial bayesiano completo, permitiendo cuantificar la incertidumbre predictiva de manera integral y comparar modelos mediante criterios de información predictiva.
Sea \(Y_t\) la variable dependiente y \(X_t\) la variable independiente en el tiempo \(t\). El modelo completo se especifica como:
\[Y_{t,s} = \alpha + \beta_0 \cdot t_s + \sum_{i=1}^{L} \beta_i X_{t-i,s} + \epsilon_t\]
donde:
La estandarización es crítica para la eficiencia del algoritmo NUTS1 (No-U-Turn Sampler), garantizando que todos los parámetros operen en escalas comparables y evitando problemas de convergencia en el muestreador Hamiltoniano.
Como benchmark de comparación, se estima un modelo base que excluye la información de la variable independiente:
\[Y_{t,s} = \alpha + \beta_0 \cdot t_s + \epsilon_t\]
Este modelo captura únicamente la tendencia temporal y la estructura autorregresiva intrínseca de \(Y\), sirviendo como hipótesis nula efectiva contra la cual evaluar la contribución predictiva de los rezagos de \(X\).
Los priors se especifican en la escala estandarizada para mantener consistencia:
La elección de priors débilmente informativos2 refleja un balance entre regularización suave y flexibilidad para aprender de los datos. La distribución Student-t para el intercepto proporciona robustez ante valores atípicos, mientras que el prior exponencial para \(\sigma\) garantiza positividad con cola pesada.
A diferencia de la validación cruzada tradicional que viola el principio de causalidad temporal, implementamos Leave-Future-Out (LFO) con ventana deslizante (sliding window). Este esquema respeta estrictamente el ordenamiento temporal y simula el contexto real de pronóstico prospectivo.
El procedimiento se estructura así:
Inicialización: El conjunto de entrenamiento inicial comprende el 70% de los datos o un mínimo de 90 observaciones, lo que sea mayor.
Horizonte de prueba: Cada fold evalúa \(h = 12\) meses hacia adelante, simulando pronósticos anuales.
Paso entre folds: El origen se desplaza 12 meses entre evaluaciones sucesivas.
Ventana deslizante: El tamaño del conjunto de entrenamiento permanece constante3, descartando observaciones antiguas al incorporar nuevas. Esto contrasta con la ventana expansiva donde el conjunto de entrenamiento crece monotónicamente.
La ventaja de la ventana deslizante radica en su sensibilidad a cambios de régimen y su capacidad de adaptación a dinámicas no estacionarias en sentido amplio. Mientras que una ventana expansiva asume parámetros constantes a lo largo de toda la historia, la ventana deslizante reconoce que las relaciones económicas pueden evolucionar, manteniendo solo la “memoria reciente” más relevante para el pronóstico.
Para cada fold \(k\), comparamos el desempeño predictivo del modelo completo contra el modelo base mediante dos criterios complementarios:
El ELPD4 cuantifica la densidad predictiva logarítmica esperada para nuevas observaciones:
\[\text{ELPD}_k = \sum_{t \in \text{test}_k} \log \int p(y_t | \theta) p(\theta | \text{datos}_{\text{train},k}) d\theta\]
En la práctica, aproximamos esta integral mediante el estimador log-sum-exp sobre las muestras posteriores:
\[\widehat{\text{ELPD}}_k = \sum_{t \in \text{test}_k} \log \left( \frac{1}{S} \sum_{s=1}^S p(y_t | \theta^{(s)}) \right)\]
donde \(\theta^{(s)}\) son las muestras posteriores y \(S\) es el número de iteraciones post-warmup.
La diferencia \(\Delta\text{ELPD}_k = \text{ELPD}_{k,\text{full}} - \text{ELPD}_{k,\text{base}}\) mide la ganancia en capacidad predictiva. Un \(\Delta\text{ELPD} > 0\) indica que el modelo completo asigna mayor probabilidad a los datos observados fuera de muestra.
Complementamos el ELPD con métricas tradicionales en la escala original de las variables:
donde \(\hat{y}_t\) es la media
posterior de las predicciones, obtenida mediante
posterior_epred()
y transformada de vuelta a la escala
original.
Un modelo completo “gana” en el fold \(k\) si y solo si:
\[\begin{cases} \Delta\text{ELPD}_k > 0 & \text{(mejor densidad predictiva)} \\ \Delta\text{RMSE}_k < 0 & \text{(menor error cuadrático)} \end{cases}\]
Este criterio dual exige superioridad tanto en términos probabilísticos (ELPD) como determinísticos (RMSE), evitando victorias espurias por mejoras en una sola dimensión.
La inferencia se realiza mediante el algoritmo NUTS5 implementado en Stan a
través de brms
con backend cmdstanr
. Los
parámetros de muestreo se calibran para garantizar convergencia
robusta:
La paralelización se implementa a nivel de cadenas
(parallel_chains = 4
), no dentro de cada cadena, para
mantener la eficiencia del muestreador sin sobresuscripción del CPU.
Aunque no se reportan explícitamente en el código de producción por eficiencia, los diagnósticos estándar incluyen:
Definimos el soporte como:
\[\text{support} = \frac{\text{folds\_pass}}{\text{folds}}\]
donde folds_pass
cuenta los folds donde el modelo
completo satisface el criterio dual de victoria. Esta métrica cuantifica
la consistencia temporal del poder predictivo.
Establecemos dos niveles de confianza:
El requisito de un mínimo absoluto de folds previene falsos positivos por denominadores pequeños (e.g., 1/1 = 100% support no constituye evidencia robusta).
Un soporte alto indica que la relación predictiva persiste a través de diferentes regímenes temporales. Valores de soporte:
Aspecto | ECM-MARS | GLM Bayesiano AR(1) |
---|---|---|
Paradigma | Frecuentista con tests secuenciales | Bayesiano integral |
Cointegración | Requisito explícito (Engle-Granger/Johansen) | Implícita en estructura AR(1) |
No-linealidad | MARS con splines adaptativos | Lineal en parámetros |
Incertidumbre | Errores estándar HAC | Distribución posterior completa |
Comparación | Tests de significancia | ELPD + métricas predictivas |
Complejidad | Alta (múltiples pre-tests) | Moderada (modelo directo) |
Cuantificación integral de incertidumbre: Las distribuciones posteriores capturan toda la incertidumbre paramétrica, propagándola naturalmente a las predicciones.
Comparación directa de modelos: El ELPD proporciona una métrica unificada para comparar modelos no anidados sin ajustes por multiplicidad.
Robustez a violaciones de supuestos: Los priors regularizadores y la estructura AR(1) acomodan desviaciones moderadas de los supuestos clásicos.
Interpretabilidad: Los intervalos de credibilidad tienen interpretación probabilística directa, a diferencia de los intervalos de confianza frecuentistas.
Costo computacional: El muestreo MCMC es órdenes de magnitud más lento que la estimación por MCO/MARS.
Sensibilidad a priors: En muestras pequeñas, la elección de priors puede influir sustancialmente en los resultados.
Linealidad: La ausencia de términos no lineales (splines) puede limitar la flexibilidad para capturar relaciones complejas.
Paralelización por pares: Cada par \((X \to Y)\) se procesa secuencialmente, pero las cadenas MCMC dentro de cada modelo se paralelizan.
Liberación de memoria: Los objetos de Stan se liberan implícitamente tras cada fold mediante el recolector de basura de R.
Backend cmdstanr: Más eficiente que rstan para modelos grandes, con mejor gestión de memoria y diagnósticos.
El código incluye salvaguardas para:
NULL
y se excluyen del análisis.PARA cada par (X, Y) en {producción × circulación} × {2 direcciones}:
1. Construir matriz con Y, X, y lags(X, 1:L)
2. Eliminar filas con valores faltantes
PARA cada fold en rolling_splits(sliding_window):
3. Dividir en train/test
4. Estandarizar variables usando estadísticos del train
5. Ajustar modelo_base: Y_s ~ 1 + t_s + AR(1)
6. Ajustar modelo_full: Y_s ~ 1 + t_s + X_lags + AR(1)
7. Calcular ELPD para ambos modelos en test
8. Generar predicciones puntuales (posterior_epred)
9. Transformar predicciones a escala original
10. Computar métricas (RMSE, MAE, sMAPE, R²)
11. Determinar victoria: (ΔELPD > 0) ∧ (ΔRMSE < 0)
12. Calcular support = wins / total_folds
13. Promediar métricas across folds
14. Ranking por (support DESC, ΔELPD DESC, ΔRMSE ASC)
15. Filtrar ganadores por umbrales de support
16. Exportar resultados y visualizaciones
El escalamiento por fold (no global) es crucial porque:
Es posible obtener \(R^2 < 0\) en evaluación fuera de muestra cuando el modelo predice peor que la media muestral. Esto no indica error de cálculo sino genuino mal desempeño predictivo. De manera similar, ratios RMSE > 1 indican que el modelo completo empeora las predicciones respecto al baseline.
El framework actual admite varias extensiones naturales:
s()
en brms
La metodología GLM Bayesiana con AR(1) ofrece un marco robusto y principiado para evaluar relaciones predictivas entre variables económicas. A diferencia del enfoque ECM-MARS que requiere validación secuencial de múltiples supuestos (estacionariedad, cointegración, velocidad de ajuste), el modelo bayesiano integra toda la incertidumbre en un framework unificado.
Los resultados sugieren que las relaciones más robustas (support > 0.70) corresponden típicamente a pares donde la teoría económica predice causalidad fuerte, mientras que relaciones con support moderado (0.60-0.70) pueden reflejar canales de transmisión indirectos o dependientes del régimen económico vigente.
La evaluación dual mediante ELPD y RMSE garantiza que los modelos seleccionados no solo ajusten bien en términos de error cuadrático sino que también capturen adecuadamente la estructura probabilística de los datos. Esta doble exigencia filtra efectivamente relaciones espurias que podrían parecer prometedoras bajo un solo criterio.
NUTS (No-U-Turn Sampler) es una extensión adaptativa del algoritmo Hamiltonian Monte Carlo que ajusta automáticamente la longitud de las trayectorias para maximizar la eficiencia del muestreo sin requerir tuning manual del número de pasos leapfrog.↩︎
Los priors débilmente informativos proporcionan regularización suave sin imponer creencias fuertes a priori. En el límite de datos abundantes, su influencia se desvanece, recuperando estimaciones similares a máxima verosimilitud.↩︎
El tamaño constante del conjunto de entrenamiento en sliding window garantiza que todos los folds tengan poder estadístico comparable, evitando el sesgo hacia folds tardíos que ocurre con ventanas expansivas.↩︎
ELPD (Expected Log Predictive Density) es el criterio de evaluación predictiva fundamental en estadística bayesiana, generalizado por WAIC y LOO-CV. Mide la capacidad del modelo para asignar alta probabilidad a nuevas observaciones.↩︎
El algoritmo NUTS elimina la necesidad de ajustar manualmente el número de pasos en HMC mediante un criterio de parada basado en “U-turns” en el espacio de parámetros, donde la trayectoria comienza a retroceder hacia su origen.↩︎
Data leakage ocurre cuando información del conjunto de prueba contamina el proceso de entrenamiento, inflando artificialmente las métricas de desempeño. El escalamiento con estadísticas globales constituiría una forma sutil pero perniciosa de leakage.↩︎