EJERCICIO 1

1. Generar pronósticos para 2022 completo usando un modelo SARIMA

PIB trimestral precios corrientes SLV 2009-2021

library(readxl)
library(forecast)
PIB <- read_excel("C:/Users/HP/Desktop/EMAS EJERICIOS/Ejercicio de Pronóstico Modelos SARIMA/PIB.xlsx")
             col_types = c("skip", "numeric")
             
# Serie
PIB.ts<- ts(data = PIB, start = c(2009,1),
                frequency = 12)
Yt<- PIB.ts 

Generacion de Grafica general

library(TSstudio)
library(forecast)

ts_plot(Yt,Xtitle = "Años/Meses")

Identificación

Orden de Integración

library(kableExtra)
library(magrittr)
d<-ndiffs(Yt)
D<-nsdiffs(Yt)
ordenes_integracion<-c(d,D)
names(ordenes_integracion)<-c("d","D")
ordenes_integracion %>% kable(caption = "Ordenes de Integración") %>% kable_material()
Ordenes de Integración
x
d 1
D 0
# Gráfico de la serie diferenciada
Yt %>% 
  diff(lag = 12,diffences=D) %>% 
  diff(diffences=d) %>% 
  ts_plot(title = "Yt estacionaria")

Verificar los valores para (p,q) & (P,Q)

Yt %>% 
  diff(lag = 12,diffences=D) %>% 
  diff(diffences=d) %>% 
  ts_cor(lag.max = 36)

Estimación del modelo.

Usando forecast

library(forecast)
library(ggthemes)
modelo_estimado <- Yt %>% 
  Arima(order = c(0, 1, 0),
        seasonal = c(1, 1, 1))

summary(modelo_estimado)
## Series: . 
## ARIMA(0,1,0)(1,1,1)[12] 
## 
## Coefficients:
##         sar1     sma1
##       0.9702  -0.9397
## s.e.  0.6151   0.7678
## 
## sigma^2 = 91195:  log likelihood = -277.28
## AIC=560.56   AICc=561.25   BIC=565.55
## 
## Training set error measures:
##                      ME     RMSE      MAE        MPE     MAPE      MASE
## Training set -0.7865574 254.7334 117.8703 -0.1388922 1.972113 0.1805655
##                    ACF1
## Training set -0.1635746
modelo_estimado %>% autoplot(type="both")+theme_solarized()

modelo_estimado %>% check_res(lag.max = 36)
## Warning: Ignoring 36 observations
## Warning: Ignoring 34 observations
## Warning: Ignoring 4 observations

Importacion de PronosticosHW de la practica anterior

Estimación del modelo

library(forecast)


modeloHW<-HoltWinters(x = Yt,
                      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 = Yt, seasonal = "multiplicative", optim.start = c(0.9,     0.9, 0.9))
## 
## Smoothing parameters:
##  alpha: 0.4054911
##  beta : 0
##  gamma: 1
## 
## Coefficients:
##             [,1]
## a   7176.7883149
## b     69.1137019
## s1     0.9696052
## s2     1.0116489
## s3     0.9844298
## s4     1.0214095
## s5     0.9324324
## s6     0.8438392
## s7     0.9570999
## s8     1.0635765
## s9     1.0017664
## s10    1.0409599
## s11    1.0310841
## s12    1.0784685

Generar pronostico

# Generar el pronostico:
pronosticosHW<-forecast(object = modeloHW,h=12, level=c(0.95,0.99))
pronosticosHW
##          Point Forecast    Lo 95    Hi 95    Lo 99    Hi 99
## May 2013       7025.664 6397.082 7654.246 6199.567 7851.761
## Jun 2013       7400.228 6717.704 8082.751 6503.240 8297.215
## Jul 2013       7269.157 6545.554 7992.760 6318.182 8220.133
## Aug 2013       7612.813 6836.042 8389.585 6591.963 8633.664
## Sep 2013       7014.089 6224.905 7803.273 5976.926 8051.253
## Oct 2013       6405.980 5609.233 7202.728 5358.877 7453.084
## Nov 2013       7331.944 6444.790 8219.099 6166.026 8497.863
## Dec 2013       8221.125 7241.675 9200.575 6933.909 9508.340
## Jan 2014       7812.588 6836.225 8788.950 6529.430 9095.746
## Feb 2014       8190.195 7156.772 9223.618 6832.047 9548.343
## Mar 2014       8183.754 7125.928 9241.581 6793.535 9573.974
## Apr 2014       8634.383 7705.344 9563.422 7413.419 9855.347

