Recorrido Guiado.

NOTA: Esta página es una traducción de la página original preparada por el Profesor Bierens. La traducción ha sido preparada con fines pedagógicos por Julio César Alonso

Estimación y pronósticos con modelos ARIMA

ARIMA (por su nombre en ingles AutoRegressive Integrated Moving Average) corresponden a modelos Autoregresivos Integrados con Media Móvil . La metodología para la estimación y pronóstico de modelos ARIMA también es conocida como la aproximación de Box-Jenkins.

Pricesos ARMA(p,q)

Discutiré la "I" en ARIMA más tarde, por ahora será suficiente reconocer que un proceso ARIMA(p,0,q) es equivalente a un proceso ARMA(p,q).

Como es bien sabido la forma general general de un proceso ARMA(p,q) y(t) es(¡si esto no es claro para usted, no emplee el modulo ARIMA!):

y(t) = a1y(t-1) + .... + apy(t-p) + m + e(t) - b1e(t-1) - .... - bqe(t-q)

donde los e(t)'s están distribuidos independientemente con media cero y varianza s2 y m es una constante. Así, la p en "ARMA(p,q)" corresponde al máximo número de rezagos de la porción AR, y q es el máximo número de rezagos de la parte MA.

Este modelo puede ser escrito de manera compacta en términos del operador de rezagos y de polinomios de rezagos. Para tal fin, definamos L como:

L.y(t) = y(t-1)
L2y(t) = y(t-2)
.............
Lpy(t) = y(t-p)
.............

etcétera. Así, podemos escribir:

y(t) - a1y(t-1) - .... - apy(t-p) = y(t) - a1L.y(t) - .... - apLpy(t) = ap(L)y(t)

donde

ap(L) = 1 - a1L - .... - apLp

y similarmente

e(t) - b1e(t-1) - .... - bqe(t-q) = e(t) - b1L.e(t) - .... - bqLqe(t) = bq(L)e(t)

donde

bq(L) = 1 - b1L - .... - bqLq

Así, el modelo ARMA(p,q) puede ser reescrito como:

ap(L)y(t) = m + bq(L)e(t)

Si todas las raíces de ap(L) están por fuera del circulo (complejo) unitario; es decir, si

ap(z) = 0 Þ |z| > 1,

entonces [ap(L)]-1 existe y corresponde a un polinomio en el operador de rezagos finito cuyos coeficientes se desvanecen exponencialmente:

[ap(L)]-1 = 1+ åj ³ 1 r j L j,

donde |r j| < cr j para una constante c y a r Î (0,1). Si este es el caso, el proceso ARMA se puede expresar como un modelo MA(¥) estacionario:

y(t) = m/ap(1) + [ap(L)]-1bq(L)e(t)

Similarmente, si las raíces del polinomio bq(L) se encuentran todas por fuera del circulo (complejo) unitario, entonces podemos escribir el modelo ARMA como un proceso AR(¥):

[bq(L)]-1ap(L)y(t) = m/bq(1) + e(t)

donde [bq(L)]-1ap(L) pueden ser escritos como:

[bq(L)]-1ap(L) = 1 - åj ³ 1 g j L j,

de tal forma que

y(t) = åj ³ 1 g jy(t-j) + d + e(t),

con d = m/bq(1). Así

Et-1[y(t)] = åj ³ 1 g jy(t-j) + d,

el cual es el mejor pronóstico para un paso adelante (one-step-ahead) de y(t).

Procesos I(d)

Un proceso de serie de tiempo se denominado como I(d) (integrado de orden d) si necesitamos por lo menos aplicar d veces el operador de primeras diferencias

D = 1 - L

para obtener un proceso estacionario. Ahora bien, un proceso x(t) corresponde a un modelo ARIMA(p,d,q) si

y(t) = Ddx(t) = (1 - L)dx(t),

donde y(t) es un proceso estacionario ARMA(p,q).

Estimación y pronósticos de un modelo ARIMA en la práctica

Modelo y Datos

La serie de tiempo y(t) que se empleará a sido artificialmente generada de la siguiente manera:

(1 - 0.7L)(1 - L)y(t) = (1 - 0.7L)Dy(t) = (1 + 0.5L)(1 - 0.25L4)e(t),

donde e(t) es i.i.d. (idénticamente e independientemente distribuida). Este es un proceso ARIMA(1,1,5):

