Saltar al contenido
Métodos de Econometría Aplicada con Python

Modelos de Series Temporales: Modelos de Estado Espacial y Modelos VAR.

Introducción

Modelos de Series Temporales

Los modelos de series temporales se utilizan para analizar datos que evolucionan en el tiempo, representándose como una secuencia de observaciones ordenadas cronológicamente. Existen diversos tipos de modelos de series temporales, entre los que destacan los Modelos de Estado Espacial y los Modelos Vectoriales Autoregresivos (VAR).

Modelos de Estado Espacial

Estos modelos se utilizan para representar relaciones complejas y no lineales entre variables. Constan de dos ecuaciones:

  • Ecuación de estado: describe cómo evoluciona un estado (variable latente) en el tiempo.
  • Ecuación de medición: explica cómo las observaciones (medidas) son generadas a partir de ese estado.

Modelos Vectoriales Autoregresivos (VAR)

Estos modelos se utilizan para estudiar la interdependencia y causación entre varias variables. Se ajustan a partir de los datos observados y permiten hacer estimaciones y pronósticos sobre su comportamiento futuro. En un modelo VAR, cada variable depende de sus propios valores pasados y de los valores pasados de las otras variables incluidas en el modelo.

Aplicaciones

Los Modelos de Estado Espacial y los Modelos VAR son herramientas valiosas para el análisis y la predicción de datos de series temporales con diferentes aplicaciones, tales como:

  • Finanzas
  • Economía
  • Meteorología
Resumen

Modelos de Series Temporales

Los modelos de series temporales son aquellos que utilizan una secuencia temporal de datos para predecir los valores futuros. En este contexto, los Modelos de Estado Espacial y los Modelos Vectoriales Autoregresivos (VAR) son dos enfoques comunes utilizados para modelar series temporales.

Modelos de Estado Espacial

Los Modelos de Estado Espacial son una clase de modelos que utilizan un modelo de Markov para estimar el estado latente (no observado) de una variable, así como su relación con otras variables observadas. Estos modelos permiten combinar observaciones disponibles con información previa y presentar la evolución temporal del proceso. Son especialmente útiles cuando se trabaja con datos que tienen tendencias no estacionarias o componentes estacionales. Estos modelos se utilizan a menudo en pronósticos macroeconómicos y en el análisis de series de tiempo financieras.

Modelos VAR (Vector Autoregresivos)

Los Modelos VAR se utilizan normalmente para analizar la relación y la interacción entre múltiples variables en un sistema. Este enfoque supone que todas las variables en un sistema están interconectadas y se afectan entre sí en su evolución temporal. En términos simples, el modelo VAR predice el valor futuro de una variable basándose en los valores pasados de todas las variables del sistema. Los modelos VAR son útiles porque permiten modelar la interdependencia y la relación causal entre múltiples variables, proporcionando información valiosa en áreas como finanzas y análisis económico. Además, permiten modelar las fluctuaciones en las relaciones dinámicas entre las variables a lo largo del tiempo.

Resumen

Tanto los Modelos de Estado Espacial como los Modelos VAR son herramientas efectivas para modelar datos temporales y predecir valores futuros. Mientras que los Modelos de Estado Espacial se enfocan en la estimación del estado latente, los Modelos VAR se centran en la interdependencia entre las variables. Estas metodologías son aplicables en diversas áreas, incluyendo finanzas, economía y análisis de series temporales con componentes estacionales o no estacionarias.

Aplicación teórica

Introducción a los Modelos de Estado Espacial

Los Modelos de Estado Espacial (o Modelos de Espacio de Estado) son una clase de modelos estadísticos y matemáticos que se utilizan para representar sistemas dinámicos en los que se desea analizar y predecir el comportamiento de variables latentes o no observables, basándose en observaciones de variables relacionadas. Estos modelos son ampliamente utilizados en econometría, control automático, y análisis de series temporales debido a su flexibilidad y capacidad para manejar datos complejos y estructurados.

Concepto de Modelos de Estado Espacial

En términos generales, un modelo de estado espacial describe un sistema dinámico mediante dos ecuaciones principales: una ecuación de estado y una ecuación de observación.

