Estacionariedad en series de tiempo

Una serie de tiempo estacionaria tiene media constante, varianza constante y autocorrelaciones que dependen solo del retardo, no del tiempo. La mayoría de los modelos de series de tiempo asumen estacionariedad. Detectar y corregir la no estacionariedad es el primer paso imprescindible antes de ajustar modelos AR, MA, ARIMA o cualquier otro.

Definición formal

Una serie de tiempo \(\{y_t\}\) es débilmente estacionaria (o estacionaria en covarianza) si:

\[E[y_t] = \mu \quad \forall t \qquad \text{(media constante)}\] \[\text{Var}(y_t) = \sigma^2 < \infty \quad \forall t \qquad \text{(varianza constante)}\] \[\text{Cov}(y_t, y_{t+k}) = \gamma(k) \quad \forall t \qquad \text{(autocovarianza que depende solo del retardo } k \text{)}\]

La estacionariedad estricta exige que la distribución conjunta de \((y_t, y_{t+1}, \ldots, y_{t+k})\) sea invariante a desplazamientos temporales. Para fines prácticos, la estacionariedad débil es suficiente.

Una serie que no es estacionaria se denomina no estacionaria o integrada. La forma más frecuente de no estacionariedad en datos económicos y financieros es la raíz unitaria: una tendencia estocástica que hace que la serie derive sin revertir a la media.

Cuatro paneles con ejemplos de series de tiempo estacionarias y no estacionarias

La serie estacionaria (verde) fluctúa en torno a una media constante. El paseo aleatorio (rojo) deriva sin límite. La serie con tendencia (naranja) tiene una media creciente. La serie heteroscedástica (azul) tiene una varianza que cambia a mitad de la muestra.

Raíces unitarias y paseos aleatorios

La fuente más importante de no estacionariedad en la práctica es la raíz unitaria. Un proceso AR(1):

\[y_t = \phi y_{t-1} + \varepsilon_t\]

es estacionario cuando \(|\phi| < 1\) (la serie revierte a su media). Cuando \(\phi = 1\), se convierte en un paseo aleatorio:

\[y_t = y_{t-1} + \varepsilon_t \implies y_t = y_0 + \sum_{s=1}^t \varepsilon_s\]

La varianza de un paseo aleatorio crece sin límite: \(\text{Var}(y_t) = t\sigma^2\). Las perturbaciones son permanentes: nunca se disipan. Por eso, contrastar si \(\phi = 1\) (raíz unitaria) es fundamental en el análisis de series de tiempo.

Contraste de estacionariedad

Test de Dickey-Fuller aumentado (ADF)

Contrasta \(H_0\): la serie tiene una raíz unitaria (no estacionaria) frente a \(H_1\): la serie es estacionaria. El test ajusta la regresión:

\[\Delta y_t = \alpha + \beta t + \gamma y_{t-1} + \sum_{j=1}^p \delta_j \Delta y_{t-j} + \varepsilon_t\]

y contrasta \(H_0: \gamma = 0\) (presencia de raíz unitaria). Se rechaza \(H_0\) si el estadístico \(t\) para \(\gamma\) es suficientemente negativo (los valores críticos no siguen la distribución normal).

El número de retardos \(p\) se elige para eliminar la autocorrelación de los residuos (habitualmente por AIC o BIC).

Test KPSS (Kwiatkowski-Phillips-Schmidt-Shin)

Contrasta lo opuesto: \(H_0\): la serie es estacionaria frente a \(H_1\): la serie tiene una raíz unitaria. Valores grandes del estadístico KPSS rechazan la estacionariedad.

⚠️ El ADF y el KPSS tienen hipótesis nulas opuestas: no los confundas

El error más frecuente: tratar ambos tests como si contrastaran lo mismo.

  • ADF: \(H_0\) = raíz unitaria (no estacionaria). Un p-valor alto significa que no se rechaza la no estacionariedad. Un p-valor bajo significa que se rechaza la raíz unitaria, lo que apoya la estacionariedad.
  • KPSS: \(H_0\) = estacionariedad. Un p-valor alto significa que no se rechaza la estacionariedad. Un p-valor bajo significa que se rechaza la estacionariedad.

