Serie (Yt)

library(readxl)
library(tidyr)
library(dplyr)
library(forecast)
IVAE_03_22 <- read_excel("IVAE_03_22.xlsx", 
    col_names = FALSE, skip = 6, n_max = 10)

data.ivae<-pivot_longer(data = IVAE_03_22[1,],names_to = "vars",cols = 2:160,values_to = "indice") %>% select("indice")
serie.ivae.ts<- data.ivae %>% ts(start = c(2009,1),frequency = 12)
Yt <- serie.ivae.ts
serie.ivae.ts %>% 
  autoplot(main ="IVAE ENE 2009- MAR 2022",
           xlab="Años/Meses",
           ylab="Indice")




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

Pronóstico Modelo de Holt Winters

Usando Stats y forecast


Multiplicativo

library(forecast)

#Estimar el modelo
ModeloHW_M<-HoltWinters(x = Yt,
                      seasonal = "multiplicative",
                      optim.start = c(0.9,0.9,0.9))
ModeloHW_M
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
## 
## Call:
## HoltWinters(x = Yt, 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 pronóstico:
PronosticosHW_M<-forecast(object = ModeloHW_M,h = 12,level = c(0.95))
PronosticosHW_M
##          Point Forecast     Lo 95    Hi 95
## Apr 2022       112.9503 107.46492 118.4358
## May 2022       120.9752 113.57246 128.3779
## Jun 2022       124.0929 115.22236 132.9634
## Jul 2022       118.5640 108.86876 128.2592
## Aug 2022       119.2908 108.50116 130.0804
## Sep 2022       117.4038 105.81297 128.9947
## Oct 2022       114.1680 101.97016 126.3657
## Nov 2022       121.3911 107.66977 135.1125
## Dec 2022       130.2643 114.88360 145.6450
## Jan 2023       116.9603 102.34981 131.5708
## Feb 2023       115.6485 100.48405 130.8129
## Mar 2023       121.0126  83.19827 158.8270


#Gráfico de la serie original y del pronóstico.
PronosticosHW_M %>% 
  autoplot(main ="Pronóstico Modelo de Holt Winters - Multiplicativo",
           xlab="Años/Meses",
           ylab="Indice")



Aditivo

library(forecast)

#Estimar el modelo
ModeloHW_A<-HoltWinters(x = Yt,
                      seasonal = "additive",
                      optim.start = c(0.9,0.9,0.9))
ModeloHW_A
## Holt-Winters exponential smoothing with trend and additive seasonal component.
## 
## Call:
## HoltWinters(x = Yt, 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 pronóstico:
PronosticosHW_A<-forecast(object = ModeloHW_A,h = 12,level = c(0.95))
PronosticosHW_A
##          Point Forecast     Lo 95    Hi 95
## Apr 2022       114.3507 109.10096 119.6005
## May 2022       121.4608 114.34766 128.5740
## Jun 2022       122.5014 113.92039 131.0825
## Jul 2022       117.1302 107.29801 126.9623
## Aug 2022       118.3156 107.37443 129.2567
## Sep 2022       117.2255 105.27790 129.1731
## Oct 2022       115.1336 102.25799 128.0093
## Nov 2022       121.6237 107.88248 135.3648
## Dec 2022       129.1623 114.60695 143.7176
## Jan 2023       116.8985 101.57229 132.2248
## Feb 2023       115.3991  99.33889 131.4594
## Mar 2023       121.0011 104.23903 137.7632


#Gráfico de la serie original y del pronóstico.
PronosticosHW_A %>% 
  autoplot(main ="Pronóstico Modelo de Holt Winters - Aditivo",
           xlab="Años/Meses",
           ylab="Indice")



Usando Forecast (Aproximación por Espacios de los Estados ETS)


Multiplicativo

library(forecast)

#Generar el pronóstico:
PronosticosHW2_M<-hw(y = Yt,
                   h = 12,
                   level = c(0.95),
                   seasonal = "multiplicative",
                   initial = "optimal")
PronosticosHW2_M
##          Point Forecast     Lo 95    Hi 95
## Apr 2022       111.9184 105.09260 118.7442
## May 2022       119.3664 110.67455 128.0583
## Jun 2022       122.8422 112.63807 133.0464
## Jul 2022       118.4498 107.52066 129.3789
## Aug 2022       120.0189 107.93209 132.1056
## Sep 2022       118.4260 105.56932 131.2828
## Oct 2022       114.3087 101.05402 127.5633
## Nov 2022       120.2837 105.49291 135.0745
## Dec 2022       127.9776 111.38423 144.5709
## Jan 2023       114.4558  98.88074 130.0309
## Feb 2023       113.5923  97.43199 129.7527
## Mar 2023       119.3883 101.68918 137.0873


#Gráfico de la serie original y del pronóstico.
PronosticosHW2_M %>% 
  autoplot(main ="Pronóstico Modelo de Holt Winters - Multiplicativo",
           xlab="Años/Meses",
           ylab="Indice")



Aditivo

library(forecast)

#Generar el pronóstico:
PronosticosHW2_A<-hw(y = Yt,
                   h = 12,
                   level = c(0.95),
                   seasonal = "additive",
                   initial = "optimal")
PronosticosHW2_A
##          Point Forecast    Lo 95    Hi 95
## Apr 2022       114.4467 109.5770 119.3163
## May 2022       120.9088 114.0222 127.7955
## Jun 2022       121.6963 113.2617 130.1309
## Jul 2022       116.4405 106.7007 126.1803
## Aug 2022       119.0528 108.1629 129.9428
## Sep 2022       118.3286 106.3987 130.2585
## Oct 2022       116.5899 103.7035 129.4763
## Nov 2022       122.4772 108.7004 136.2539
## Dec 2022       129.5220 114.9088 144.1352
## Jan 2023       117.7994 102.3950 133.2038
## Feb 2023       115.4411  99.2840 131.5982
## Mar 2023       121.4513 104.5750 138.3277


#Gráfico de la serie original y del pronóstico.
PronosticosHW2_A %>% 
  autoplot(main ="Pronóstico Modelo de Holt Winters - Aditivo",
           xlab="Años/Meses",
           ylab="Indice")