1. Ecuación de Estado: Representa la evolución dinámica del estado del sistema a lo largo del tiempo. Esta ecuación describe cómo el estado del sistema cambia en función del estado previo y de posibles perturbaciones.

2. Ecuación de Observación: Relaciona el estado del sistema con las observaciones reales que se pueden medir. Esta ecuación especifica cómo los datos observados dependen del estado del sistema y de posibles errores de medición.

Ecuaciones Básicas

Para un sistema en el que el estado en el tiempo \(t\) se denota por \( \mathbf{x}_t \) y la observación en el tiempo \(t\) se denota por \( \mathbf{y}_t \), las ecuaciones típicas son:

1. Ecuación de Estado:

\[
\mathbf{x}_t = \mathbf{F}_t \mathbf{x}_{t-1} + \mathbf{B}_t \mathbf{u}_t + \mathbf{w}_t
\]

Donde:
- \( \mathbf{x}_t \) es el vector de estado en el tiempo \(t\).
- \( \mathbf{F}_t \) es la matriz de transición de estado, que describe cómo el estado cambia con el tiempo.
- \( \mathbf{u}_t \) es un vector de entrada o control (opcional).
- \( \mathbf{B}_t \) es la matriz de control, que describe el efecto de las entradas en el estado.
- \( \mathbf{w}_t \) es el vector de ruido de proceso, que sigue una distribución normal con media cero y covarianza \( \mathbf{Q}_t \).

2. Ecuación de Observación:

\[
\mathbf{y}_t = \mathbf{H}_t \mathbf{x}_t + \mathbf{v}_t
\]

Donde:
- \( \mathbf{y}_t \) es el vector de observaciones en el tiempo \(t\).
- \( \mathbf{H}_t \) es la matriz de observación, que describe cómo el estado se traduce en observaciones.
- \( \mathbf{v}_t \) es el vector de ruido de observación, que sigue una distribución normal con media cero y covarianza \( \mathbf{R}_t \).

Ejemplo de Aplicación: Modelos de Series Temporales

Uno de los ejemplos más comunes de modelos de estado espacial es el **Modelo de Kalman**, utilizado para la estimación y predicción en series temporales. El filtro de Kalman es un algoritmo recursivo que estima el estado del sistema en función de las observaciones y el modelo del sistema.

En un contexto de series temporales, el modelo de estado espacial puede ser usado para capturar componentes dinámicos como tendencias, estacionalidades y ciclos en los datos. 

Ejemplo de Modelo de Kalman

Para un modelo de Kalman básico, el sistema se puede describir con las siguientes ecuaciones:

1. Ecuación de Estado:

\[
x_t = \phi x_{t-1} + w_t
\]

Donde \(x_t\) es el estado en el tiempo \(t\), \(\phi\) es un parámetro que describe la evolución del estado, y \(w_t\) es el error del proceso.

2. Ecuación de Observación:

\[
y_t = x_t + v_t
\]

Donde \(y_t\) es la observación en el tiempo \(t\) y \(v_t\) es el error de observación.

Estimación y Filtro

El Filtro de Kalman estima el estado del sistema en cada momento del tiempo utilizando las observaciones disponibles y el modelo del sistema. La estimación se basa en dos pasos:

1. Predicción: Utiliza el modelo de estado para predecir el estado futuro y la covarianza del error.

2. Actualización: Ajusta la predicción con la observación actual para obtener una estimación más precisa del estado.

Aplicaciones en Econometría y Otras Áreas

Los modelos de estado espacial tienen una amplia gama de aplicaciones, incluyendo:

- Econometría: Para modelar y prever dinámicas económicas y financieras, como el crecimiento económico, las tasas de interés y la inflación.
- Control Automático: En la ingeniería para diseñar sistemas de control que ajustan dinámicamente el comportamiento de un sistema.
- Análisis de Datos: Para descomponer y entender componentes ocultos en datos temporales, como tendencias y ciclos.

Ventajas y Desafíos

Ventajas:
- Flexibilidad para modelar sistemas dinámicos complejos.
- Capacidad para integrar información de diferentes fuentes y tipos de datos.
- Herramientas avanzadas como el filtro de Kalman para estimación en tiempo real.

Desafíos:
- Requiere un conocimiento detallado del sistema para definir las matrices y parámetros adecuados.
- La estimación puede ser computacionalmente intensiva, especialmente para sistemas grandes o no lineales.

