Modelo ARIMA

ARIMA(\(p,d,q\)) extiende ARMA(\(p,q\)) a series no estacionarias diferenciando \(d\) veces. Las \(d\) diferencias eliminan las tendencias estocásticas (raíces unitarias), dejando una serie estacionaria a la que se aplica el ARMA(\(p,q\)). Es la clase de modelos más ampliamente utilizada para la predicción univariante de series de tiempo.

Definición

Una serie \(y_t\) sigue un ARIMA(\(p,d,q\)) si \(w_t = \Delta^d y_t = (1-L)^d y_t\) sigue un ARMA(\(p,q\)) estacionario:

\[\Phi(L)(1-L)^d y_t = \Theta(L)\varepsilon_t\]

\[\Phi(L) = 1 - \phi_1 L - \cdots - \phi_p L^p, \qquad \Theta(L) = 1 + \theta_1 L + \cdots + \theta_q L^q\]

Los tres parámetros:

  • \(p\): orden AR (número de retardos autorregresivos).
  • \(d\): grado de diferenciación (orden de integración). \(d=0\) da ARMA; \(d=1\) es el caso más habitual.
  • \(q\): orden MA (número de términos de media móvil).

Casos especiales: ARIMA(1,0,0) = AR(1); ARIMA(0,1,0) = paseo aleatorio; ARIMA(0,1,1) = media móvil ponderada exponencialmente (EWMA).

La metodología Box-Jenkins

El procedimiento sistemático para identificar y ajustar modelos ARIMA, propuesto por Box y Jenkins (1970):

Paso 1: Identificación. Representar la serie gráficamente. Aplicar logaritmo o Box-Cox si la varianza no es constante. Contrastar raíces unitarias (ADF, KPSS). Diferenciar \(d\) veces hasta lograr estacionariedad. Examinar la ACF y la PACF de la serie diferenciada para identificar candidatos a \(p\) y \(q\).

Paso 2: Estimación. Ajustar el ARIMA(\(p,d,q\)) candidato por MV. Comparar modelos por AIC y BIC.

Paso 3: Diagnóstico. Comprobar que los residuos son ruido blanco: ACF de residuos, test de Ljung-Box. Si los residuos muestran autocorrelación, revisar \(p\) o \(q\).

Paso 4: Predicción. Usar el modelo ajustado para obtener predicciones puntuales e intervalos de predicción.

Cuatro paneles que muestran el flujo de trabajo Box-Jenkins: serie original, serie diferenciada, ACF y PACF de la serie diferenciada

La serie logarítmica original es no estacionaria (tendencia ascendente). Tras una diferenciación es aproximadamente estacionaria. La ACF y la PACF de \(\Delta\log(y)\) siguen mostrando picos estacionales en los retardos 12 y 24, lo que sugiere que se necesita una extensión estacional (SARIMA).

Elección de d

\(d\) se determina mediante contraste de raíces unitarias:

  • Aplicar ADF y KPSS a la serie original.
  • Si es no estacionaria, diferenciar una vez y volver a contrastar.
  • Detenerse cuando ambos tests coincidan en que la serie es estacionaria.
  • Para la mayoría de series económicas y financieras, \(d = 1\) es suficiente. \(d = 2\) es infrecuente y a menudo indica sobrediferenciación.

En R: forecast::ndiffs(y) automatiza esto usando tests ADF secuenciales.

⚠️ La sobrediferenciación empeora las predicciones

Aplicar \(d = 2\) cuando \(d = 1\) es suficiente introduce una raíz unitaria en el polinomio MA, produciendo estimaciones de parámetros inestables y predicciones que se dispersan excesivamente. Señales de sobrediferenciación: la ACF de \(\Delta^d y_t\) comienza con un valor negativo grande en el retardo 1.

La infradiferenciación (usar \(d = 0\) para una serie que necesita \(d = 1\)) produce residuos no estacionarios con media errante y varianza creciente.

Ejemplo: ARIMA(1,1,1)

Ajustamos un ARIMA(1,1,1) a la tasa de desempleo mensual de EE.UU. (una serie económica no estacionaria clásica).

ARIMA(1,1,1) ajustado a datos de desempleo con predicción a 24 meses e intervalos de predicción

Los intervalos de predicción se ensanchan con el horizonte: las predicciones del ARIMA(1,1,1) siguen la tendencia reciente, con una incertidumbre que crece linealmente en varianza. Las bandas al 80% (más oscuro) y al 95% (más claro) reflejan esto.

ARIMA vs ARMA

ARMA(\(p,q\)) ARIMA(\(p,d,q\))
Requiere estacionariedad No (gestiona series \(I(d)\))
Maneja tendencias No Sí (mediante diferenciación)
Predicción a largo plazo Revierte a media constante Sigue una tendencia estocástica
Caso especial \(d = 0\) Sí (ARIMA = ARMA) -

💡 ARIMA en R

# Especificación manual
arima(y, order = c(1, 1, 1))

# Selección automática por AIC (Box-Jenkins automatizado)
library(forecast)
auto.arima(y)

# Diagnóstico de residuos
checkresiduals(fit)

# Predicción 12 periodos adelante
forecast(fit, h = 12)

auto.arima() aplica la metodología Box-Jenkins automáticamente: contrasta raíces unitarias para elegir \(d\) y busca en el espacio \((p, q)\) por AIC. Es el punto de partida recomendado para cualquier análisis ARIMA.