Dy(t) = 0.7Dy(t-1) + e(t) + 0.5e(t-1) - 0.25e(t-4) - 0.125e(t-5).

Los datos generados están disponibles en formato CSV en el siguiente link: ARIMADATA.CSV, donde y(t) = "ARIMA test data". Los datos deben ser interpretados como datos trimestrales, iniciando en el primer trimestre (1950.1). Noten que estos ha sido creado bajo la configuración numérica de los Estados Unido. Por tanto si su sistema operativo emplea una coma como delimitador de decimales,  usted deberá convertir el archivo. Ver el  recorrido guiado para importar archivos de Excel a un archivo CSV.

Noten que el polinomio en el operador de rezagos de la porción MA, b5(L) = (1 + 0.5L)(1 - 0.25L4), está definido como el producto de un polinomio no estacional, bns,1(L) = 1 + 0.5L, y uno estacional cs,1(L4), donde cs,1(L) = 1 - 0.25L . En general a un polinomio estacional es un polinomio en  Ls, donde s es el número de observaciones por año (el número de estaciones). Por ejemplo, para datos mensuales s =12, y para datos semanales s = 52.

Estimación de un modelo ARIMA con EasyReg

Importe los datos del archivo ARIMADATA.CSV en EasyReg como una serie trimestral (quarterly time series), con el primer año siendo 1950 y primer trimestre el 1. A continuación, abra "Menu > Single equation models > ARIMA estimation and forecasting". Entonces observará la siguiente ventana.

ARIMA Window 1



Haga clic en "Continue":

ARIMA Window 2



 