Conclusión

Los modelos de estado espacial proporcionan un marco poderoso y flexible para analizar y predecir sistemas dinámicos complejos. Su capacidad para manejar variables ocultas y modelar la dinámica del sistema hace que sean herramientas esenciales en econometría, control automático y otras disciplinas que requieren análisis de series temporales y sistemas dinámicos.
 

Introducción a los Modelos VAR (Vector Autoregressive)

Los Modelos Autorregresivos Vectoriales (VAR, por sus siglas en inglés) son una herramienta fundamental en el análisis de series temporales multivariadas. Estos modelos permiten capturar la dinámica temporal y las interacciones entre múltiples variables, proporcionando una estructura flexible para modelar y prever sistemas económicos o financieros complejos. A continuación, se presenta una explicación detallada, centrada en las matemáticas detrás de los modelos VAR.

 Introducción a los Modelos VAR

Un modelo VAR se basa en la idea de que cada variable en un sistema de series temporales puede ser modelada como una función de sus propios rezagos y los rezagos de las otras variables en el sistema. Esto permite capturar las relaciones dinámicas y la influencia mutua entre variables.

Modelo VAR(p)

El modelo VAR de orden \( p \), denotado como VAR(p), se expresa de la siguiente manera:

\[
\mathbf{y}_t = \mathbf{A}_1 \mathbf{y}_{t-1} + \mathbf{A}_2 \mathbf{y}_{t-2} + \cdots + \mathbf{A}_p \mathbf{y}_{t-p} + \mathbf{u}_t
\]

Donde:

- \(\mathbf{y}_t\) es un vector \( k \times 1 \) de variables observadas en el tiempo \( t \), donde \( k \) es el número de variables en el sistema.
- \(\mathbf{A}_i\) son matrices \( k \times k \) de coeficientes que capturan la relación entre las variables para cada rezago \( i \), \( i = 1, 2, \ldots, p \).
- \(\mathbf{u}_t\) es un vector \( k \times 1 \) de errores aleatorios en el tiempo \( t \), con distribución normal multivariada \(\mathcal{N}(0, \mathbf{\Sigma}_u)\), es decir, \(\mathbf{u}_t \sim \mathcal{N}(0, \mathbf{\Sigma}_u)\).

Propiedades Matemáticas del Modelo VAR(p)

1. Estacionariedad

Para que un modelo VAR(p) sea útil, las series temporales deben ser estacionarias, lo que significa que sus propiedades estadísticas (como la media y la varianza) deben ser constantes a lo largo del tiempo. La estacionariedad se puede verificar mediante pruebas de raíz unitaria, como la prueba de Dickey-Fuller aumentada (ADF) o la prueba de Phillips-Perron (PP).

2. Estabilidad

El modelo VAR(p) es estable si todas las raíces del polinomio característico asociado a las matrices \(\mathbf{A}_i\) están dentro del círculo unitario en el plano complejo. La estabilidad garantiza que el modelo es bien comportado y las previsiones no se vuelvan incontrolablemente grandes. La estabilidad se verifica revisando el polinomio característico:

\[
\text{det} (\mathbf{I} - \sum_{i=1}^p \mathbf{A}_i L^i) = 0
\]

donde \(L\) es el operador de rezago.

3. Causalidad

El modelo VAR(p) puede utilizarse para analizar la causalidad entre variables mediante la **Prueba de Causalidad de Granger**. Si una variable \( X \) Granger-causa a otra variable \( Y \), los rezagos de \( X \) ayudan a prever \( Y \), independientemente de los rezagos de \( Y \).

Estimación del Modelo VAR(p)

1. Selección del Orden del Modelo

   La selección del orden \( p \) se realiza utilizando criterios de información, como el Criterio de Información de Akaike (AIC), el Criterio de Información de Schwarz (BIC) o el Criterio Hannan-Quinn (HQ). Estos criterios balancean la bondad de ajuste del modelo con su complejidad:

   - AIC: \(\text{AIC} = \log(\text{det}(\mathbf{\Sigma}_u)) + \frac{2k^2p}{T}\)
   - BIC: \(\text{BIC} = \log(\text{det}(\mathbf{\Sigma}_u)) + \frac{k^2p \log(T)}{T}\)
   - HQ: \(\text{HQ} = \log(\text{det}(\mathbf{\Sigma}_u)) + \frac{2k^2p \log(\log(T))}{T}\)

   Donde \(T\) es el número de observaciones.

