Abr-20

Resumen

En el siguiente taller se utilizó la librería TSstudio (Versión 0.1.6) para realizar exploración de datos y elaborar pronósticos a través de los modelos ARIMA, SARIMA,ETS y TSLM.

Para completar el ejercicio, se visualizarán los resultados en gráficos interactivos que permiten tener un acercamiento directo al detalle de datos y realizar observaciones en las distintas regiones de la serie.

Los datos utilizados pertenecen a las ventas en volumen (unidades) de una cadena de tiendas al detal en Venezuela para el período 2014-2019.

Para ver el código completo del taller click en el link:

Mi Github

Contenido:

  • Data (Serie Temporal)
  • Análisis exploratorio
  • Descompocisión de la serie
  • Análisis estacional
  • Análisis de correlación
  • Resumen de exploración y análisis
  • Pronósticos de la serie (forecasting)
  • Enfoque tradicional
  • Backtesting

Data (Serie Temporal):

La serie temporal está compuesta por los datos de ventas en volumen de una cadena de tiendas al detal con presencia en todas las ciudades y principales localidades de Venezuela para el período 2014-2019.

Se protegerá la identidad de la empresa por ser datos privados que se proporcionaron con fines educativos. Además, será el complemento a las prácticas de Bussines Intelligence.

El comportamiento de los datos se analizará bajo la perspectiva de la economía venezolana, país que según el FMI (2019) y Banco Mundial (2019) presenta recesión prolongada, resultado de múltiples controles, hiperinflación, inestabilidad social y política acompañada de sanciones financieras. Un mercado en general atomizado y presencia de nichos con diferenciación oligopólica.

Data

Análisis exploratorio:

El objetivo del análisis exploratorio es identificar las características clave de la serie con el uso de métodos de análisis descriptivo.

En el entrenamiento buscamos detectar:

  • Patrón estacional: Simple o múltiple.
  • Tipo de tendencia: Lineal, exponencial, polinómica.
  • Rupturas estructurales y valores atípicos.
  • Cualquier otro patrón en la serie.

Esta información proporciona una amplia comprensión del pasado y puede utilizarse para pronosticar el futuro. En el caso particular de Venezuela es complejo realizar pronósticos a largo plazo por la naturaleza misma del hábitat económico donde las expectativas pueden tener un efecto determinante.

Descomposición de la serie:

Análisis estacional:

En el gráfico se podrá verificar lo observado en la descomposición de la serie. Un fuerte componente estacional con tendencia no lineal.

La función Ts_seasonal proporciona tres vistas diferentes de la estacionalidad de la serie:

  • El primer ciclo de trazado de la serie es mensual y cumple el año completo. La vista permite comparar la variación de cada unidad de frecuencia (mes) de año en año.

  • En el caso de las series mensuales cada linea representa un mes de ventas a lo largo del tiempo. Permite verifificar si el patrón estacional permanece igual.

  • Al final aparecen los diagramas de caja. Son unos gráficos que permiten visualizar la distribución de datos en cada unidad de frecuencia.

Componente estacional:

Componente estacional sin tendencia:

Componente estacional:

Algunas observaciones son:

  • La estructura del patrón estacional al eliminar la tendencia se mantiene de la siguiente manera: Decrecimiento de enero a junio y crecimiento de julio a diciembre.

  • Ese comportamiento puede estar relacionado con un aumento del ingreso personal durante el segundo semestre del año, posiblemente a vacaciones colectivas remuneradas y las utilidades de fin de año.

  • En general se han venido deteriorando los niveles de ventas en la evolución del histórico, motivado entre otros factores a la grave coyuntura económica que tiene el país en su último quinquenio.

Añadiremos un mapa de calor para visualizar el patrón estacional desde otra perspectiva.

Mapa de calor:

Análisis de correlación

Serie versus rezagos I

Serie versus rezagos II

Resumen de exploración y análisis

Puntos clave del análisis exploratorio:

  • La serie tiene un patrón estacional fuerte, sin estacionalidad múltiple.

  • La tendencia muestra una ruptura estructural alrededor del año 2016 y un decrecimiento no lineal.

  • La serie presenta una fuerte correlación con sus rezagos estacionales.

Pronósticos de la serie

Con todas las observaciones realizadas se diseñará un entrenamiento utilizando dos enfoques: El tradicional y el Backtesting. Seleccionando el que mejor se desempeñe en el conjunto de pruebas.

  • El enfoque tradicional divide la serie en particiones de capacitación y prueba (muestra). Entrena a cada modelo en el conjunto de entrenamiento y se evalúa el desempeño. Se ajustarán los modelos: ARIMA, SARIMA, ETS y TSLM.

  • El enfoque de Backtesting utiliza una ventana expansiva para entrenar y probar cada modelo en múltiples conjuntos de entrenamiento y prueba.

  • Para la ruptura de la serie se codificará la sintaxis de una bandera (flag) binaria con un valor de 0 para cualquier observación antes del 2016 y 1 para después de la fecha.

Enfoque Tradicional

Práctica con tres enfoques de pronósticos:

  • ARIMA: Modelo Autorregresivo Integrado de Promedio Móvil que aplicaremos a través de la función auto.arima.

  • ETS: Estima un modelo de pronóstico de series temporales univariantes utilizando un método de suavizado exponencial. Se aplica con la función ETS (error, tendencia y componente estacional).

  • TSLM: Modelo de regresión lineal para series temporales.