Grafico

# Gráfico de la serie original y del pronóstico.
 pronosticosHW%>% autoplot()

Yt_Sarima<-modelo_estimado$fitted
Yt_HW<-pronosticosHW$fitted
grafico_comparativo<-cbind(Yt,Yt_Sarima,Yt_HW)
ts_plot(grafico_comparativo)

Verificación de sobre ajuste/sub ajuste

library(tsibble)
## 
## Attaching package: 'tsibble'
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, union
library(feasts)
## Loading required package: fabletools
## 
## Attaching package: 'fabletools'
## The following objects are masked from 'package:forecast':
## 
##     accuracy, forecast
library(fable)
library(fabletools)
library(tidyr)
## 
## Attaching package: 'tidyr'
## The following object is masked from 'package:magrittr':
## 
##     extract
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
a<-Yt %>% as_tsibble() %>% 
  model(arima_original=ARIMA(value ~ pdq(0, 1, 0) + PDQ(1, 1, 1)),
        arima_010_011 = ARIMA(value ~ pdq(0, 1, 0) + PDQ(0, 1, 1)),
        arima_010_110 = ARIMA(value ~ pdq(0, 1, 0) + PDQ(1, 1, 0)),
        arima_automatico=ARIMA(value,ic="bic",stepwise = FALSE)
  )
print(a)
## # A mable: 1 x 4
##              arima_original             arima_010_011             arima_010_110
##                     <model>                   <model>                   <model>
## 1 <ARIMA(0,1,0)(1,1,1)[12]> <ARIMA(0,1,0)(0,1,1)[12]> <ARIMA(0,1,0)(1,1,0)[12]>
## # … with 1 more variable: arima_automatico <model>
a %>% pivot_longer(everything(), names_to = "Model name",
                         values_to = "Orders") %>% glance() %>% 
  arrange(AICc) ->tabla
tabla
## # A tibble: 4 × 9
##   `Model name`     .model sigma2 log_lik   AIC  AICc   BIC ar_roots   ma_roots  
##   <chr>            <chr>   <dbl>   <dbl> <dbl> <dbl> <dbl> <list>     <list>    
## 1 arima_010_110    Orders 89895.   -277.  559.  559.  562. <cpl [12]> <cpl [0]> 
## 2 arima_010_011    Orders 89992.   -277.  559.  559.  562. <cpl [0]>  <cpl [12]>
## 3 arima_original   Orders 91195.   -277.  561.  561.  566. <cpl [12]> <cpl [12]>
## 4 arima_automatico Orders 79850.   -364.  732.  732.  736. <cpl [12]> <cpl [0]>

#2. Realice una validación cruzada para los modelos estimados en 1, interprete el MAPE. # Validación Cruzada (Cross Validated)

library(forecast)
library(dplyr)
library(tsibble)
library(fable)
library(fabletools)

Yt<-Yt %>% as_tsibble() %>% rename(PIB=value)

data.cross.validation<-Yt %>%
  as_tsibble() %>%
  stretch_tsibble(.init = 50,.step = 1)

TSCV<-data.cross.validation %>% 
model(ARIMA(PIB ~ pdq(0, 1, 0) + PDQ(1, 1, 1))) %>% 
forecast(h=1) %>% accuracy(Yt)
## Warning: The future dataset is incomplete, incomplete out-of-sample data will be treated as missing. 
## 1 observation is missing at 2013 may.
print(TSCV)
## # A tibble: 1 × 10
##   .model                   .type    ME  RMSE   MAE   MPE  MAPE  MASE RMSSE  ACF1
##   <chr>                    <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 ARIMA(PIB ~ pdq(0, 1, 0… Test   151.  152.  151.  2.03  2.03 0.232 0.223  -0.5

