MODELOS ARIMA

Inma Meca y Óscar Agulló

May 7, 2018

ÍNDICE

  • Introducción
  • Metodologia de Box-Jenkins
  • Modelos ARIMA
  • Ejemplo de diferenciación
  • Ejemplo práctico R

INTRODUCCIÓN

  • Teoría básica y un ejemplo paso a paso para ayudar a la comprensión del modelo ARIMA utilizando R.

  • Modelos ARIMA: son una clase popular y flexible de modelo de pronóstico que utiliza información histórica para hacer predicciones.

  • Este tipo de modelo es una técnica básica de pronóstico que puede usarse como base para modelos más complejos.

BOX-JENKINS

ANÁLISIS DE SERIES TEMPORALES

La metodología de Box-Jenkins, nombrada así en honor a los estadásticos George E. P . Box y Gwilym Jenkins, se aplica a los modelos autorregresivos de media móvil (ARMA) o a los modelos autorregresivos integrados de media móvil (ARIMA).

-Objetivo: Encontrar el mejor ajuste de una serie temporal de valores, a fin de que los pronósticos sean más acertados.

ARIMA

La estimación de los parámetros de un modelo ARMA requiere una SERIE MUESTRAL estacionaria en media y varianza.

Es decir, se precisa que la serie no tenga tendencia y que presente un grado de dispersión similar en cualquier momento de tiempo (homogénea en varianza)

A efectos prácticos:

  1. Tomar logaritmos para homogeneizar en varianza (no elimina tendecia)

  2. Diferenciar la serie original para que sea estacionaria en media (si elimina tendencia)

Una vez tratada la serie ya se puede estimar el modelo ARMA.

Modelo Autorregresivo- Integrado de Medias Móviles de orden p, d, q, o abreviadamente ARIMA (p,d,q): Modelo ARMA (p,q) aplicado a una serie integrada de orden d., I(d), es decir, a la que ha sido necesario diferenciar d veces para eliminar la tendencia.

  • I(d) -> Número de veces que se ha diferenciado la serie
  • AR -> Parte autorregresiva
  • MA -> Parte de Medias Móviles

Por lo tanto, la expresión general de un modelo ARIMA (p,d,q) viene dada por:

donde , expresa que sobre la serie original \(y_t\), se han aplicado d diferencias.

Sobre una serie integrada de orden 2, necesitaria una doble diferenciacion:

En la expresión del ARIMA (p,d,q) desaparece el término independiente, por la aplicación de las diferencias sucesivas.

  • Las series diferenciadas no tienen término independiente (sus valores oscilan alrededor del cero (Media = 0)).

EJEMPLO DE DIFERENCIACIÓN

  • Evolución mensual, durante algo más de ocho años, del consumo de gasolina en España (variable CONGA, en trazo grueso)

  • Serie no es estacionaria –> clara tendencia al alza

  • A simple vista bastaría con diferenciar una vez la serie original

  • Mayor dispersión en los útlimos años. Sería interesante trabajar la serie en logaritmos previo a la diferenciación (variable LCONGA)

  • Serie en logaritmos (LCONGA, ahora en trazo grueso y con la escala de la izquierda)

  • Serie diferenciada (DLCONGA=LCONGA-LCONGA(-1), en trazo fino y con la escala de la derecha del gráfico)

  • TENDENCIA ha sido eliminada en DLCONGA, cuyos valores oscilan alrededor del cero.

  • RESULTADO

    Última serie con transformación logarítmica y primeras diferencias (d=1 en modelo ARIMA) es la que habría que modelizar con un ARMA(p,q)

EJEMPLO PRÁCTICO

FUNCIÓN AUTO.ARIMA DE R

UNA OPCIÓN RÁPIDA PARA PRONOSTICAR

La función auto.arima de la librería forecast de R, evalúa entre todos los posibles modelos, al mejor modelo considerando diversos criterios: estacionariedad, estacionalidad, diferencias, entre otras.

Para llevar a cabo la utilización de esta función (auto.arima) en primer lugar, se cargan los paquetes de R necesarios:

library(forecast)  # Realizar proyecciones
## Warning: package 'forecast' was built under R version 3.4.4
library(openxlsx)  # Cargar bases excel 
## Warning: package 'openxlsx' was built under R version 3.4.3

setwd("C:/Users/Master/Desktop/ARIMA")  # Localizamos
data<- read.xlsx("estancia.xlsx", detectDates=T)  # Leemos 
tsdata<-ts(data,start=c(2000,1),frequency=12) # Serie temporal

Como se trata de una serie temporal, es necesario configurarla como tal, donde la serie tendrá inicio en el año 2000, mes 1 y la frecuencia es 12 puesto que es mensual.

  • Guardamos resultados en un objeto (modelo) y obtenemos resultados con la función
    summary
  • Se utiliza la columna 2 de la matriz “tsdata” (matriz que puede tener varias variables)

  • FUNCIÓN AUTO.ARIMA

    • Devuelve el posible mejor modelo

    • Realiza transformaciones de la variable en caso de que no sea estacionaria

    • Si existe estacionalidad construye un modelo ARIMA

modelo<-auto.arima(tsdata[,2])
summary(modelo)
## Series: tsdata[, 2] 
## ARIMA(2,0,2)(2,1,0)[12] with drift 
## 
## Coefficients:
##          ar1      ar2      ma1     ma2     sar1     sar2    drift
##       1.3170  -0.6047  -1.0347  0.5861  -0.3413  -0.3050  -0.0152
## s.e.  0.1784   0.1713   0.1899  0.1488   0.0746   0.0759   0.0020
## 
## sigma^2 estimated as 0.08651:  log likelihood=-38.06
## AIC=92.12   AICc=92.86   BIC=118.67
## 
## Training set error measures:
##                       ME      RMSE       MAE         MPE     MAPE
## Training set 0.001255529 0.2808954 0.2144858 -0.06915079 2.766483
##                   MASE       ACF1
## Training set 0.6843149 0.01510399

Por otra parte, también devuelve los conocidos como criterios de predictibilidad, los cuales son utilizados para evaluar la capacidad predictiva de los modelos incluyendo los criterios de información AIC, AICC, BIC.

pronostico<- forecast(modelo,12,level=95)

Pronósticos con intervalos de confianza solicitados:

matriz.pronosticos <-data.frame(pronostico$mean,pronostico$lower,pronostico$upper)
matriz.pronosticos
##    pronostico.mean     X95.   X95..1
## 1         7.173308 6.596825 7.749791
## 2         6.550987 5.951976 7.149998
## 3         6.298425 5.665753 6.931097
## 4         5.006753 4.351700 5.661806
## 5         5.085862 4.423149 5.748574
## 6         5.450688 4.787313 6.114064
## 7         6.344240 5.680510 7.007970
## 8         6.806382 6.141026 7.471739
## 9         5.821779 5.154685 6.488874
## 10        5.742824 5.074798 6.410850
## 11        6.361942 5.693691 7.030193
## 12        5.875419 5.207166 6.543672

CONCLUSIÓN

Finalmente, se llega a la conclusión de que la función auto.arima es útil y de fácil entendimiento.

Aunque es necesario que se evalúen las series en un estudio paso a paso, y en base a la experiencia y a lo que dicta la teoría econométrica (estacionariedad, evaluación del modelo, capacidad predictiva…), se elaboren los modelos.