2. Estimación de Parámetros

   La estimación de los parámetros del modelo VAR(p) se realiza utilizando el método de Mínimos Cuadrados Ordinarios (OLS) para cada ecuación del sistema. Para cada ecuación, se regresa una variable en función de sus propios rezagos y los rezagos de las demás variables. 

   Para una ecuación en el modelo VAR(p):

   \[
   y_{it} = \alpha_{i0} + \sum_{j=1}^p \sum_{k=1}^k \alpha_{ijk} y_{kt-j} + \epsilon_{it}
   \]

   La estimación de \(\alpha_{ijk}\) se realiza minimizando la suma de los cuadrados de los residuos \(\epsilon_{it}\).

3. Diagnóstico del Modelo

   Tras la estimación, es importante realizar un diagnóstico del modelo revisando:
   - La estabilidad del modelo.
   - La autocorrelación de los residuos.
   - La heterocedasticidad en los residuos.

Aplicaciones de los Modelos VAR(p)

1. Análisis de Impulso-Respuesta

   Permite examinar cómo un choque en una variable afecta a otras variables en el sistema a lo largo del tiempo. Esto se realiza calculando las funciones de respuesta al impulso, que muestran la reacción de una variable a un choque en otra.

2. Predicción Multivariada

   Los modelos VAR(p) se utilizan para realizar previsiones simultáneas de múltiples series temporales basándose en sus historias pasadas.

3. Descomposición de Varianza

   Analiza la proporción de la variabilidad en una variable que se puede atribuir a choques en otras variables. Esto ayuda a entender el impacto relativo de diferentes fuentes de variabilidad.

Ejemplo Matemático: VAR(1)

Consideremos un modelo VAR(1) con dos variables, \(y_{1t}\) y \(y_{2t}\):

\[
\begin{bmatrix}
y_{1t} \\
y_{2t}
\end{bmatrix}
=
\begin{bmatrix}
\alpha_{11} & \alpha_{12} \\
\alpha_{21} & \alpha_{22}
\end{bmatrix}
\begin{bmatrix}
y_{1,t-1} \\
y_{2,t-1}
\end{bmatrix}
+
\begin{bmatrix}
\epsilon_{1t} \\
\epsilon_{2t}
\end{bmatrix}
\]

Aquí, \(\mathbf{A}_1\) es una matriz \(2 \times 2\) de coeficientes que capturan las interacciones entre \(y_{1t}\) y \(y_{2t}\). Los errores \(\epsilon_{1t}\) y \(\epsilon_{2t}\) son términos estocásticos.

Conclusión

Los Modelos VAR son herramientas poderosas para el análisis de sistemas de series temporales multivariadas. Proporcionan una estructura que permite capturar la dinámica y las interacciones entre múltiples variables, facilitando el análisis de causalidad, la predicción y la comprensión de la variabilidad en sistemas complejos. La correcta especificación, estimación y diagnóstico del modelo son esenciales para obtener resultados fiables y útiles en el análisis de datos temporales.

Comparación y Aplicación de Modelos de Estado Espacial y VAR

La comparación entre los Modelos de Estado Espacial (State Space Models, SSM) y los Modelos Autorregresivos Vectoriales (VAR) permite apreciar las fortalezas y limitaciones de cada enfoque en el análisis de series temporales multivariadas. Ambos modelos se utilizan para capturar la dinámica temporal de las variables, pero tienen diferentes estructuras, supuestos y aplicaciones. A continuación, se presenta una comparación detallada entre los Modelos de Estado Espacial y los Modelos VAR, seguida de una discusión sobre sus aplicaciones.

Comparación entre Modelos de Estado Espacial y VAR

1. Estructura Matemática

