Instalar/Cargar librerias necesarias para el análisis

Cargar base de datos

PASO INDISPENSABLE: Declarar la (s) variable (s) como serie (s) temporal (es):

Variable 1

Variable 2

Variable 3

Extracción de señales

Gráfico inicial de la variable 1 en niveles -Original

Extracción señales variable 1

Extracción señales variable 2

Extracción señales variable 3

Después de la descomposición temporal de cada variable, se extrae la variable ajustada por estacionalidad para graficarla junto con la serie original:

Se crea la variable1 ajustada por estacionalidad

Se crea la variable2 ajustada por estacionalidad

Se crea la variable3 ajustada por estacionalidad

Ahora si se puede graficar las series originales versus la ajustada por estacionalidad

Gráfico serie original VS ajustada Variable 1

Gráfico serie original VS ajustada Variable 2

Gráfico serie original VS ajustada Variable 3

Ahora graficamos serie original vs tendencia

Primero se debe obtener la tendencia de cada variable y luego graficarla

Tendencia Variable 1

Tendencia Variable 2

Tendencia Variable 3

Ahora calculamos la tasa de crecimiento de la serie original vs tendencia:

Tasa de crecimiento de la serie de tendencia y original para la variable 1

## [1] 156
## [1] 156
## [1] 156

*Gráfico variable original y tendencia variable 1: tasa de crecimiento anual**

Ahora calculamos la tasa de crecimiento de la serie original vs tendencia: variable 2

## [1] 156
## [1] 156
## [1] 156

Ahora calculamos la tasa de crecimiento de la serie original vs tendencia: variable 3

## [1] 156
## [1] 156
## [1] 156

Analizar la tasa de crecimiento anual ayuda a detectar cambios en el entorno económico que afectan el sector. Se pueden prever crisis o períodos de auge y prepararse para ellos.

Modelo ARIMA

División en conjunto de entrenamiento y prueba para la variable 1 que es la elegida para pronosticar

El código siguiente divide una serie temporal (variable1_ts) en dos subconjuntos:

Conjunto de entrenamiento (train): Datos desde enero de 2012 hasta septiembre de 2024. Conjunto de prueba (test): Datos desde octubre de 2024 hasta diciembre de 2024.

Esto se hace para evaluar el desempeño de modelos de predicción en datos no vistos.

Modelo ARIMA automático normal (sin tener en cuenta el factor estacional)

Identificación automática del modelo ARIMA

## Series: train_ts 
## ARIMA(4,1,2) with drift 
## 
## Coefficients:
##           ar1     ar2     ar3      ar4      ma1      ma2   drift
##       -0.3909  0.4191  0.0490  -0.2738  -0.1767  -0.4442  3.2478
## s.e.   0.1641  0.1701  0.1216   0.0848   0.1617   0.1337  1.8703
## 
## sigma^2 = 5313:  log likelihood = -864.45
## AIC=1744.89   AICc=1745.9   BIC=1769.09
## 
## Training set error measures:
##                     ME     RMSE      MAE        MPE     MAPE      MASE
## Training set 0.3392507 70.96025 48.58044 -0.1241992 2.710333 0.5746403
##                    ACF1
## Training set 0.01708419

Estimación del modelo identificado automatico y validación de Significancia de coeficientes

## 
## z test of coefficients:
## 
##        Estimate Std. Error z value  Pr(>|z|)    
## ar1   -0.390891   0.164082 -2.3823 0.0172050 *  
## ar2    0.419085   0.170053  2.4644 0.0137227 *  
## ar3    0.049049   0.121572  0.4035 0.6866129    
## ar4   -0.273786   0.084835 -3.2273 0.0012497 ** 
## ma1   -0.176674   0.161711 -1.0925 0.2745998    
## ma2   -0.444185   0.133722 -3.3217 0.0008947 ***
## drift  3.247807   1.870313  1.7365 0.0824747 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Series: train_ts 
## ARIMA(4,1,2) 
## 
## Coefficients:
##           ar1     ar2     ar3      ar4      ma1      ma2
##       -0.4358  0.3604  0.0263  -0.2763  -0.1113  -0.3975
## s.e.   0.1754  0.1850  0.1216   0.0828   0.1747   0.1354
## 
## sigma^2 = 5369:  log likelihood = -865.71
## AIC=1745.43   AICc=1746.2   BIC=1766.59
## 
## Training set error measures:
##                    ME     RMSE      MAE      MPE     MAPE      MASE
## Training set 8.781554 71.57468 49.60771 0.342712 2.758073 0.5867916
##                      ACF1
## Training set 0.0008244461

