Pronóstico de series temporales, enfoque deterministico (clásico)

Carga de Datos

IVAE_03_22 <-
  read_excel(
    "C:/Users/Keiry/Documents/Eco22/IVAE_22_03.xlsx",
    col_names = FALSE,
    skip = 6,
    n_max = 10
  )
IVAE_03_22[1:10, 1:10]
## # A tibble: 10 x 10
##    ...1                     ...2  ...3  ...4  ...5  ...6  ...7  ...8  ...9 ...10
##    <chr>                   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1   1   IVAE               86.7  80.8  87.2  83.9  91.4  93.5  86.4  86.7  87.6
##  2   2   Agricultura, Gan~  86.8  70.2  65.2  67.4 138.  153.   75.6 137.  110. 
##  3   3   Índice de Produc~  86.6  85.4 100.   91.6  91.2  89.7  86.8  81.2  86.6
##  4   4   Construcción       66.6  76.9  82.6  82.6  69.0  80.8  82.5  67.3  74.5
##  5   5   Comercio, Transp~  91.0  74.8  77.8  80.0  89.6  90.6  81.9  82.3  80.1
##  6   6   Información y Co~  94.6  76.9  81.9  81.0  92.3  91.9  96.9  81.3 104. 
##  7   7   Actividades Fina~  97.4  85.7  94.9  88.9  92.6  91.6  92.1  94.2  92.6
##  8   8   Actividades Inmo~  96.8  95.2  94.6  93.9  94.0  94.6  95.3  95.9  96.4
##  9   9   Actividades Prof~  80.7  76.9  81.0  77.2  86.1  87.8  82.9  75.9  80.4
## 10   10   Actividades de ~  80.8  83.0  91.3  83.9  84.9  86.7  90.3  87.7  88.4

Prónostico Modelo de Holt Winters “multiplicative”

Usando Stars y forescaste

#Carga de datos
data.ivae <-
  pivot_longer(
    data = IVAE_03_22[1,],
    names_to = "vars",
    cols = 2:160,
    values_to = "indice"
  ) %>% select("indice")
data.ivae.ts <- data.ivae %>% ts(start = c(2009, 1), frequency = 12)
#Estimacion del modelo
ModeloHW <-
  HoltWinters(x = data.ivae.ts,
              seasonal = "multiplicative",
              optim.start = c(0.9, 0.9, 0.9))
ModeloHW
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
## 
## Call:
## HoltWinters(x = data.ivae.ts, seasonal = "multiplicative", optim.start = c(0.9,     0.9, 0.9))
## 
## Smoothing parameters:
##  alpha: 0.8472467
##  beta : 0
##  gamma: 1
## 
## Coefficients:
##            [,1]
## a   118.3719784
## b     0.1600947
## s1    0.9529095
## s2    1.0192349
## s3    1.0440936
## s4    0.9962326
## s5    1.0009929
## s6    0.9838373
## s7    0.9554392
## s8    1.0145286
## s9    1.0872315
## s10   0.9748891
## s11   0.9626701
## s12   1.0059813
#Generar el pronostico
PronosticoHW <-
  forecast(object = ModeloHW,
           h = 12,
           level = c(0.95, 0.99))
PronosticoHW
##          Point Forecast     Lo 95    Hi 95     Lo 99    Hi 99
## Apr 2022       112.9503 107.46492 118.4358 105.74127 120.1594
## May 2022       120.9752 113.57246 128.3779 111.24635 130.7040
## Jun 2022       124.0929 115.22236 132.9634 112.43504 135.7507
## Jul 2022       118.5640 108.86876 128.2592 105.82229 131.3057
## Aug 2022       119.2908 108.50116 130.0804 105.11081 133.4708
## Sep 2022       117.4038 105.81297 128.9947 102.17086 132.6368
## Oct 2022       114.1680 101.97016 126.3657  98.13733 130.1986
## Nov 2022       121.3911 107.66977 135.1125 103.35822 139.4240
## Dec 2022       130.2643 114.88360 145.6450 110.05064 150.4779
## Jan 2023       116.9603 102.34981 131.5708  97.75887 136.1617
## Feb 2023       115.6485 100.48405 130.8129  95.71905 135.5779
## Mar 2023       121.0126  83.19827 158.8270  71.31613 170.7091
#Grafico de la serie orifinal y del pronostico
PronosticoHW %>% autoplot()

Usando Forescast (Aprocimacion por Espacios por los Estados ETS)

#Generar el pronostico
PronosticoHW2 <-
  hw(
    y = data.ivae.ts,
    h = 12,
    level = c(0.96, 0.99),
    seasonal = "multiplicative",
    initial = "optimal"
  )
