Metodología de Box-Jenkins para modelos arima estacionales

Nuestro objetivo ahora será, dado un proceso \(X_{t}\), encontrar un modelo del cual podamos suponer que nuestra serie observada sea un elemento muestral. Usaremos además el principio de parsimonia ( i.e utilizar el modelo con menor número de parámetros) para lo cual tendremos las siguientes etapas:

  1. Identificación de los parámetros \(p,d,q,P,D,Q\).
  2. Estimación de los coeficientes
  3. Verificación de los supuestos
  4. Nos preguntamos si el modelo cumple con los supuesto. Si la respuesta es que no, entonces regresamos a la etapa 1; si la respuesta es afirmativa, entonces podemos utilizar dicho modelo para la predicción.

La identificación del modelo la dividiremos en dos partes:

  1. Buscar la estructura no estacionaria, es decir, filtrar la parte de la tendencia y/o estacional para quedarnos con la parte estacionaria.

  2. Buscar la estructura estacionaria.

En otras palabras, buscamos encontrar una transformación de los datos de tal forma que obtengamos una serie estacionaria. Donde dichas transformaciones pueden ser, por ejemplo, las de Box-Cox o aplicar diferencias. Así, dada la transformación de la serie de tiempo \(T(X_{t})\), buscamos encontrar \(d\) y \(D\) tal que

\[ Y_{t}=(1-\mathbf{B})^{d}(1-\mathbf{B}^{s})^{D}T(X_{t}) \] tenga aspecto estacionario.

Por ejemplo, consideremos los datos en AirPassengers

xt <- AirPassengers
tsdisplay(xt)

donde debemos aplicar una transformación logarítmo (por ejemplo) para estabilizar la varianza

# Transformamos
Tx = log(xt)

# Veamos el valor de la varianza
var(Tx)
## [1] 0.1948838

Después aplicaremos una diferencia para quitar la parte de la tendencia y otra para quitar la parte del ciclo. Veamos la varianza de los datos al ser diferenciados:

var(diff(Tx,1))   # tendencia
## [1] 0.01135421
var(diff(Tx,12))  # ciclo estacional
## [1] 0.003800061

notamos que la varianza está decreciendo. Luego, podemos diferencia como lo hicimos anteriormente pero en una sólo línea de código

# Tres formas equivalentes:
var(diff(diff(Tx,12),1))  # tendencia y ciclo estacional # d=1, D=1, s=12
## [1] 0.002102066
var(diff(diff(Tx,1),12))  # tendencia y ciclo estacional # d=1, D=1, s=12
## [1] 0.002102066
var(diff(diff(Tx,lag=12, diff=1),lag=1,diff=1))
## [1] 0.002102066

De tal manera, si definimos la serie

yt = diff(diff(Tx,12),1)
tsdisplay(yt)

abremos obtenido una serie con aspecto estacionario, donde \(d=1, D=1\) y \(s=12\).

Cabe resaltar que las diferenciaciones deben detenerse cuando la varianza de éstas, en vez de decrecer, crece. Por ejemplo, si diferenciamos la serie \(Y_{t}\) tenemos que

var(diff(diff(yt,12),2)) 
## [1] 0.01016407

donde \(0.01>0.0021\) y por ende la diferenciación debe detenerse.