Gabriel Chirinos

31/12/2021

1. Introducción

En presente estudio técnico tiene como finalidad analizar una serie de tiempo no estacional y establecer varios modelos ARIMA candidatos a pronosticar la serie, se busca seleccionar el modelo ARIMA que presente el mejor ajuste a la serie.

El procedimiento utilizado en este analisis es el siguiente:

  1. Gráficar la serie y evaluar si es o no estacionaria, en caso de no ser estacionaria diferenciar la serie hasta que lo sea.
  2. Examinar los gráficos de autocorrelación y autocorrelación parcial de la serie (ACF / PACF) para identificar los ordenes apropiados de p y q a ajustar en los modelos ARIMA.
  3. Ajustar los distintos modelos candidatos y seleccionar el que logre minimizar el AIC (Akaike information criterion).
  4. Realizar el análisis de los residuos del modelo seleccionado en el paso anterior. Se busca evaluar la presencia o no de autocorrelación serial en los residuos que pueda indicar que el modelo seleccionado no esta captando los patrones en la serie.
  5. Al tener el modelo cuyos residuos se asemejen aún ruido blanco se procede a realizar los pronósticos.

2. Datos

La serie de tiempo en estudio se trata del valor diario del dólar nortemaricano ($) en bolívares (bs), la data fue extraida de la página oficial del Banco Central de Venezuela y procesada en R para estructurarla en un formato tidy. Se posee la información diaria de las tasa de cambio desde el día 01/01/2020 hasta 31/12/2021.

Para el presente análisis se decide resumir la serie diaria a semanal, y para esto se utilizá la mediana semanal de los datos debido a que es mas robusta que un promedio contra valores atipicos o puntos de dispersión.

A continuación, se presenta la serie en estudio.

Se observa que la serie en estudio es no estacional con una tendencia de crecimiento ascendente, además, se aprecia que durante el año 2020 hasta el inicio del 2021 la tendecia es exponencial y para el resto del tiempo se amortigua la tendencia.

3. Análisis de Estacionariedad

Un paso importante al utilizar la familia de modelos autorregresivos integrados de medias móviles (ARIMA) es analizar si la serie es estacionaria, una serie es estacionaria cuando su media y varianza permanecen invariantes durante el tiempo. Por lo expresado anteriormente, una serie con tendencia o patrones estacionales no es estacionaria.

En el caso de la serie en estudio al tener una clara tendencia se concluye que no es estacionaria. Esta aseveración se comprueba haciendo uso de pruebas de raíz unitaria, para este análisis se utiliza la prueba de KPSS (Kwiatkowski-Phillips-Schmidt-Shin).

A continuación, se computa la prueba KPSS.

## # A tibble: 1 x 2
##   kpss_stat kpss_pvalue
##       <dbl>       <dbl>
## 1      2.09        0.01

Al tener un estadístico kpss de prueba (2,09) mayor al valor crítico (0,01), por lo que el p valor es menor se concluye que se rechaza la hipótesis nula, y por ende, la serie no es estacionaria. Se deduce que se debe diferenciar la serie de tiempo.

El paquete feasts en su función unitroot_ndiffs calcula el número de diferenciaciones necesarias para convertir la serie de no estacionaria a estacionaria, este proceso es realizado haciendo uso de secuencias de pruebas KPSS a medida que se diferencia la seria.

## # A tibble: 1 x 1
##   ndiffs
##    <int>
## 1      2

Se diferencia la serie dos veces y se procede a computar la prueba KPSS de nuevo.

## # A tibble: 1 x 2
##   kpss_stat kpss_pvalue
##       <dbl>       <dbl>
## 1    0.0289         0.1

Se observa que el estadístico kpps es bastante pequeño (0,0289) y se encuentre en el rango esperado para una serie de tiempo estacionaria y al tener un p valor mayor al 1% se concluye que no hay suficientes evidencias para rechazar la hipótesis nula, y por ende, la serie es estacionaria.

4. Selección de Ordenes p y q.

Una vez se tenga el número de diferenciaciones necesarias para que la serie en estudio sea estacionaria se procede a realizar los gráficos de autocorrelación y autocorrelación parcial los cuales serán de ayuda para determinar los ordenes de p y q a seleccionar en los modelos ARIMA.

Del gráfico anterior se concluye lo siguiente:

  1. En la PACF se puede observar que los lag relevantes son 1, 3 y 6, esto sugiere que posibles candidatos pueden ser modelos ARIMA de orden p ∈ {1, 3, 6} y d = 2.
  2. Del gráfico ACF se observan lag relevantes hasta el 2, esto sugiere modelos de orden q ∈ {1:2} y d = 2.
  3. Se tomarán como candidatos los modelos integrados de p ∈ {1, 3, 6} y q ∈ {1:2} con d = 2.