- Modelos de Estado Espacial:
  
  Los Modelos de Estado Espacial se basan en una representación estructurada que incluye un modelo de observación y un modelo de transición de estado. La estructura general es:

  \[
  \mathbf{y}_t = \mathbf{Z}_t \mathbf{\theta}_t + \mathbf{v}_t
  \]

  \[
  \mathbf{\theta}_t = \mathbf{T}_t \mathbf{\theta}_{t-1} + \mathbf{R}_t \mathbf{w}_t
  \]

  Donde:
  - \(\mathbf{y}_t\) es el vector de observaciones en el tiempo \( t \).
  - \(\mathbf{\theta}_t\) es el vector de estados ocultos en el tiempo \( t \).
  - \(\mathbf{Z}_t\) es la matriz de observación que relaciona los estados ocultos con las observaciones.
  - \(\mathbf{T}_t\) es la matriz de transición que describe la evolución de los estados ocultos.
  - \(\mathbf{R}_t\) es la matriz que relaciona el ruido de los estados (\(\mathbf{w}_t\)) con el estado oculto.
  - \(\mathbf{v}_t\) es el término de error en la observación, y \(\mathbf{w}_t\) es el término de error en el estado.

- Modelos VAR(p):

  El modelo VAR(p) se basa en la relación autorregresiva entre múltiples variables y se expresa como:

  \[
  \mathbf{y}_t = \mathbf{A}_1 \mathbf{y}_{t-1} + \mathbf{A}_2 \mathbf{y}_{t-2} + \cdots + \mathbf{A}_p \mathbf{y}_{t-p} + \mathbf{u}_t
  \]

  Donde:
  - \(\mathbf{y}_t\) es el vector de variables observadas en el tiempo \( t \).
  - \(\mathbf{A}_i\) son las matrices de coeficientes que capturan las interacciones entre variables para cada rezago \( i \).
  - \(\mathbf{u}_t\) es el vector de errores aleatorios, normalmente distribuido con media cero y covarianza \(\mathbf{\Sigma}_u\).

2. Flexibilidad y Modelado

- Modelos de Estado Espacial:

  - Flexibilidad: Los Modelos de Estado Espacial son extremadamente flexibles y pueden manejar una amplia gama de estructuras dinámicas. Pueden incorporar componentes no observables, como tendencias y ciclos, que evolucionan de manera estocástica.
  - Aplicación: Son adecuados para modelos donde la dinámica de los estados ocultos tiene una estructura compleja y donde se necesita modelar componentes de error en diferentes niveles (observaciones y estados).

- Modelos VAR(p):

  - Flexibilidad: Los Modelos VAR(p) son más restrictivos en comparación con los Modelos de Estado Espacial. Se basan en la autoregresión y no capturan explícitamente componentes no observables o efectos de tendencia y ciclo a menos que se extiendan.
  - Aplicación: Son más apropiados para sistemas en los que las relaciones entre variables se pueden capturar mediante rezagos y donde se asume que los errores son independientes y tienen una estructura de covarianza constante.

 3. Estimación y Cálculo

- Modelos de Estado Espacial:

  - Estimación: La estimación de los Modelos de Estado Espacial se realiza típicamente utilizando el filtro de Kalman  y el algoritmo de suavizado de Kalman. Estos métodos permiten calcular las estimaciones óptimas de los estados ocultos y los parámetros del modelo.
  - Cálculo: Los cálculos pueden ser más complejos debido a la necesidad de manejar matrices y procesos estocásticos.

- Modelos VAR(p):

  - Estimación: La estimación de un modelo VAR(p) se realiza generalmente mediante Mínimos Cuadrados Ordinarios (OLS) en cada ecuación del sistema, asumiendo que el modelo es estacionario.
  - Cálculo: La estimación y el diagnóstico suelen ser más directos y menos computacionalmente intensivos en comparación con los Modelos de Estado Espacial.

4. Análisis y Aplicaciones

- Modelos de Estado Espacial:

  - Aplicaciones: Se utilizan en una variedad de contextos, incluyendo la filtración de datos, el análisis de series temporales con componentes ocultos y el ajuste de modelos dinámicos que incluyen efectos estocásticos.
  - Ventaja: Permiten un análisis más detallado de los componentes ocultos y la evolución de los estados, facilitando la interpretación de la dinámica subyacente en las series temporales.