Interpretar “p-valor ADF = 0,60, por tanto la serie es estacionaria” es incorrecto. Un p-valor de 0,60 significa que no se rechaza la raíz unitaria, es decir, no hay evidencia contra la no estacionariedad.

Usa ambos tests conjuntamente. Si el ADF rechaza la raíz unitaria Y el KPSS no rechaza la estacionariedad: evidencia sólida de estacionariedad. Si no coinciden: investiga más.

Test de Phillips-Perron (PP)

Alternativa no paramétrica al ADF. Misma \(H_0\) (raíz unitaria), pero usa una corrección diferente para la autocorrelación de los residuos en lugar de añadir diferencias retardadas. Tiende a ser más robusto ante la heterocedasticidad.

Gráfico de barras que compara los p-valores de los tests ADF y KPSS para una serie estacionaria y una no estacionaria

Para el AR(1) estacionario: el ADF rechaza la raíz unitaria (rojo, \(p < 0,05\)) y el KPSS no rechaza la estacionariedad (azul, \(p > 0,05\)). Ambos coinciden: estacionaria. Para el paseo aleatorio: el ADF no rechaza la raíz unitaria (azul) y el KPSS rechaza la estacionariedad (rojo). Ambos coinciden: no estacionaria.

Transformaciones para lograr estacionariedad

Diferenciación

El remedio estándar para una raíz unitaria. La primera diferencia elimina una tendencia estocástica lineal:

\[\Delta y_t = y_t - y_{t-1}\]

Una serie que se vuelve estacionaria tras \(d\) diferenciaciones se denomina integrada de orden \(d\), notada \(I(d)\). La mayoría de las series económicas son \(I(1)\): con una diferenciación es suficiente.

Transformación logarítmica

Estabiliza la varianza que crece proporcionalmente con el nivel (habitual en precios, PIB, ventas). \(\log(y_t)\) convierte la estacionalidad multiplicativa en aditiva y hace la serie más simétrica.

Transformación Box-Cox

Una familia de transformaciones potenciales parametrizada por \(\lambda\):

\[y_t^{(\lambda)} = \begin{cases} (y_t^\lambda - 1)/\lambda & \lambda \neq 0 \\ \log(y_t) & \lambda = 0 \end{cases}\]

El \(\lambda\) óptimo se estima a partir de los datos. \(\lambda = 1\) equivale a no transformar; \(\lambda = 0\) es el logaritmo; \(\lambda = 0{,}5\) es la raíz cuadrada.

Tres paneles que muestran el PIB en niveles, en logaritmo y en primera diferencia del logaritmo para lograr estacionariedad

El PIB en niveles (rojo) es no estacionario con varianza creciente. Tras el logaritmo (naranja), la varianza se estabiliza pero persiste la tendencia. Tras diferenciar log(PIB) (verde), la serie se vuelve estacionaria: representa la tasa de crecimiento del PIB, fluctuando en torno a una media constante.

¿Cuántas diferencias son necesarias?

Aplica el test ADF tras cada diferenciación hasta lograr estacionariedad. Para la mayoría de las series económicas, \(d=1\) es suficiente. La sobrediferenciación (aplicar más diferencias de las necesarias) dificulta la modelización y debe evitarse.

Una regla práctica: si el ADF sobre la serie original no rechaza la raíz unitaria, diferencia una vez y vuelve a contrastar. Si el ADF sobre \(\Delta y_t\) rechaza la raíz unitaria, \(d=1\) es adecuado.

💡 Tests de estacionariedad en R

library(tseries)

# Test ADF (H0: raíz unitaria)
adf.test(y)
adf.test(diff(y))   # tras primera diferenciación

# Test KPSS (H0: estacionaria)
kpss.test(y)

# Test Phillips-Perron (H0: raíz unitaria)
pp.test(y)

# Selección automática del orden de diferenciación
library(forecast)
ndiffs(y)     # número de diferencias regulares necesarias
nsdiffs(y)    # número de diferencias estacionales necesarias