5. Ajuste de Modelos.

Ya seleccionados los ordenes de p y q, y conociendo el número de diferenciaciones necesarias solo resta computar el ajuste de los modelos candidatos a la serie y comparar el AIC de todos los modelos.

En la tercera edición del libro “Forecasting: Principles and Practice” de Rob J. Hyndman se presentan los paquetes fable y feast los cuáles aportan un conjunto de funciones que ayudan en el ajuste de distintos modelos. Entre estas se encuentra la función ARIMA() la cuál nos permite establecer un rango de posibles valores para los parámetros p, q, y d, realizando el ajuste de todas las posibles combinaciones y seleccionando la que logre minimizar el AIC.

A continuación, se presenta un ejemplo para el ajuste de modelos ARIMA con p ∈ {1, 3, 6} y d = 2.

arima_fit <- serie %>%
  model(arimaAR = ARIMA(
    value ~ pdq(p = c(1:6), d = 2, q = 0), 
    trace = T, stepwise = F, order_constraint = p + d <= 8)
    )
## ARIMA(1,2,0)(0,0,0)[1]+c -241.672171
## ARIMA(2,2,0)(0,0,0)[1]+c -239.548658
## ARIMA(3,2,0)(0,0,0)[1]+c -245.892118
## ARIMA(4,2,0)(0,0,0)[1]+c -244.413896
## ARIMA(5,2,0)(0,0,0)[1]+c -242.462654
## ARIMA(6,2,0)(0,0,0)[1]+c -246.151729
## ARIMA(1,2,0)(0,0,0)[1]   -243.793453
## ARIMA(2,2,0)(0,0,0)[1]   -241.713180
## ARIMA(3,2,0)(0,0,0)[1]   -248.101053
## ARIMA(4,2,0)(0,0,0)[1]   -246.669346
## ARIMA(5,2,0)(0,0,0)[1]   -244.765843
## ARIMA(6,2,0)(0,0,0)[1]   -248.504692

Se observa como se ajustan los modelos y se muestra el estadístico de calidad AIC para cada modelo, además, la función automáticamente evalua la inclusión de una constante c en los modelos. Se realiza esto pero para los distintos escenarios expuesto en el punto anterior y se presentan los mejor modelos resultantes de cada proceso.

Model name Orders
arimaAR <ARIMA(6,2,0)>
arimaMA <ARIMA(0,2,3)>
arima <ARIMA(1,2,3)>

Ahora veamos el AIC de los modelos resultantes para ver cual logra minimizar el mismo.

.model sigma2 log_lik AIC AICc BIC
arimaMA 0.0043116 135.0527 -262.1054 -261.6972 -251.5665
arima 0.0042878 135.8103 -261.6206 -261.0020 -248.4469
arimaAR 0.0047715 131.8418 -249.6836 -248.5047 -231.2405

De los tres modelos candidatos el que posee el menor AIC es el ARIMA(0,2,3). Se presenta los valores de los parámetros estimados del modelo.

## Series: value 
## Model: ARIMA(0,2,3) 
## 
## Coefficients:
##           ma1      ma2      ma3
##       -0.4766  -0.1098  -0.3268
## s.e.   0.0990   0.0942   0.0888
## 
## sigma^2 estimated as 0.004312:  log likelihood=135.05
## AIC=-262.11   AICc=-261.7   BIC=-251.57

6. Análisis de Residuos.

Se procede a evaluar los residuos del modelo escogido, se busca evaluar la presencia o no de autocorrelación serial en los mismos.

Se observa que el lag número 13 supera las bandas de significancia por lo que se procede a realizar el contraste de hipótesis de Ljung-Box para verificar.

## # A tibble: 1 x 3
##   .model  lb_stat lb_pvalue
##   <chr>     <dbl>     <dbl>
## 1 arimaMA    32.1     0.228

Al optener un p-valor mayor al nivel de significancia (0,05), se concluye que no hay suficiente evidencia para rechazar la hipótesis nula y por ende los residuos del modelo no están auto correlacionados.

6. Ajuste y Pronósticos.

A continuación, se presenta el ajuste del modelo selecciona a la serie de tiempo.

Finalmente se computan los pronósticos para un horizonte de 8 semanas y se presenta gráficamente con su respectivo intervalo de confianza del 95%.