Se recomienda diversificar el enfoque de modelado. El rendimiento de los modelos puede cambiar según la estructura de datos y los parámetros de ajuste. Se divide la serie en particiones de entrenamiento y prueba.

Información de entrenamiento (training) y prueba (test)

##  The train series is a ts object with 1 variable and 60 observations
##  Frequency: 12 
##  Start time: 2014 1 
##  End time: 2018 12
##  The test series is a ts object with 1 variable and 12 observations
##  Frequency: 12 
##  Start time: 2019 1 
##  End time: 2019 12

Training

El modelo se ajusta a los cambios en la tendencia pero no logra capturar los picos estacionales. La tasa de error (MAPE) en el conjunto de prueba (test) es más del doble que la del conjunto de entrenamiento (43%) (training). Posible sobreajuste.

##                      ME    RMSE      MAE        MPE     MAPE      MASE
## Training set  -82.13979 556.855 383.9783  -2.608326 13.84001 0.2263472
## Test set     -392.41103 435.644 392.4110 -43.645006 43.64501 0.2313181
##                    ACF1 Theil's U
## Training set -0.0493298        NA
## Test set      0.1821370  3.161741

Modelo 1 SARIMA

Modelo 2 ETS Training

##                      ME     RMSE      MAE        MPE     MAPE      MASE
## Training set  -61.40921 506.7398 365.2970  -3.409075 11.90957 0.2153350
## Test set     -717.56487 757.7077 717.5649 -88.479636 88.47964 0.4229895
##                     ACF1 Theil's U
## Training set -0.03604148        NA
## Test set      0.69697855  6.156051

Modelo 2 ETS Gráfica

Modelo 3 TSLM Training

No captura los picos ni la estructura de tendencia. Resultado del manejo de errores por encima del SARIMA, el TSLM obtiene una tasa de error alta del 85% en el conjunto de pruebas.

Aplicaremos la ruptura estructural agregando la variable flag que preparamos antes.

##                         ME      RMSE      MAE       MPE     MAPE      MASE
## Training set -3.881386e-15 1069.5895 858.5997 -7.580223 26.88832 0.5061266
## Test set      8.132139e+02  877.8898 813.2139 85.610982 85.61098 0.4793727
##                   ACF1 Theil's U
## Training set 0.8757935        NA
## Test set     0.5699836  6.143616

Modelo 3 TSLM Gráfica

Modelo 4 TSLM con Flag -Training-

Sigue por encima de los valores del modelo SARIMA. Aplicaremos en el próximo modelo una regresión polinómica elevando al cuadrado la tendencia.

##                         ME     RMSE      MAE        MPE     MAPE      MASE
## Training set  4.551406e-14 884.0708 697.6263  -6.503608 20.34271 0.4112362
## Test set     -4.156753e+02 531.1869 415.6753 -54.033866 54.03387 0.2450319
##                   ACF1 Theil's U
## Training set 0.7131667        NA
## Test set     0.5699836  3.831884

Modelo 4 TSLM Gráfica

Modelo 5 TSLM Training -Polinómico-

Manejo de errores por encima de todos los anteriores. Se selecciona el modelo 1 SARIMA y evaluaremos los residuos.

##                        ME     RMSE       MAE        MPE      MAPE      MASE
## Training set 1.515778e-13 1066.328  860.3846  -7.377058  28.18054 0.5071788
## Test set     1.127234e+03 1197.111 1127.2340 119.660207 119.66021 0.6644810
##                   ACF1 Theil's U
## Training set 0.8794995        NA
## Test set     0.6325127    8.3801

Modelo 5 TSLM Gráfica -Polinómico-

Evaluación de residuos del Modelo 1 SARIMA

Evaluación de residuos SARIMA

Se observa en el correlograma que se logra el decrecimiento de los órdenes del polinomio puro, con alternancia de valores positivos y negativos. Estabilizado en media, y una distribucion de errores que no es normal. Del mismo modo, queda correlación entre los rezagos de los residuos de la serie. Se podrían utilizar otros regresores para optimizar el modelo. No obstante, por razones de tiempo en el taller seguiremos con el SARIMA como ejemplo.

Para finalizar con el enfoque tradicional se realizarán los pronósticos para 12 meses del modelo SARIMA con intérvalos de confianza del 80% y 95%.

Pronósticos del modelo SARIMA

Enfoque Backtesting

La ventaja del enfoque backtesting sobre el enfoque tradicional, es que proporciona una visión general del rendimiento de cada modelo. Permite identificar, además de la precisión, la estabilidad del rendimiento del modelo en distintas particiones temporales. Es un tipo especial de validación cruzada.

## # A tibble: 5 x 7
##   model_id model notes       avg_mape avg_rmse `avg_coverage_8~ `avg_coverage_9~
##   <chr>    <chr> <chr>          <dbl>    <dbl>            <dbl>            <dbl>
## 1 Sarima   arima SARIMA(1,0~    0.325     460.            0.986            0.986
## 2 ets2     ets   ETS model ~    0.573     678.            0.75             0.917
## 3 ets1     ets   ETS model ~    0.587     694.            0.694            0.917
## 4 tslm     tslm  tslm model~    0.602     748.            1                1    
## 5 arima1   arima ARIMA(1,0,~    0.944    1101.            0.889            1

Backtesting Gráfica

Fin del Taller