Para efectuar  un pronostico fuera de muestra, puede ya sea agregar los datos de los periodos a pronosticar como datos perdidos ( ( missing values)  (empleando "Menu > Input > Prepare time series for forecasting") o seleccionar un subconjunto de las observaciones. Por tanto, haga clic en "Yes":

ARIMA Window 3



Escoja la submuestra 1950.1 a 1997.1. Ahora el modelo ARIMA será ajustado a esta submuestra y las observaciones posteriores a 1997.1 serán empleadas para comparar los pronósticos con las realizaciones de la serie.

Haga clic en "Bounds OK" y a continuación "Confirm" y "Continue" (en la siguiente ventana). Verá la siguiente ventana:

ARIMA Window 4



Ahora usted debe informarle a EasyReg cual es el orden de integración ("d"). Usualmente, usted no lo conoce de antemano. Si este es el caso, prueba la hipótesis de la presencia de una raíz unitaria empleando  "Menu > Data analysis > Unit root tests (root 1)". Si usted no sabe lo que es una raíz unitaria puede consultar las notas de clase sobre raíces unitarias (lecture notes preparadas por el Prof. Bierens). Si después de leer estas notas usted aún no comprende lo que implica una raíz unitaria y cómo comprobar su presencia, haga clic en "Don't know".

En nuestro caso d = 1, como se indicó anteriormente. Entonces, haga clic en "Continue":

ARIMA Window 5



Aunque en nuestro caso el proceso  Dy(t) tiene media cero de tal forma que no se hace necesaria la inclusión de un intercepto, en la práctica este caso es muy raro. Por tanto, en primera instancia incluya un intercepto en su modelo y posteriormente compruebe si el respectivo parámetro es cero o no. Haga clic en "Continue":

ARIMA Window 6



Ahora usted debe especificar el proceso ARMA para(t) = Dy(t) - E[Dy(t)]. Los coeficientes a(1,i) corresponden a los coeficientes que no son cero del polinomio de rezagos no-estacional AR y los coeficientes c(1,i) corresponden a los coeficiente que no son cero del polinomio de rezagos estacional  AR. Similarmente, los coeficientes a(2,i) corresponden a los coeficientes que no son cero del polinomio de rezagos no-estacional MA y los coeficientes c(2,i) son aquellos que no son cero en el polinomio de rezagos estacional  MA. Si sus datos corresponde a una serie de tiempo anual, la opción que le permiten especificar los polinomios de rezagos estacionales no estará disponible.

En nuestro caso (1 - 0.7L)u(t) = (1 + 0.5L)(1 - 0.25L4)e(t), así

Entonces, usted deberá hacer clic en a(1,1), a(2,1) y c(2,1). Por supuesto, en la práctica usted no conoce esto de antemano; ¡Sin embargo, este no es un recorrido guiado de como modelar procesos ARIMA, únicamente es una guía de como estimar y pronosticar con un modelo ARIMA! El problema de como especificar un modelo ARIMA se encuentra por fuera de los objetivos de este recorrido guiado, para la modelación ARIMA usted puede leer un buen libro de texto sobre serie de tiempo como por ejemplo:

Ahora, haga clic en "Specification OK":

ARIMA Window 7



Ahora usted solo requiere hacer clic en "Continue":

ARIMA Window 8



Los parámetros del modelo serán estimados minimizando åte(t)2, empleando el método simplex de Nelder y Mead. Primero haga clic en  "Simplex method: How it works, and stopping rules".

ARIMA Window 9



En primera instancia, yo recomiendo emplear las reglas para detener el algoritmo (stopping rules) predeterminadas. Después de terminar la primera ronda de iteraciones usted podrá desear aumentar el valor de  "r". Así, haga clic en "Stoppings rules OK".  Después de esto reaparecerá la ventana previa, en esta haga clic en "Start SIMPLEX iteration":

ARIMA Simplex Window



Reinicie la iteración del método simplex  hasta que los valores estimados de los parámetros (en la parte inferior derecha no cambien más. Ahora haga clic en "Simplex method: How it works, and stopping rules" de nuevo y disminuya el valor de "r":

ARIMA Window 10



Reinicie las iteraciones del método simplex un par de veces más y haga  clic en "Done with SIMPLEX iteration":

ARIMA Window 11



Haga clic en "Continue":

ARIMA Window 12



Esta ventana es similar a la ventana "What to do next" que aparece cuando corre una regresión por el método OLS(MCO). Ver el recorrido guiado para la estimación por el método OLS. Esta ventana contiene los resultados de la estimación y contendrá la salida de diferentes opciones.

Prueba de restricciones en los parámetros

Recuerde que los valores de los parámetros son:

Para determinar si los coeficientes estimados son significativamente diferentes de sus valores reales (poblacionales), compruebe la hipótesis nula relevante empleando la opción "Test parameter restrictions". El procedimiento es el mismo que para el caso de los parámetros estimados por OLS (MCO) (Ver el recorrido guiado para la estimación por el método OLS) y por tanto no entraré en el detalle de como realizar esta prueba. Los resultados de la prueba son:

ARIMA Window 13



El resultado de la prueba es tal y como se esperaba. Los parámetros estimados no son significativante diferentes de los valores verdaderos, a cualquier nivel de significancia razonable.

Gráfico del Ajuste (Plot the fit)

ARIMA Window 16



Esta ventana no requiere de explicaciones.

Pronósticos de un periodo adelante (One-step ahead forecasts)

Recuerde que el mejor pronóstico de un paso adelante de y(t) toma la forma

Et-1[Dy(t)] = åj ³ 1 g jDy(t-j) + d,

donde los parámetros g j y d pueden ser derivados de los parámetros del modelo ARMA para Dy(t). Ver las notas de clase (Notas de clase del profesor Bierens Lecture notes on forecasting). Así, el mejor pronóstico para un periodo adelante de y(t) toma la siguiente forma

Et-1[y(t)] = y(t-1) + Et-1[Dy(t)].

Así ambos esquemas de pronóstico emplean toda la información disponible hasta el periodo  t-1.  La opción "One-step ahead forecasts" genera estos pronósticos:

ARIMA Window 17



Haga click en "Continue":

ARIMA Window 18



Esta gráfica muestra Et-1[Dy(t)] en el eje vertical y su realización  Dy(t) en el eje horizontal para   t = 1997.2 hasta 1999.4. Entre más cerca se encuentren los puntos (Dy(t), Et-1[Dy(t)]) a la linea de 45 grados mejor será el pronóstico.

Haga clic en "Continue".

ARIMA Window 19



El panel superior muestra a Dy(t) (línea sólida) y su pronóstico Et-1[Dy(t)] (línea roja con puntos) para t = 1997.2 a 1999.4. El panel inferior muestra el error de pronóstico Dy(t) - Et-1[Dy(t)], además se presentan bandas para una y dos veces el error estándar.

Haga clic en "Continue":

ARIMA Window 20



Esta gráfica muestra Et-1[y(t)] en el eje vertical y su realización y(t) en el eje  horizontal, para t = 1997.2 hasta 1999.4. Entre más cerca se encuentren los puntos (y(t), Et-1[y(t)]) a la línea de 45 grados mejor será el pronóstico.

Haga clic en "Continue":

ARIMA Window 21



El panel superior muestra a y(t) (línea solida) y su pronóstico Et-1[y(t)] (línea roja con puntos) para t = 1997.2 a 1999.4. El panel inferior muestra muestra el error de pronóstico  y(t) - Et-1[y(t)].

Haga clic en "Continue" para retornar a la ventana  "What to do next?".

Pronóstico Recursivo

Cuando se efectúa un pronóstico recursivo, los desconocidos Dy(t+h-j)'s del caso del pronostico de un paso adelante

Et+h[Dy(t+h)] = åj ³ 1 g jDy(t+h-j) + d

son remplazados recursivamente por pronósticos que proveen el mejor pronostico para h-pasaos adelante:

Et[Dy(t+h)] = åj ³ 0 g h,jDy(t-j) + dh

Ver mis notas de clase (Ver notas de clase del Profesor Bierens Lecture notes on forecasting). Así, estos pronósticos únicamente emplean la información disponible asta el periodo  t = 1997.1. El pronóstico (para el nivel de la serie) recursivo para y(t+h) será

 

Et[y(t+h)] = y(t) + Et[Dy(t+1)] + ... + Et[Dy(t+h)]

ARIMA Window 22



ARIMA Window 23



ARIMA Window 24



ARIMA Window 25



ARIMA Window 26



Los resultados en las ventanas anteriores indican que el pronóstico recursivo para h pasos adelante solo brinda pronósticos razonables para pequeños valores de h. Esto corresponde al hecho que

Et[Dy(t+h)] ® E[Dy(t)] as h ® ¥.

Esto es lo que está ocurriendo en la última ventana.

Gráfico de los coeficientes de un pronóstico de un paso adelante (Plot one-step ahead forecast coefficients)

Recuerde que el mejor pronóstico para un paso adelante de Dy(t+1) toma la siguiente forma

Et[Dy(t+1)] = åj ³ 0 g j+1Dy(t-j) + d.

En la siguiente ventana los coeficientes a(j) = g j+1 son graficados y sus valores son presentados.

ARIMA Window 27



Estimación de Kernel de la distribución de los errores.

ARIMA Window 28



Esta gráfica compara la distribución no paramétrica de kernel de la densidad de los e(t) con la correspondiente densidad de la familia normal. Noten que la estimación no paramétrica  de kernel para la densidad carece de una "columna paramétrica" ("parametric backbone") y por tanto requiere de mucho más datos que una estimación paramétrica de una densidad. El tamaño efectivo de la muestra en este caso es muy pequeño para realizar una estimación no-paramétrica confiable.

Comparación con el modulo de OLS (MCO)module

Un modelo ARMA también puede ser estimado por medio del modulo de regresión lineal (OLS), empleando la opción "Re-estimate the model with ARMA errors". Ver el recorrido guiado de estimación por OLS. Esta opción produce los mismos parámetros estimados que el modulo  ARIMA. Sin embargo, si ustedes estima un modelo  AR directamente con el modulo de regresión lineal (OLS) empleando la opción "Re-estimate the model with ARMA errors"; en este caso los resultados de la estimación para el intercepto, y eventualmente para la tendencia y los parámetros asociados a la variables Dummy estacionales, diferirán del resultado del modulo ARIMA arriba expuesto. La razón es la siguiente. El modulo ARIMA estima un modelo AR(p) con intercepto de la forma

yt = m + ut,

ut = a1ut-1 + .... + aput-p + et,

donde m = E[yt] y et es un ruido blanco, mientras que el modulo de regresión lineal estimará este modelo de la forma

yt = a0 + a1yt-1 + .... + apyt-p + et.

El intercepto a0 será diferente de m, pues calculando el valor esperado en el último caso se obtendrá m = a0 + a1m + .... + apm, por tanto:

m = (1 - a1 - .... - ap)-1a0.

Este es el FIN del recorrido guiado para la estimación de modelos ARIMA

NOTA: Esta página es una traducción de la página original preparada por el Profesor Bierens. La traducción ha sido preparada con fines pedagógicos por Julio César Alonso