El MAPE anterior era de 1.97% y ahora con la data desconocida el MAPE es de 2.03%, podemos concluir entonces que sigue teniendo un buen poder predictivo de nuestro modelo.

EJERCICIO 2

1. Generar pronósticos para 2022 completo usando un modelo SARIMA

IPC general SLV 2009-2022 (mayo)

library(readxl)
library(forecast)
IPC <- read_excel("IPC.xlsx")
             col_types = c("skip", "numeric")
             
# Serie
IPC.ts<- ts(data = IPC, start = c(2009,1),
                frequency = 12)
Yt<- IPC.ts 

Generacion de Grafica general

library(TSstudio)
library(forecast)

ts_plot(Yt,Xtitle = "Años/Meses")

Identificación

Orden de Integración

library(kableExtra)
library(magrittr)
d<-ndiffs(Yt)
D<-nsdiffs(Yt)
ordenes_integracion<-c(d,D)
names(ordenes_integracion)<-c("d","D")
ordenes_integracion %>% kable(caption = "Ordenes de Integración") %>% kable_material()
Ordenes de Integración
x
d 1
D 0
# Gráfico de la serie diferenciada
Yt %>% 
  diff(lag = 12,diffences=D) %>% 
  diff(diffences=d) %>% 
  ts_plot(title = "Yt estacionaria")

Verificar los valores para (p,q) & (P,Q)

Yt %>% 
  diff(lag = 12,diffences=D) %>% 
  diff(diffences=d) %>% 
  ts_cor(lag.max = 36)

Estimación del modelo.

Usando forecast

library(forecast)
library(ggthemes)
modelo_estimado <- Yt %>% 
  Arima(order = c(0, 1, 0),
        seasonal = c(1, 1, 1))

summary(modelo_estimado)
## Series: . 
## ARIMA(0,1,0)(1,1,1)[12] 
## 
## Coefficients:
##         sar1     sma1
##       0.1112  -1.0000
## s.e.  0.0950   0.1139
## 
## sigma^2 = 0.2312:  log likelihood = -114.66
## AIC=235.33   AICc=235.49   BIC=244.32
## 
## Training set error measures:
##                      ME      RMSE       MAE        MPE      MAPE      MASE
## Training set 0.02246671 0.4579215 0.3010507 0.01772013 0.2729747 0.1631385
##                   ACF1
## Training set 0.2438271
modelo_estimado %>% autoplot(type="both")+theme_solarized()

modelo_estimado %>% check_res(lag.max = 36)
## Warning: Ignoring 36 observations
## Warning: Ignoring 34 observations
## Warning: Ignoring 4 observations

Importacion de PronosticosHW de la practica anterior

Estimación del modelo

library(forecast)


modeloHW<-HoltWinters(x = Yt,
                      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 = Yt, seasonal = "multiplicative", optim.start = c(0.9,     0.9, 0.9))
## 
## Smoothing parameters:
##  alpha: 0.8353873
##  beta : 0.07612657
##  gamma: 1
## 
## Coefficients:
##            [,1]
## a   122.7690242
## b     0.4801476
## s1    1.0043291
## s2    1.0021040
## s3    0.9986014
## s4    0.9975846
## s5    0.9989586
## s6    0.9984650
## s7    0.9959074
## s8    0.9975598
## s9    1.0007205
## s10   1.0041558
## s11   1.0048925
## s12   1.0053839

Generar pronostico

# Generar el pronostico:
pronosticosHW<-forecast(object = modeloHW,h=12, level=c(0.95,0.99))
pronosticosHW
##          Point Forecast    Lo 95    Hi 95    Lo 99    Hi 99
## Jun 2022       123.7827 122.6365 124.9289 122.2764 125.2891
## Jul 2022       123.9896 122.4499 125.5294 121.9661 126.0132
## Aug 2022       124.0357 122.1459 125.9256 121.5521 126.5194
## Sep 2022       124.3884 122.1648 126.6120 121.4661 127.3108
## Oct 2022       125.0394 122.4870 127.5918 121.6850 128.3938
## Nov 2022       125.4570 122.5842 128.3298 121.6816 129.2325
## Dec 2022       125.6139 122.4280 128.7997 121.4270 129.8008
## Jan 2023       126.3012 122.7897 129.8128 121.6863 130.9162
## Feb 2023       127.1819 123.3369 131.0269 122.1288 132.2351
## Mar 2023       128.1007 123.9171 132.2842 122.6026 133.5987
## Apr 2023       128.6771 124.1616 133.1927 122.7427 134.6116
## May 2023       129.2228 123.9338 134.5118 122.2718 136.1738