Validación de residuales o errores del modelo

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(4,1,2)
## Q* = 51.552, df = 18, p-value = 4.383e-05
## 
## Model df: 6.   Total lags used: 24

Pronóstico modelo ARIMA automático dentro de muestra o en el set de prueba

Interpretación modelo automatico (4,1,2):El modelo automático (4,1,2) parece pronosticar mejor dentro de prueba. Hay un sobre ajuste, pero se capturan muy bien los puntos de quiebre. Es un modelo tentativo adecuado para pronpostico fuera de muestra o a futuro.

Pronóstico automático dentro del set de prueba como tabla

##      Tiempo Observado Pronosticado
## 1  2024.750  2155.514     2126.319
## 2  2024.833  2061.612     2088.713
## 3  2024.917  2085.775     2126.241
## 4  2025.000  2110.975     2110.058
## 5  2025.083  2018.777     2121.641
## 6  2025.167  2174.954     2126.354
## 7  2025.250  2035.961     2122.184
## 8  2025.333  2192.316     2134.674
## 9  2025.417  2118.460     2128.990
## 10 2025.500  2249.288     2138.837
## 11 2025.583  2234.768     2138.247
## 12 2025.667  2207.604     2142.792
## 13 2025.750  2266.162     2146.693
## 14 2025.833  2213.671     2148.234
## 15 2025.917  2218.968     2153.537

Ahora pronosticamos con el modelo automatico fuera del periodo de análisis, es decir enero 2025

Es decir, le sumamos al periodo de prueb auna observación más. Es decir, se estan pronosticando 4 observaciones o trimestres.

##      Tiempo Pronostico
## 1  2024.750   2126.319
## 2  2024.833   2088.713
## 3  2024.917   2126.241
## 4  2025.000   2110.058
## 5  2025.083   2121.641
## 6  2025.167   2126.354
## 7  2025.250   2122.184
## 8  2025.333   2134.674
## 9  2025.417   2128.990
## 10 2025.500   2138.837
## 11 2025.583   2138.247
## 12 2025.667   2142.792
## 13 2025.750   2146.693
## 14 2025.833   2148.234
## 15 2025.917   2153.537
## 16 2026.000   2154.943
## [1] "Pronóstico para enero 2025: 2026 = 2154.94331291707"

Modelo SARIMA automático

Este modelo podria ser una solución o mejora al modelo arima tradicional ya que recoge el efecto estacional de las variables, es recomendable por tanto para datos que si tienen un componente estacional fuerte.

El modelo ajustado en este ejemplo es un SARIMA(0,1,1)(1,0,0)[12], lo que significa:

(0,1,1): Parte ARIMA no estacional: 0 términos autorregresivos (AR). 1 diferenciación (d), lo que indica que la serie fue diferenciada una vez para hacerla estacionaria. 1 término de media móvil (MA).

(1,0,0)[12]: Parte estacional con periodicidad 12 (mensual si los datos son mensuales): 1 término autorregresivo estacional (SAR). 0 diferenciaciones estacionales. 0 términos de media móvil estacionales (SMA).

El modelo SARIMA(0,1,1)(1,0,0)[12] sugiere que:

  • La serie tiene una tendencia no estacionaria, corregida con una diferenciación.
  • Existe una influencia significativa del error pasado (MA(1)).
  • Hay un componente estacional autorregresivo fuerte cada 12 períodos.
  • El ajuste es adecuado según los criterios AIC y BIC, pero se podría comparar con otros modelos para mejorar la predicción.

