Conceptos generales del modelo S’ARIMA

Notación de retroceso o retardo (Backshift notation)

El operador de desplazamiento hacia atrás \(B\) es un dispositivo de notación útil cuando se trabaja con rezagos de series temporales:

\[B y_{t} = y_{t - 1} \: .\]

(Algunas referencias utilizan \(L\), para “lag”, en lugar de \(B\), para backshift), en otras palabras \(B\) operando en \(y_t\), tiene un efecto de retroceder los datos un período. Dos aplicaciones de \(B\) para \(y_t\), desplaza los datos dos períodos hacia atrás:

\[ B(By_{t}) = B^{2}y_{t} = y_{t-2}\: . \]

Para los datos mensuales, si deseamos considerar “el mismo mes del año pasado”, la notación es \(B^{12}y_{t}= y_{t-12}\). El operador de desplazamiento hacia atrás es conveniente para describir el proceso de diferenciación . Una primera diferencia puede escribirse como

\[y'_{t} = y_{t} - y_{t-1} = y_t - By_{t} = (1 - B)y_{t}\: .\]

Así que una primera diferencia puede representarse mediante \(( 1−B )\). De manera similar, si se deben calcular diferencias de segundo orden, entonces:

\[y''_{t} = y_{t} - 2y_{t - 1} + y_{t - 2} = (1-2B+B^2)y_t = (1 - B)^{2} y_{t}\: .\]

En general, una dLa diferencia de orden n se puede escribir como

\[(1 - B)^{d} y_{t}.\]

La notación de retroceso es particularmente útil al combinar diferencias, ya que el operador puede tratarse mediante reglas algebraicas ordinarias. En particular, los términos que involucran \(B\) se pueden multiplicar entre sí.

Por ejemplo, una diferencia estacional seguida de una primera diferencia se puede escribir como

\[ (1-B)(1-B^m)y_t = (1 - B - B^m + B^{m+1})y_t = y_t-y_{t-1}-y_{t-m}+y_{t-m-1}, \]

El mismo resultado que obtuvimos anteriormente.

Modelos

AR(p)

En un modelo de regresión múltiple, pronosticamos la variable de interés mediante una combinación lineal de predictores. En un modelo de autorregresión, pronosticamos la variable de interés mediante una combinación lineal de valores históricos de la variable . El término «autorregresión» indica que se trata de una regresión de la variable contra sí misma.

Así pues, un modelo autorregresivo del orden \(p\) se puede escribir como:

\[y_{t} = c + \phi_{1}y_{t-1} + \phi_{2}y_{t-2} + \dots + \phi_{p}y_{t-p} + \varepsilon_{t},\]

dónde \(\varepsilon_t\) es ruido blanco. Esto es como una regresión múltiple pero con valores rezagados como predictores de la misma variable. A esto lo llamamos AR(p) modelo , un modelo autorregresivo de orden p.

Los modelos autorregresivos son notablemente flexibles para manejar una amplia gama de patrones de series temporales.

MA(q)

En lugar de utilizar valores pasados de la variable de pronóstico en una regresión, un modelo de promedio móvil utiliza errores de pronóstico pasados en un modelo similar a una regresión,

\[y_{t} = c + \varepsilon_t + \theta_{1}\varepsilon_{t-1} + \theta_{2}\varepsilon_{t-2} + \dots + \theta_{q}\varepsilon_{t-q},\]

dónde \(\varepsilon_t\) es ruido blanco. Lo llamamos \(MA(q)\) modelo , un modelo de media móvil de orden \(q\). Por supuesto, no observamos los valores de \(\varepsilon_t\), por lo que no es realmente una regresión en el sentido habitual.

Tenga en cuenta que cada valor de \(y_t\) Puede considerarse como una media móvil ponderada de los últimos errores de pronóstico (aunque los coeficientes normalmente no suman uno). Sin embargo, los modelos de media móvil no deben confundirse con el suavizado de media móvil. Un modelo de media móvil se utiliza para pronosticar valores futuros, mientras que el suavizado de media móvil se utiliza para estimar el ciclo de tendencia de valores pasados.

ARIMA

Si combinamos la diferenciación con la autorregresión y un modelo de media móvil, obtenemos un modelo ARIMA no estacional. ARIMA es el acrónimo de AutoRegressive Integrated Moving Average (en este contexto, «integración» es lo contrario de la diferenciación). El modelo completo puede escribirse como:

\[ y'_{t} = c + \phi_{1}y'_{t-1} + \cdots + \phi_{p}y'_{t-p} + \theta_{1}\varepsilon_{t-1} + \cdots + \theta_{q}\varepsilon_{t-q} + \varepsilon_{t}, \tag{1} \]

dónde \(y_t\) es la serie diferenciada (puede haberse diferenciado más de una vez). Los “predictores” del lado derecho incluyen ambos valores rezagados de \(y_t\) y errores rezagados. A esto lo llamamos \(ARIMA(p ,d ,q)\) modelo , donde:

  • p = orden de la parte autorregresiva;
  • d = grado de primera diferenciación involucrada;
  • q = orden de la parte de media móvil.

Las mismas condiciones de estacionariedad e invertibilidad que se utilizan para los modelos autorregresivos y de promedio móvil también se aplican a un modelo ARIMA.

Una vez que empezamos a combinar componentes de esta manera para formar modelos más complejos, es mucho más fácil trabajar con la notación de retroceso. Por ejemplo, la ecuación 1 puede escribirse en notación de retroceso como

\[ (1 - \phi_1 B - \cdots - \phi_p B^p)(1 - B)^d y_t = c + (1 + \theta_1 B + \cdots + \theta_q B^q)\varepsilon_t \tag{2} \]

Los modelos ARIMA ofrecen otro enfoque para la predicción de series temporales. El suavizado exponencial y los modelos ARIMA son los dos enfoques más utilizados para la predicción de series temporales y ofrecen enfoques complementarios para el problema. Mientras que los modelos de suavizado exponencial se basan en la descripción de la tendencia y la estacionalidad de los datos, los modelos ARIMA buscan describir las autocorrelaciones en los datos.

Antes de presentar los modelos ARIMA, primero debemos analizar el concepto de estacionariedad y la técnica de diferenciación de series de tiempo.

Un ejemplo de representar este modelo ARIMA(2,0,1):

\[ \underbrace{(1 - \phi_1 B - \cdots - \phi_p B^p)}_{\text{AR(p)}} \underbrace{(1 - B)^d}_{\text{Diferenciación d}} y_t = c + \underbrace{(1 + \theta_1 B + \cdots + \theta_q B^q)}_{\text{MA(q)}} \varepsilon_t \tag{3} \]

SARIMA

Hasta ahora, nos hemos centrado en datos no estacionales y en modelos ARIMA no estacionales. Sin embargo, los modelos ARIMA también son capaces de modelar una amplia gama de datos estacionales.

Un modelo ARIMA estacional se forma incluyendo términos estacionales adicionales en los modelos ARIMA vistos hasta ahora. Se escribe de la siguiente manera:

\[ ARIMA \underbrace{(p, d, q)}_{\text{No estacional}} \underbrace{(P, D, Q)_m}_{\text{Estacional}} \] Representación en forma extendida:

\[ y'_t = c + \phi_1 y'_{t-1} + \cdots + \phi_p y'_{t-p} + \Phi_1 y'_{t-s} + \cdots + \Phi_P y'_{t-Ps} + \phi_1 \Phi_1 y'_{t-s-1} + \cdots + \theta_1 \varepsilon_{t-1} + \cdots + \theta_q \varepsilon_{t-q} + \Theta_1 \varepsilon_{t-s} + \cdots + \Theta_Q \varepsilon_{t-Qs} + \theta_1 \Theta_1 \varepsilon_{t-s-1} + \cdots + \varepsilon_t \]

o la misma en operador de desplazamiento hacia atrás

\[ \underbrace{(1 - \phi_1 B)}_{\text{AR no estacional}}~ \underbrace{(1 - \Phi_1 B^s)}_{\text{AR estacional}}~ \underbrace{(1 - B)^d}_{\text{Diferenciación}}~ \underbrace{(1 - B^s)^D}_{\text{Diferenciación estacional}}~ y_t = \underbrace{(1 + \theta_1 B)}_{\text{MA no estacional}}~ \underbrace{(1 + \Theta_1 B^s)}_{\text{MA estacional}}~ \varepsilon_t \]

\[ \underbrace{(1 - \phi_1 B)}_{\phi_p(B)}~ \underbrace{(1 - \Phi_1 B^s)}_{\Phi_P(B^s)}~ \underbrace{(1 - B)^d}_{(1 - B)^d}~ \underbrace{(1 - B^s)^D}_{(1 - B^s)^D}~ y_t = \underbrace{(1 + \theta_1 B)}_{\theta_q(B)}~ \underbrace{(1 + \Theta_1 B^s)}_{\Theta_Q(B^s)}~ \varepsilon_t \]

o

\[ \phi_p(B)\,\Phi_P(B^s)\,(1 - B)^d\,(1 - B^s)^D\,y_t = \theta_q(B)\,\Theta_Q(B^s)\,\varepsilon_t \]

Donde:

  • \(\phi_p(B) = 1 - \phi_1B - \phi_2B^2 - \cdots - \phi_pB^p\) : componente autorregresiva no estacional (AR)
  • \(\Phi_P(B^s) = 1 - \Phi_1B^s - \Phi_2B^{2s} - \cdots - \Phi_PB^{Ps}\) : componente autorregresiva estacional (SAR)
  • \((1 - B)^d\) : diferenciación ordinaria de orden \(d\)
  • \((1 - B^s)^D\) : diferenciación estacional de orden \(D\) con frecuencia \(s\)
  • \(\theta_q(B) = 1 + \theta_1B + \theta_2B^2 + \cdots + \theta_qB^q\) : media móvil no estacional (MA)
  • \(\Theta_Q(B^s) = 1 + \Theta_1B^s + \Theta_2B^{2s} + \cdots + \Theta_QB^{Qs}\) : media móvil estacional (SMA)
  • \(\varepsilon_t\) : término de error aleatorio (ruido blanco)

dónde \(m\) es período estacional (p. ej., número de observaciones por año). Utilizamos notación en mayúsculas para las partes estacionales del modelo y en minúsculas para las no estacionales.

La parte estacional del modelo consta de términos similares a los componentes no estacionales del modelo, pero que implican retrodesplazamientos del período estacional. Por ejemplo, un \(ARIMA(1,1,1)(1,1,1)[4]\). El modelo (sin constante) es para datos trimestrales \((m=4)\), y se puede escribir como:

\[ (1 - \phi_{1}B)~(1 - \Phi_{1}B^{4}) (1 - B) (1 - B^{4})y_{t} = (1 + \theta_{1}B)~ (1 + \Theta_{1}B^{4})\varepsilon_{t}. \]

Los términos estacionales adicionales simplemente se multiplican por los términos no estacionales.

Estimación

Una vez que se ha identificado el orden del modelo (es decir, los valores de p, d y q), es necesario estimar los parámetros \(( c, \phi_1, \dots, \phi_p, \theta_1, \dots, \theta_q )\). Cuando el paquete fable estima un modelo ARIMA, utiliza el método de máxima verosimilitud (maximum likelihood estimation, MLE). Esta técnica encuentra los valores de los parámetros que maximizan la probabilidad de obtener los datos observados.

Para los modelos ARIMA, el MLE es similar a los estimadores de mínimos cuadrados, los cuales se obtienen minimizando la siguiente expresión:

\[ \sum_{t=1}^{T} \varepsilon_t^2. \]

(Para los modelos de regresión considerados, el MLE proporciona exactamente las mismas estimaciones de los parámetros que el método de mínimos cuadrados).

Cabe señalar que los modelos ARIMA son mucho más complicados de estimar que los modelos de regresión, y distintos programas informáticos pueden dar respuestas ligeramente diferentes, ya que utilizan diferentes métodos de estimación y algoritmos de optimización. :::

En la práctica, el paquete fable reportará el valor del logaritmo de la verosimilitud (log likelihood) de los datos; es decir, el logaritmo de la probabilidad de que los datos observados provengan del modelo estimado. Para valores dados de p, d y q, la función ARIMA() intentará maximizar esta log-verosimilitud al estimar los parámetros del modelo.

Notas generales sobre Intervalos de predicción

  • Los intervalos de predicción de los modelos ARIMA se basan en el supuesto de que los residuos no están correlacionados y se distribuyen normalmente. Si alguno de estos supuestos no se cumple, los intervalos de predicción podrían ser incorrectos. Por esta razón, siempre se deben graficar la ACF y el histograma de los residuos para comprobar los supuestos antes de generar intervalos de predicción.

  • Si los residuos no están correlacionados pero no se distribuyen normalmente, se pueden obtener intervalos bootstrap.

*En general, los intervalos de predicción de los modelos ARIMA aumentan a medida que aumenta el horizonte de pronóstico. Por ende cuando mas sea la ventana de pronósticos, menos sera la precisión de los predicciones.

Ejemplo de representación SARIMA(1,0,0)(2,1,0)[12]

# librerías 
library(forecast)
library(equatiomatic)

# Datos usados sobre producción de mango
AGRO <- readxl::read_excel("D:/A_TESIS_ESTADISTICA/CAP_RESULTADOS/DATASET/AGRO.xlsx")

# Formateo de los datos a serie temporal
Mango <- ts(AGRO$Producción, start = c(2000, 1), end = c(2024, 8), frequency = 12)

# Modelo aplicado "se supone que ya se ha identificado el modelo"
MOD3<-Arima(Mango, order=c(1,0,0), seasonal=c(2,1,0),method = "ML")
MOD3
## Series: Mango 
## ARIMA(1,0,0)(2,1,0)[12] 
## 
## Coefficients:
##          ar1     sar1     sar2
##       0.2983  -0.6117  -0.3725
## s.e.  0.0576   0.0616   0.0591
## 
## sigma^2 = 350799874:  log likelihood = -3198.59
## AIC=6405.18   AICc=6405.33   BIC=6419.78
# Representación algebraica SARIMA

## Sin coeficientes
equatiomatic::extract_eq(MOD3)

\[ (1 -\phi_{1}\operatorname{B} )\ (1 -\Phi_{1}\operatorname{B}^{\operatorname{12}} -\Phi_{2}\operatorname{B}^{\operatorname{24}} )\ (1 - \operatorname{B}^{12}) y_{t} = \varepsilon_{t} \]

## Con coeficientes
equatiomatic::extract_eq(MOD3, wrap = TRUE, use_coefs = TRUE, fix_signs = FALSE)

\[ (1 -0.3\operatorname{B} )\ (1 +0.61\operatorname{B}^{\operatorname{12}} +0.37\operatorname{B}^{\operatorname{24}} )\ (1 - \operatorname{B}^{12}) y_{t} = \varepsilon_{t} \]

## verificación de los supuestos
checkresiduals(MOD3)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(1,0,0)(2,1,0)[12]
## Q* = 16.281, df = 21, p-value = 0.7537
## 
## Model df: 3.   Total lags used: 24
## Pronostico usando Boostrap ya que no cumplio la normalidad de residuos
H<-forecast::forecast(MOD3, h=20, boostrap= TRUE)
H
##          Point Forecast     Lo 80     Hi 80     Lo 95     Hi 95
## Sep 2024   3.239579e+03 -20763.44  27242.59 -33469.87  39949.02
## Oct 2024   7.267751e+03 -17780.63  32316.13 -31040.44  45575.94
## Nov 2024   8.936350e+03 -16202.96  34075.66 -29510.91  47383.61
## Dec 2024   8.427994e+04  59132.55 109427.33  45820.32 122739.55
## Jan 2025   9.429906e+04  69150.95 119447.16  55838.35 132759.77
## Feb 2025   8.242604e+03 -16905.57  33390.78 -30218.21  46703.41
## Mar 2025   1.914017e+03 -23234.16  27062.19 -36546.80  40374.83
## Apr 2025   2.327481e+02 -24915.43  25380.93 -38228.07  38693.57
## May 2025   1.934748e+01 -25128.83  25167.53 -38441.47  38480.17
## Jun 2025  -1.995101e-02 -25148.20  25148.16 -38460.84  38460.80
## Jul 2025  -5.951947e-03 -25148.18  25148.17 -38460.83  38460.81
## Aug 2025   1.472693e+03 -23675.48  26620.87 -36988.13  39933.51
## Sep 2025   3.702807e+03 -23116.86  30522.47 -37314.34  44719.95
## Oct 2025   7.466868e+03 -19496.54  34430.28 -33770.11  48703.84
## Nov 2025   1.052033e+04 -16455.83  37496.50 -30736.15  51776.82
## Dec 2025   8.321421e+04  56236.91 110191.51  41955.99 124472.43
## Jan 2026   9.547892e+04  68501.52 122456.33  54220.55 136737.30
## Feb 2026   9.972804e+03 -17004.61  36950.21 -31285.58  51231.19
## Mar 2026   2.080545e+03 -24896.87  29057.96 -39177.84  43338.93
## Apr 2026   2.339243e+02 -26743.49  27211.33 -41024.46  41492.31
## Grafico
autoplot(H)

Se logra pronosticar la serie de tiempo correspondiente a la producción de mango.