Grafico

# Gráfico de la serie original y del pronóstico.
 pronosticosHW%>% autoplot()

Yt_Sarima<-modelo_estimado$fitted
Yt_HW<-pronosticosHW$fitted
grafico_comparativo<-cbind(Yt,Yt_Sarima,Yt_HW)
ts_plot(grafico_comparativo)

Verificación de sobre ajuste/sub ajuste

library(tsibble)
library(feasts)
library(fable)
library(fabletools)
library(tidyr)
library(dplyr)
a<-Yt %>% as_tsibble() %>% 
  model(arima_original=ARIMA(value ~ pdq(0, 1, 0) + PDQ(1, 1, 1)),
        arima_010_011 = ARIMA(value ~ pdq(0, 1, 0) + PDQ(0, 1, 1)),
        arima_010_110 = ARIMA(value ~ pdq(0, 1, 0) + PDQ(1, 1, 0)),
        arima_automatico=ARIMA(value,ic="bic",stepwise = FALSE)
  )
print(a)
## # A mable: 1 x 4
##              arima_original             arima_010_011             arima_010_110
##                     <model>                   <model>                   <model>
## 1 <ARIMA(0,1,0)(1,1,1)[12]> <ARIMA(0,1,0)(0,1,1)[12]> <ARIMA(0,1,0)(1,1,0)[12]>
## # … with 1 more variable: arima_automatico <model>
a %>% pivot_longer(everything(), names_to = "Model name",
                         values_to = "Orders") %>% glance() %>% 
  arrange(AICc) ->tabla
tabla
## # A tibble: 4 × 9
##   `Model name`     .model sigma2 log_lik   AIC  AICc   BIC ar_roots   ma_roots  
##   <chr>            <chr>   <dbl>   <dbl> <dbl> <dbl> <dbl> <list>     <list>    
## 1 arima_automatico Orders  0.225   -105.  223.  224.  241. <cpl [27]> <cpl [0]> 
## 2 arima_010_011    Orders  0.228   -115.  235.  235.  241. <cpl [0]>  <cpl [12]>
## 3 arima_original   Orders  0.231   -115.  235.  235.  244. <cpl [12]> <cpl [12]>
## 4 arima_010_110    Orders  0.348   -132.  268.  268.  274. <cpl [12]> <cpl [0]>

#2. Realice una validación cruzada para los modelos estimados en 1, interprete el MAPE. # Validación Cruzada (Cross Validated)

library(forecast)
library(dplyr)
library(tsibble)
library(fable)
library(fabletools)
Yt<-Yt %>% as_tsibble() %>% rename(IPC=value)


data.cross.validation<-Yt %>% 
  as_tsibble() %>% 
  stretch_tsibble(.init = 60,.step = 1)

TSCV<-data.cross.validation %>% 
model(ARIMA(IPC ~ pdq(0, 1, 0) + PDQ(1, 1, 1))) %>% 
forecast(h=1) %>% accuracy(Yt)
## Warning: The future dataset is incomplete, incomplete out-of-sample data will be treated as missing. 
## 1 observation is missing at 2022 jun.
print(TSCV)
## # A tibble: 1 × 10
##   .model                 .type     ME  RMSE   MAE    MPE  MAPE  MASE RMSSE  ACF1
##   <chr>                  <chr>  <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 ARIMA(IPC ~ pdq(0, 1,… Test  0.0284 0.473 0.333 0.0200 0.296 0.181 0.173 0.324

El MAPE anterior era de 0.2729% y ahora con la data desconocida el MAPE es de 0.295%, podemos concluir entonces que sigue teniendo un buen poder predictivo de nuestro modelo.