Identificación dautomática del modelo SARIMA

## Series: train_ts 
## ARIMA(0,1,1)(1,0,0)[12] 
## 
## Coefficients:
##           ma1    sar1
##       -0.4755  0.4279
## s.e.   0.0859  0.0729
## 
## sigma^2 = 4787:  log likelihood = -860.01
## AIC=1726.02   AICc=1726.18   BIC=1735.09

A continuación, se crea el objeto darima para luegO poder graficar los valores reales y observados:

## Series: train_ts 
## ARIMA(0,1,1)(1,0,0)[12] 
## 
## Coefficients:
##           ma1    sar1
##       -0.4755  0.4279
## s.e.   0.0859  0.0729
## 
## sigma^2 = 4787:  log likelihood = -860.01
## AIC=1726.02   AICc=1726.18   BIC=1735.09
## 
## Training set error measures:
##                    ME     RMSE      MAE        MPE     MAPE      MASE
## Training set 3.099485 68.50635 45.88936 0.06106946 2.564334 0.5428085
##                    ACF1
## Training set 0.02747744

Validación de residuales del modelo automatico SARIMA

En el correlograma de residuos siguiente se observa que, mejora la correlación de los residuos frente a lso dos modelos anteriores. Sin embargo, al comparar los valores reales VS pronosticados se determina una poca coincidencia. Sigue funcionando mejor el modelo automatico (4,1,2)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(0,1,1)(1,0,0)[12]
## Q* = 29.227, df = 22, p-value = 0.1385
## 
## Model df: 2.   Total lags used: 24

Pronóstico con el modelo SARIMA dentro del set de prueba-Gráfico líneas

Pronóstico del modelo automático SARIMA en el set de prueba-Tabla

##      Tiempo Observado Pronosticado
## 1  2024.750  2155.514     2098.801
## 2  2024.833  2061.612     2067.649
## 3  2024.917  2085.775     2057.956
## 4  2025.000  2110.975     2064.576
## 5  2025.083  2018.777     2032.200
## 6  2025.167  2174.954     2068.418
## 7  2025.250  2035.961     2051.460
## 8  2025.333  2192.316     2066.896
## 9  2025.417  2118.460     2020.665
## 10 2025.500  2249.288     2066.000
## 11 2025.583  2234.768     2064.054
## 12 2025.667  2207.604     2051.366
## 13 2025.750  2266.162     2059.145
## 14 2025.833  2213.671     2045.816
## 15 2025.917  2218.968     2041.668

Pronóstico del modelo automático SARIMA fuera de muestra, es decir, en enero 2025

Es decir, le sumamos al periodo de prueba una observación más. Es decir, se estan pronosticando 4 observaciones o meses.

##      Tiempo Pronostico
## 1  2024.750   2098.801
## 2  2024.833   2067.649
## 3  2024.917   2057.956
## 4  2025.000   2064.576
## 5  2025.083   2032.200
## 6  2025.167   2068.418
## 7  2025.250   2051.460
## 8  2025.333   2066.896
## 9  2025.417   2020.665
## 10 2025.500   2066.000
## 11 2025.583   2064.054
## 12 2025.667   2051.366
## 13 2025.750   2059.145
## 14 2025.833   2045.816
## 15 2025.917   2041.668
## 16 2026.000   2044.501
## [1] "Pronóstico para enero 2025: 2026 = 2044.5009660821"

Conclusión:

El modelo automático ARIMA(4,1,2) fue el que mejor desempeño mostró en la comparación entre los datos reales y los pronosticados dentro del periodo de prueba (oct.nov.dic2024). Destacó por su mayor precisión en la captura de los puntos de quiebre, lo que lo hace el más confiable.

No obstante, al analizar los residuos de los modelos, se identifican posibles áreas de mejora para robustecer los pronósticos en los tres casos evaluados. Algunas estrategias podrían incluir la aplicación de una transformación logarítmica o trabajar desde el inicio con la serie ajustada por estacionalidad.

By Julieth Cerón