Modelos parte II

Modelo ARMA(p,q)

De forma general los procesos \(AR\) son suficientes para las aplicaciones reales, no obstante, podemos ampliar este modelo a un modelo mixto conocido como proceso autorregresivo de medias móviles (ARMA), el cual está conformado por la información anterior y los rezagos del ruido blanco. Esto es, el modelo \(ARMA(p,q)\) es de la forma

\[ X_{t}=\phi_{1}X_{t-1}+\phi_{2}X_{t-2}+\cdots+\phi_{t-p}+Z_{t}+\theta_{1}Z_{1}+\cdots+\theta_{q}Z_{t-q} \]

o equivalentemente \(\phi(\mathbf{B})X_{t}=\theta(\mathbf{B})Z_{t}\).

ARMA(1,1)

Este modelo está dado por \(X_{t}=\phi X_{t_1}+Z_{t}+\theta Z_{t-1}\) y podemos llevarlo a un modelo \(AR(\infty)\) o \(MA(\infty)\) según se den las condiciones de invertibilidad y causalidad (las cuales se verán más adelante). Por ejemplo, dicho modelo puede verse como un \(MA(\infty)\) como sigue:

\[\begin{align*} X_{t}&=\frac{1+\theta \mathbf{B}}Z_{t}{1-\phi \mathbf{B}}=\left(\sum_{i=0}^{\infty}\phi^{i}\mathbf{B}^{i}\right)(1+\theta \mathbf{B})Z_{t}\\ &=\left(1+\sum_{i=0}^{\infty}\phi^{i}\mathbf{B}^{i}+\sum_{i=0}^{\infty}\theta\phi^{i}\mathbf{B}^{i+1}\right) \end{align*}\]

La función de autocovarianza está dada por la expresión

\[ \gamma_{k}=\left\{\begin{array}{cc}\phi \gamma(0)+\theta\sigma_{Z}^{2}&k=1\\\phi\gamma(k-1)&k\geq2\end{array}\right. \] donde, al conocerse los valores \(\gamma(0)\) y \(\gamma(1)\), podemos hallar el resto de los valores. Para encontrar estos dos primeros valores podemos resolver el sistema de ecuaciones

\[ \begin{array}{cc}\gamma(0)=\phi \gamma(1)+[1+\theta(\phi+\theta)]\sigma_{Z}^{2}\\\gamma(1)=\phi \gamma(0)+\theta\sigma^{2}_{Z} \end{array} \]

obteniendo las soluciones y con la expresión anteriormente hallada de \(\gamma_{k}\) podemos expresar la función de autocovarianza como sigue

\[ \gamma_{k}=\frac{\phi^{k-1}(1+\theta \phi)(\phi+\theta)\sigma^{2}_{Z}}{1-\phi^{2}}, \ \ \ k=1,2,\ldots \]

y la función de autocorrelación estará dada por

\[ \rho_{k}=\frac{\phi^{k-1}(1+\theta \phi)(\phi+\theta)}{1+2\phi \theta+\theta^{2}}, \ \ \ k=1,2,\ldots \]

Simulemos ahora un proceso \(ARMA(1,1)\) donde \(\phi=0.5\) y \(\theta=0.8\), para ello

# Ruido blanco
n = 2000
sd = 2
Z = rnorm(n,0,sd)

# Valores de los parámetros
phi = 0.5
theta = 0.8

# Definimos los valores
X = c(Z[1])
for(t in 2:n){
    X[t] = phi * X[t-1] + Z[t] + theta * Z[t-1]     
}

# Graficamos
tsdisplay(X,main="ARMA(1,1)")

notamos que los valores en el ACF decrecen, al igual que los valores en el PACF, donde en este último notamos un comportamiento alternante en los valores. De forma alternativa podemos utilizar la función arima.sim() como sigue

sim <- arima.sim(model=list(order=c(1,0,1), ar=0.5, ma=0.8), n=2000)
tsdisplay(sim, main="ARMA(1,1)")

con lo que obtenemos el mismo resultado.

ARIMA

Recordemos que la caminata aleatoria es un proceso no estacionario, cuya diferencia si lo es. También, es muy común encontrar procesos que tiene sólo la componente de la tendencia y no la componente estacional, por lo que al diferenciar dicho proceso tendremos uno estacionario, ya sea diferenciar una vez si la tendencia tiene un comportamiento lineal, o más de un vez de acuerdo al grado del polinomio que describe dicha tendencia.

Así, decimos que el proceso \(X_{t}\) es ARIMA(\(p,d,q\)) si \(\nabla^{d}X_{t}=(1-\mathbf{B})^{d}X_{t}\) es un modelo ARMA(\(p,q\)). Los modelos ARIMA son apropiados para modelar datos con tendencia y, de hecho, puede extenderse para incluir términos estacionales (ciclos), con lo que se obtendría un modelo arima no estacionario estacional, mejor conocido como SARIMA.

Por ejemplo podemos simular el siguiente proceso ARIMA(1,1,1)

xt <- arima.sim(model=list(c(1,1,1), ar=0.9, ma=0.6), n=200)
tsdisplay(xt)

así, si deferenciaos una vez dicho proceso obtendremos un modelo ARMA(1,1):

yt <- diff(xt)
tsdisplay(yt)