EJERCICIO

1. Generar pronósticos para 2022 completo usando un modelo SARIMA

Importación de Hidrocarburos SLV 2017-2022 (mayo)

library(readxl)
library(forecast)
I_de_H <- read_excel("I_de_H.xlsx")
             col_types = c("skip", "numeric")
             
# Serie
I_de_H.ts<- ts(data = I_de_H, start = c(2009,1),
                frequency = 12)
Yt<- I_de_H.ts 

Generacion de Grafica general

library(TSstudio)
library(forecast)

ts_plot(Yt,Xtitle = "Años/Meses")

Identificación

Orden de Integración

library(kableExtra)
library(magrittr)
d<-ndiffs(Yt)
D<-nsdiffs(Yt)
ordenes_integracion<-c(d,D)
names(ordenes_integracion)<-c("d","D")
ordenes_integracion %>% kable(caption = "Ordenes de Integración") %>% kable_material()
Ordenes de Integración
x
d 0
D 0
# Gráfico de la serie diferenciada
Yt %>% 
  diff(lag = 12,diffences=D) %>% 
  diff(diffences=d) %>% 
  ts_plot(title = "Yt estacionaria")

Verificar los valores para (p,q) & (P,Q)

Yt %>% 
  diff(lag = 12,diffences=D) %>% 
  diff(diffences=d) %>% 
  ts_cor(lag.max = 36)

Estimación del modelo.

Usando forecast

library(forecast)
library(ggthemes)
modelo_estimado <- Yt %>% 
  Arima(order = c(0, 1, 0),
        seasonal = c(1, 1, 1))

summary(modelo_estimado)
## Series: . 
## ARIMA(0,1,0)(1,1,1)[12] 
## 
## Coefficients:
##          sar1     sma1
##       -0.2732  -0.7686
## s.e.   0.2344   0.4962
## 
## sigma^2 = 1.811e+09:  log likelihood = -634.64
## AIC=1275.27   AICc=1275.77   BIC=1281.12
## 
## Training set error measures:
##                    ME     RMSE      MAE        MPE    MAPE      MASE       ACF1
## Training set 905.7283 37323.65 26683.45 -0.2640752 12.4837 0.6564582 -0.4350606
modelo_estimado %>% autoplot(type="both")+theme_solarized()

modelo_estimado %>% check_res(lag.max = 36)
## Warning: Ignoring 36 observations
## Warning: Ignoring 34 observations
## Warning: Ignoring 4 observations

Importacion de PronosticosHW de la practica anterior

Estimación del modelo

library(forecast)


modeloHW<-HoltWinters(x = Yt,
                      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 = Yt, seasonal = "multiplicative", optim.start = c(0.9,     0.9, 0.9))
## 
## Smoothing parameters:
##  alpha: 0.1273406
##  beta : 0
##  gamma: 0.4793705
## 
## Coefficients:
##             [,1]
## a   2.465101e+05
## b   1.239453e+03
## s1  9.247101e-01
## s2  8.984179e-01
## s3  8.791852e-01
## s4  8.941624e-01
## s5  9.460044e-01
## s6  1.049825e+00
## s7  9.469010e-01
## s8  9.667736e-01
## s9  9.762889e-01
## s10 1.117116e+00
## s11 9.509380e-01
## s12 8.557828e-01

Generar pronostico

# Generar el pronostico:
pronosticosHW<-forecast(object = modeloHW,h=12, level=c(0.95,0.99))
pronosticosHW
##          Point Forecast    Lo 95    Hi 95    Lo 99    Hi 99
## Jun 2014       229096.5 185614.4 272578.5 171951.4 286241.6
## Jul 2014       223696.1 179110.4 268281.8 165100.6 282291.7
## Aug 2014       219997.1 174364.1 265630.2 160025.2 279969.1
## Sep 2014       224853.1 177997.3 271708.9 163274.2 286432.1
## Oct 2014       239062.2 190615.5 287508.9 175392.5 302732.0
## Nov 2014       266599.7 215810.4 317389.1 199851.2 333348.3
## Dec 2014       241636.1 191288.5 291983.7 175468.2 307804.0
## Jan 2015       247905.6 196238.0 299573.1 180002.9 315808.2
## Feb 2015       251555.6 198735.7 304375.5 182138.5 320972.8
## Mar 2015       289226.4 232632.2 345820.6 214849.1 363603.8
## Apr 2015       247380.9 193379.5 301382.3 176411.0 318350.7
## May 2015       223687.5 193456.8 253918.2 183957.6 263417.4

