Bayesian structural time series (BSTS) es un marco estadístico para modelar y pronosticar datos de series temporales. Integra modelos de espacio de estados con inferencia bayesiana, lo que permite descomponer una serie en componentes de tendencia, estacionales y de regresión, al tiempo que proporciona distribuciones posteriores completas para todos los parámetros. Este enfoque es especialmente valorado por su capacidad para manejar datos faltantes, incorporar información previa y cuantificar la incertidumbre en predicciones y estimaciones de efectos causales.
El método fue popularizado a mediados de la década de 2010 a través de trabajos académicos e implementaciones de código abierto, destacando el paquete CausalImpact desarrollado por Google. BSTS se ha convertido en una herramienta estándar en campos como la econometría, la epidemiología y el análisis de marketing, donde comprender el impacto de intervenciones o eventos en una serie temporal es crítico. Su flexibilidad y naturaleza probabilística lo distinguen de métodos clásicos de series temporales como ARIMA, que a menudo requieren estacionariedad y tratan los parámetros como fijos.
Componentes principales
Los modelos BSTS se basan en una representación de espacio de estados, donde una serie temporal observada \( y_t \) se expresa como una función de un vector de estado latente \( \alpha_t \). La ecuación de observación es típicamente \( y_t = Z_t^T \alpha_t + \varepsilon_t \), y el estado evoluciona según \( \alpha_{t+1} = T_t \alpha_t + R_t \eta_t \), con términos de error \( \varepsilon_t \) y \( \eta_t \) asumidos como gaussianos. El vector de estado puede incluir múltiples componentes: una tendencia lineal local, un componente estacional (a menudo modelado con términos de Fourier o variables dummy) y coeficientes de regresión para predictores externos.
Una característica clave es el uso de prioris spike-and-slab en los coeficientes de regresión. Esta distribución previa permite que el modelo realice automáticamente selección de variables, reduciendo coeficientes irrelevantes a cero mientras retiene predictores importantes. Esto es especialmente útil cuando el número de covariables potenciales es grande en relación con el tamaño de la muestra, un escenario común en estudios observacionales.
Inferencia bayesiana y computación
La inferencia en BSTS se realiza mediante métodos de Markov chain Monte Carlo (MCMC), típicamente usando muestreo de Gibbs. La estructura de espacio de estados permite un muestreo eficiente de los estados latentes a través del filtro de Kalman y su suavizador, mientras que los coeficientes de regresión y los parámetros de varianza se actualizan condicionalmente. El enfoque bayesiano produce una distribución posterior para cada cantidad, lo que permite intervalos creíbles para pronósticos y estimaciones de efectos.
Una ventaja práctica es el manejo natural de observaciones faltantes. En un marco de espacio de estados, los valores faltantes se tratan como variables latentes y se imputan durante el proceso de muestreo, evitando la necesidad de pasos de imputación separados. Esto es particularmente beneficioso para conjuntos de datos del mundo real con lagunas debido a retrasos en informes o problemas de recopilación de datos.
Análisis de impacto causal
Una aplicación prominente de BSTS es la estimación de impacto causal, como se implementa en el paquete R CausalImpact. El método construye un control sintético para una unidad tratada ajustando un modelo BSTS a un conjunto de series temporales de control durante un período previo a la intervención. El modelo aprende la relación entre la serie tratada y los controles, luego predice el resultado contrafactual para el período posterior a la intervención. La diferencia entre los valores observados y predichos proporciona una estimación del efecto causal, completa con intervalos de incertidumbre.
Este enfoque se ha utilizado ampliamente para evaluar el efecto de campañas de marketing, cambios de políticas o intervenciones de salud pública. Por ejemplo, los investigadores lo han aplicado para medir el impacto del gasto publicitario en las ventas o el efecto de una nueva ley en los accidentes de tráfico. La fortaleza del método radica en su capacidad para tener en cuenta tendencias y estacionalidad sin requerir un experimento aleatorizado.
Implementaciones de software
Varios paquetes de software implementan BSTS. El paquete original CausalImpact, lanzado por Google en 2014, sigue siendo popular en R. El paquete R bsts, también de Google, proporciona un marco más general para construir modelos de espacio de estados personalizados. En Python, la biblioteca pycausalimpact ofrece un puerto de CausalImpact, y la biblioteca statsmodels incluye algo de funcionalidad de espacio de estados, aunque con menos énfasis en la selección de variables bayesiana.
Estas herramientas han reducido la barrera de entrada, permitiendo que profesionales sin experiencia profunda en estadística bayesiana apliquen BSTS. Sin embargo, los usuarios aún deben tomar decisiones de modelado, como el número de componentes estacionales o la distribución previa para los coeficientes de regresión, que pueden influir en los resultados.
Limitaciones y consideraciones
BSTS es computacionalmente intensivo en comparación con métodos clásicos, especialmente para series largas o muchas covariables, debido al muestreo MCMC. Los diagnósticos de convergencia son necesarios para garantizar estimaciones posteriores fiables. El método también asume linealidad y errores gaussianos, que pueden no cumplirse para datos de conteo o distribuciones muy sesgadas, aunque existen extensiones para familias de Poisson y otras.
Otra limitación es la dependencia de la elección de series de control en aplicaciones causales. Si los controles son predictores pobres o están ellos mismos afectados por la intervención, las estimaciones contrafactuales pueden estar sesgadas. A pesar de estos desafíos, BSTS sigue siendo una herramienta robusta y flexible, que une la econometría tradicional con enfoques modernos de aprendizaje automático.
Conceptos relacionados
BSTS está relacionado con campos más amplios de aprendizaje automático y inteligencia artificial, particularmente en aplicaciones de pronóstico. Comparte fundamentos conceptuales con modelos secuencia a secuencia y arquitecturas codificador-decodificador, que también manejan dependencias temporales, aunque BSTS enfatiza la interpretabilidad y la cuantificación de la incertidumbre. El método también se conecta con técnicas de aumento de datos, ya que la imputación de datos faltantes es una característica central. En el contexto de IA generativa, BSTS puede usarse para generar escenarios contrafactuales realistas, aunque no es un enfoque basado en redes neuronales.