PronosticoHW2
##          Point Forecast     Lo 96    Hi 96     Lo 99    Hi 99
## Apr 2022       111.9184 104.76599 119.0709 102.94778 120.8891
## May 2022       119.3664 110.25864 128.4742 107.94336 130.7895
## Jun 2022       122.8422 112.14980 133.5347 109.43169 136.2528
## Jul 2022       118.4498 106.99770 129.9019 104.08648 132.8131
## Aug 2022       120.0189 107.35373 132.6840 104.13415 135.9036
## Sep 2022       118.4260 104.95412 131.8980 101.52944 135.3226
## Oct 2022       114.3087 100.41978 128.1975  96.88911 131.7282
## Nov 2022       120.2837 104.78516 135.7822 100.84531 139.7221
## Dec 2022       127.9776 110.59023 145.3649 106.17022 149.7849
## Jan 2023       114.4558  98.13547 130.7762  93.98669 134.9249
## Feb 2023       113.5923  96.65871 130.5259  92.35405 134.8306
## Mar 2023       119.3883 100.84228 137.9342  96.12773 142.6488
#Gráfico de la serie original y del pronóstico.
PronosticoHW2 %>% autoplot()

Prónostico Modelo de Holt Winters “additive”

Usando Stars y forescaste

#Carga de datos
data.ivae <-
  pivot_longer(
    data = IVAE_03_22[1,],
    names_to = "vars",
    cols = 2:160,
    values_to = "indice"
  ) %>% select("indice")
data.ivae.ts <- data.ivae %>% ts(start = c(2009, 1), frequency = 12)
#Estimacion del modelo
ModeloHW <-
  HoltWinters(x = data.ivae.ts,
              seasonal = "additive",
              optim.start = c(0.9, 0.9, 0.9))
ModeloHW
## Holt-Winters exponential smoothing with trend and additive seasonal component.
## 
## Call:
## HoltWinters(x = data.ivae.ts, seasonal = "additive", optim.start = c(0.9,     0.9, 0.9))
## 
## Smoothing parameters:
##  alpha: 0.9142733
##  beta : 0
##  gamma: 1
## 
## Coefficients:
##            [,1]
## a   118.0938359
## b     0.1600947
## s1   -3.9032233
## s2    3.0467916
## s3    3.9273013
## s4   -1.6040517
## s5   -0.5787492
## s6   -1.8288955
## s7   -4.0808499
## s8    2.2490593
## s9    9.6275698
## s10  -2.7962367
## s11  -4.4557494
## s12   0.9861641
#Generar el pronostico
PronosticoHW <-
  forecast(object = ModeloHW,
           h = 12,
           level = c(0.95, 0.99))
PronosticoHW
##          Point Forecast     Lo 95    Hi 95     Lo 99    Hi 99
## Apr 2022       114.3507 109.10096 119.6005 107.45137 121.2500
## May 2022       121.4608 114.34766 128.5740 112.11255 130.8091
## Jun 2022       122.5014 113.92039 131.0825 111.22404 133.7788
## Jul 2022       117.1302 107.29801 126.9623 104.20853 130.0518
## Aug 2022       118.3156 107.37443 129.2567 103.93648 132.6946
## Sep 2022       117.2255 105.27790 129.1731 101.52368 132.9273
## Oct 2022       115.1336 102.25799 128.0093  98.21216 132.0551
## Nov 2022       121.6237 107.88248 135.3648 103.56470 139.6826
## Dec 2022       129.1623 114.60695 143.7176 110.03335 148.2912
## Jan 2023       116.8985 101.57229 132.2248  96.75644 137.0407
## Feb 2023       115.3991  99.33889 131.4594  94.29240 136.5059
## Mar 2023       121.0011 104.23903 137.7632  98.97199 143.0303
#Grafico de la serie orifinal y del pronostico
PronosticoHW %>% autoplot()

Usando Forescast (Aprocimacion por Espacios por los Estados ETS)

#Generar el pronostico
PronosticoHW2 <-
  hw(
    y = data.ivae.ts,
    h = 12,
    level = c(0.96, 0.99),
    seasonal = "additive",
    initial = "optimal"
  )
PronosticoHW2
##          Point Forecast     Lo 96    Hi 96     Lo 99    Hi 99
## Apr 2022       114.4467 109.34400 119.5493 108.04686 120.8465
## May 2022       120.9088 113.69268 128.1250 111.85827 129.9594
## Jun 2022       121.6963 112.85813 130.5345 110.61138 132.7813
## Jul 2022       116.4405 106.23463 126.6464 103.64021 129.2408
## Aug 2022       119.0528 107.64178 130.4638 104.74100 133.3646
## Sep 2022       118.3286 105.82785 130.8293 102.65006 134.0071
## Oct 2022       116.5899 103.08693 130.0929  99.65435 133.5255
## Nov 2022       122.4772 108.04118 136.9132 104.37143 140.5829
## Dec 2022       129.5220 114.20956 144.8344 110.31701 148.7270
## Jan 2023       117.7994 101.65791 133.9409  97.55460 138.0443
## Feb 2023       115.4411  98.51088 132.3713  94.20707 136.6751
## Mar 2023       121.4513 103.76743 139.1352  99.27204 143.6306
#Gráfico de la serie original y del pronóstico.
PronosticoHW2 %>% autoplot()