Grafico

# Gráfico de la serie original y del pronóstico.
 pronosticosHW%>% autoplot()

Yt_Sarima<-modelo_estimado$fitted
Yt_HW<-pronosticosHW$fitted
grafico_comparativo<-cbind(Yt,Yt_Sarima,Yt_HW)
ts_plot(grafico_comparativo)

Verificación de sobre ajuste/sub ajuste

library(tsibble)
library(feasts)
library(fable)
library(fabletools)
library(tidyr)
library(dplyr)
a<-Yt %>% as_tsibble() %>% 
  model(arima_original=ARIMA(value ~ pdq(0, 1, 0) + PDQ(1, 1, 1)),
        arima_010_011 = ARIMA(value ~ pdq(0, 1, 0) + PDQ(0, 1, 1)),
        arima_010_110 = ARIMA(value ~ pdq(0, 1, 0) + PDQ(1, 1, 0)),
        arima_automatico=ARIMA(value,ic="bic",stepwise = FALSE)
  )
print(a)
## # A mable: 1 x 4
##              arima_original             arima_010_011             arima_010_110
##                     <model>                   <model>                   <model>
## 1 <ARIMA(0,1,0)(1,1,1)[12]> <ARIMA(0,1,0)(0,1,1)[12]> <ARIMA(0,1,0)(1,1,0)[12]>
## # … with 1 more variable: arima_automatico <model>
a %>% pivot_longer(everything(), names_to = "Model name",
                         values_to = "Orders") %>% glance() %>% 
  arrange(AICc) ->tabla
tabla
## # A tibble: 4 × 9
##   `Model name`     .model     sigma2 log_lik   AIC  AICc   BIC ar_roots ma_roots
##   <chr>            <chr>       <dbl>   <dbl> <dbl> <dbl> <dbl> <list>   <list>  
## 1 arima_010_011    Orders     1.67e9   -635. 1275. 1275. 1279. <cpl>    <cpl>   
## 2 arima_original   Orders     1.81e9   -635. 1275. 1276. 1281. <cpl>    <cpl>   
## 3 arima_010_110    Orders     2.31e9   -637. 1277. 1278. 1281. <cpl>    <cpl>   
## 4 arima_automatico Orders     1.11e9   -769. 1541. 1541. 1545. <cpl>    <cpl>

#2. Realice una validación cruzada para los modelos estimados en 1, interprete el MAPE. # Validación Cruzada (Cross Validated)

library(forecast)
library(dplyr)
library(tsibble)
library(fable)
library(fabletools)
Yt<-Yt %>% as_tsibble() %>% rename(I_de_H=value)


data.cross.validation<-Yt %>% 
  as_tsibble() %>% 
  stretch_tsibble(.init = 60,.step = 1)

TSCV<-data.cross.validation %>% 
model(ARIMA(I_de_H ~ pdq(0, 1, 0) + PDQ(1, 1, 1))) %>% 
forecast(h=1) %>% accuracy(Yt)
## Warning: The future dataset is incomplete, incomplete out-of-sample data will be treated as missing. 
## 1 observation is missing at 2014 jun.
print(TSCV)
## # A tibble: 1 × 10
##   .model              .type      ME   RMSE    MAE   MPE  MAPE  MASE RMSSE   ACF1
##   <chr>               <chr>   <dbl>  <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>
## 1 ARIMA(I_de_H ~ pdq… Test  -13393. 54937. 48772. -7.82  21.4  1.20  1.11 -0.120

El MAPE anterior era de 12.48% y ahora con la data desconocida el MAPE es de 21.35%, podemos concluir entonces que no tiene un buen poder predictivo de nuestro modelo.