- Modelos VAR(p):

  - Aplicaciones: Son ampliamente utilizados para la predicción multivariada, el análisis de impulso-respuesta y la descomposición de varianza en sistemas de series temporales económicas.
  - Ventaja: Son relativamente simples de implementar y entender, y son muy útiles para capturar las interacciones dinámicas entre múltiples variables.

Aplicación y Comparación en un Caso de Estudio

Consideremos un caso práctico en el que se desea analizar la dinámica conjunta del PIB, la tasa de interés y la inflación. 

- Uso de Modelos de Estado Espacial:
  
  Se podría utilizar un Modelo de Estado Espacial para modelar cada una de estas variables como funciones de estados ocultos que representan, por ejemplo, el ciclo económico y las condiciones monetarias. Esto permitiría descomponer las observaciones en componentes estructurales y observar cómo las condiciones subyacentes afectan cada variable.

- Uso de Modelos VAR(p):
  
  Un modelo VAR(p) podría utilizarse para capturar las relaciones dinámicas entre PIB, tasa de interés e inflación mediante rezagos. Esto permitiría analizar cómo un choque en la tasa de interés afecta al PIB y a la inflación, y viceversa, sin necesidad de modelar estados ocultos.

En resumen, la elección entre Modelos de Estado Espacial y VAR depende del tipo de datos, la estructura que se desea modelar y los objetivos específicos del análisis. Los Modelos de Estado Espacial ofrecen flexibilidad y la capacidad de modelar componentes no observables, mientras que los Modelos VAR proporcionan una forma directa de capturar interacciones dinámicas entre variables observadas.

Aplicación práctica

Análisis de Modelos de Series Temporales

Para el análisis de modelos de series temporales, en particular de modelos de estado espacial, se puede utilizar la biblioteca PyKalman. Un ejemplo simple es el siguiente:

import numpy as np
from pykalman import KalmanFilter

# Definir el modelo de estado espacial
trans_cov = 0.1*np.eye(2)
obs_mat = np.array([[1, 0], [1, 0], [0, 1]])

kf = KalmanFilter(
    n_dim_obs=3, 
    n_dim_state=2, 
    initial_state_mean=[0,0], 
    initial_state_covariance=np.eye(2), 
    transition_matrices=np.eye(2), 
    observation_matrices=obs_mat, 
    observation_covariance=0.1*np.eye(3), 
    transition_covariance=trans_cov
)

# Generar datos sintéticos
nsamples = 100
x = np.linspace(-10, 10, nsamples)
data = np.column_stack([x, x, 2*np.sin(x)])
noise = np.random.normal(0, 0.1, (nsamples, 3))
data += noise

# Realizar el ajuste de los parámetros del modelo
state_means, state_covs = kf.filter(data)

# Visualizar los resultados
import matplotlib.pyplot as plt
plt.plot(state_means[:,0], state_means[:,1], '-r', label='state')
plt.plot(data[:,0], data[:,2], '.b', label='observed')
plt.legend(loc='lower right')
plt.show()

Este código define un modelo de estado espacial en el que se asume que la variable de estado es un vector de dos dimensiones (por ejemplo, posición y velocidad) y la variable observada es un vector de tres dimensiones (por ejemplo, posición, posición, y velocidad). A partir de datos sintéticos generados para este modelo, se ajustan los parámetros del modelo para obtener las estimaciones de los valores de estado con el tiempo.

Modelos VAR

En cuanto a los modelos VAR, un ejemplo práctico puede ser el siguiente:

import pandas as pd
from statsmodels.tsa.api import VAR

# Cargar los datos
data = pd.read_csv('data.csv', index_col='date', parse_dates=True)

# Crear el modelo VAR
model = VAR(data)

# Seleccionar el orden del modelo
res = model.select_order(maxlags=10)

# Ajustar el modelo con el orden seleccionado
results = model.fit(res.aic)

# Realizar una predicción a un año en el futuro
preds = results.forecast(results.y, steps=12)

# Visualizar los resultados
results.plot_forecast(12)

Este código carga un conjunto de datos de una serie temporal multivariada (en este caso, datos de ventas, precio y publicidad de una empresa) y ajusta un modelo VAR. Se selecciona el orden del modelo utilizando el criterio de información de Akaike (AIC) y se ajusta el modelo con este orden. Se realiza una predicción a un año en el futuro y se visualizan los resultados.