1. importar los datos
library(ggplot2)
library(forecast)
library(readxl)
ivae_ts <- read_excel("C:/Users/user/Desktop/ivae_AI.xlsx",
col_types = c("skip", "skip", "numeric"))
data=ivae_ts %>% ts(start = c(2005,1),frequency = 12)->ivae
print(ivae)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct
## 2005 87.77 88.52 89.72 91.15 91.98 92.61 91.94 91.26 92.23 92.16
## 2006 93.48 93.55 93.17 93.58 93.91 94.29 93.37 93.10 93.08 93.04
## 2007 92.37 94.92 94.51 94.33 94.45 95.30 95.94 96.38 97.00 97.81
## 2008 97.57 97.74 97.31 96.89 96.35 96.67 97.15 96.99 97.70 98.49
## 2009 96.75 95.15 94.55 93.90 93.95 94.56 95.34 95.90 96.37 96.53
## 2010 92.84 92.27 90.42 90.29 90.82 91.64 93.48 93.71 92.02 89.92
## 2011 89.31 89.81 90.14 89.99 90.05 89.18 89.02 89.06 88.93 89.81
## 2012 91.64 92.64 93.96 95.54 96.37 95.86 94.15 93.44 93.22 94.27
## 2013 96.04 96.24 95.77 95.52 95.81 96.06 96.63 96.95 97.35 97.51
## 2014 98.50 98.74 99.04 98.99 99.18 99.74 99.94 100.51 100.95 101.45
## 2015 100.36 100.10 101.26 102.66 103.35 103.45 102.69 103.02 103.87 106.29
## 2016 107.18 107.07 106.61 107.65 108.42 108.79 109.29 109.35 109.50 109.99
## 2017 110.46 110.81 109.72 109.64 109.70 109.26 110.32 111.12 111.24 111.83
## 2018 112.76 112.79 111.28 110.94 110.98 110.62 111.16 111.97 112.60 113.86
## 2019 115.60 116.08 114.30 114.48 114.88 114.45 114.73 114.98
## Nov Dec
## 2005 92.39 92.97
## 2006 93.19 92.24
## 2007 98.29 97.51
## 2008 98.51 97.79
## 2009 96.82 93.41
## 2010 88.82 88.47
## 2011 90.67 91.22
## 2012 95.30 95.81
## 2013 97.83 97.90
## 2014 101.68 101.29
## 2015 107.58 107.99
## 2016 110.25 110.72
## 2017 112.34 112.74
## 2018 114.37 114.94
## 2019
2. proyección a Seis meses
library(forecast)
modelo<-auto.arima(y = ivae)
summary(modelo)
## Series: ivae
## ARIMA(0,1,1)(0,0,1)[12] with drift
##
## Coefficients:
## ma1 sma1 drift
## 0.4228 0.3206 0.1681
## s.e. 0.0668 0.0827 0.0945
##
## sigma^2 estimated as 0.4664: log likelihood=-180.81
## AIC=369.62 AICc=369.85 BIC=382.28
##
## Training set error measures:
## ME RMSE MAE MPE MAPE
## Training set -0.005880707 0.6751475 0.4888659 -0.008310211 0.5005399
## MASE ACF1
## Training set 0.1675353 0.02398227
pronosticos<-forecast(modelo,h = 6)
autoplot(pronosticos)+xlab("Años")+ylab("indice")+theme_bw()

library(forecast)
autoplot(pronosticos$x,series = "IVAE")+autolayer(pronosticos$fitted,series = "Pronóstico")+ggtitle("Ajuste SARIMA")

3. Serie ampliada
ivae_h<-ts(as.numeric(rbind(as.matrix(pronosticos$x),as.matrix(pronosticos$mean))),start = c(2005,1),frequency = 12)
print(ivae_h)
## Jan Feb Mar Apr May Jun Jul
## 2005 87.7700 88.5200 89.7200 91.1500 91.9800 92.6100 91.9400
## 2006 93.4800 93.5500 93.1700 93.5800 93.9100 94.2900 93.3700
## 2007 92.3700 94.9200 94.5100 94.3300 94.4500 95.3000 95.9400
## 2008 97.5700 97.7400 97.3100 96.8900 96.3500 96.6700 97.1500
## 2009 96.7500 95.1500 94.5500 93.9000 93.9500 94.5600 95.3400
## 2010 92.8400 92.2700 90.4200 90.2900 90.8200 91.6400 93.4800
## 2011 89.3100 89.8100 90.1400 89.9900 90.0500 89.1800 89.0200
## 2012 91.6400 92.6400 93.9600 95.5400 96.3700 95.8600 94.1500
## 2013 96.0400 96.2400 95.7700 95.5200 95.8100 96.0600 96.6300
## 2014 98.5000 98.7400 99.0400 98.9900 99.1800 99.7400 99.9400
## 2015 100.3600 100.1000 101.2600 102.6600 103.3500 103.4500 102.6900
## 2016 107.1800 107.0700 106.6100 107.6500 108.4200 108.7900 109.2900
## 2017 110.4600 110.8100 109.7200 109.6400 109.7000 109.2600 110.3200
## 2018 112.7600 112.7900 111.2800 110.9400 110.9800 110.6200 111.1600
## 2019 115.6000 116.0800 114.3000 114.4800 114.8800 114.4500 114.7300
## 2020 116.5333 116.8229
## Aug Sep Oct Nov Dec
## 2005 91.2600 92.2300 92.1600 92.3900 92.9700
## 2006 93.1000 93.0800 93.0400 93.1900 92.2400
## 2007 96.3800 97.0000 97.8100 98.2900 97.5100
## 2008 96.9900 97.7000 98.4900 98.5100 97.7900
## 2009 95.9000 96.3700 96.5300 96.8200 93.4100
## 2010 93.7100 92.0200 89.9200 88.8200 88.4700
## 2011 89.0600 88.9300 89.8100 90.6700 91.2200
## 2012 93.4400 93.2200 94.2700 95.3000 95.8100
## 2013 96.9500 97.3500 97.5100 97.8300 97.9000
## 2014 100.5100 100.9500 101.4500 101.6800 101.2900
## 2015 103.0200 103.8700 106.2900 107.5800 107.9900
## 2016 109.3500 109.5000 109.9900 110.2500 110.7200
## 2017 111.1200 111.2400 111.8300 112.3400 112.7400
## 2018 111.9700 112.6000 113.8600 114.3700 114.9400
## 2019 114.9800 115.2245 115.6874 115.9214 116.2002
## 2020
4. Descomposición de la serie temporal
library(stats)
fit<-stl(ivae_h,"periodic")
autoplot(fit)+theme_bw()

TC<-fit$time.series[,2]
print(TC)
## Jan Feb Mar Apr May Jun Jul
## 2005 89.33065 89.69475 90.05884 90.40737 90.75589 91.10528 91.45468
## 2006 92.97505 93.12357 93.27209 93.33925 93.40642 93.38610 93.36579
## 2007 93.74450 94.03109 94.31768 94.71598 95.11427 95.51618 95.91808
## 2008 97.21051 97.25605 97.30160 97.32673 97.35186 97.33742 97.32298
## 2009 96.25643 96.06181 95.86720 95.70121 95.53521 95.34867 95.16212
## 2010 93.42337 93.09178 92.76020 92.37114 91.98209 91.62168 91.26127
## 2011 90.05301 89.84186 89.63071 89.60043 89.57015 89.68952 89.80890
## 2012 92.20839 92.69950 93.19062 93.57341 93.95621 94.25256 94.54890
## 2013 95.34121 95.58926 95.83731 96.08220 96.32708 96.52710 96.72713
## 2014 98.32469 98.63048 98.93627 99.24777 99.55927 99.81282 100.06636
## 2015 101.44406 101.71891 101.99377 102.37735 102.76094 103.28386 103.80678
## 2016 106.78568 107.24146 107.69723 108.03441 108.37159 108.64540 108.91922
## 2017 109.99292 110.09404 110.19515 110.32909 110.46304 110.63118 110.79932
## 2018 111.68363 111.74532 111.80701 111.90392 112.00083 112.18671 112.37258
## 2019 114.28663 114.52036 114.75410 114.88859 115.02309 115.13419 115.24529
## 2020 116.00865 116.15159
## Aug Sep Oct Nov Dec
## 2005 91.80270 92.15072 92.38786 92.62500 92.80002
## 2006 93.35439 93.34299 93.39587 93.44874 93.59662
## 2007 96.23399 96.54990 96.76160 96.97330 97.09191
## 2008 97.21042 97.09785 96.89696 96.69607 96.47625
## 2009 94.92484 94.68757 94.38086 94.07415 93.74876
## 2010 91.03913 90.81698 90.65866 90.50033 90.27667
## 2011 90.03893 90.26897 90.69188 91.11479 91.66159
## 2012 94.73094 94.91298 94.99464 95.07630 95.20876
## 2013 96.95409 97.18104 97.45802 97.73499 98.02984
## 2014 100.25744 100.44852 100.67870 100.90889 101.17647
## 2015 104.33897 104.87115 105.34649 105.82182 106.30375
## 2016 109.17984 109.44045 109.61949 109.79853 109.89573
## 2017 110.98636 111.17340 111.33367 111.49395 111.58879
## 2018 112.66117 112.94977 113.29828 113.64680 113.96671
## 2019 115.36768 115.49008 115.61559 115.74110 115.87488
## 2020
5. Cálculo de las tasas (sin centrar)
library(dplyr)
library(zoo)
TC %>% as.numeric() %>% as.data.frame()->TC_df
names(TC_df)<-c("TC")
TC_df %>% mutate(T_1_1=(TC/dplyr::lag(TC,n=1)-1)*100,
T_1_12=(TC/dplyr::lag(TC,n=12)-1)*100,
T_12_12=(rollapply(TC,12,mean,align='right',fill=NA)
/rollapply(dplyr::lag(TC,n=12),12,mean,align='right',fill=NA)-1)*100) %>%
#Aquí se realiza el centrado
mutate(T_1_12C=dplyr::lead(T_1_12,n = 6),
T_12_12C=dplyr::lead(T_12_12,n = 12)) %>% ts(start = c(2005,1),frequency = 12)->tabla_coyuntura
print(tail(tabla_coyuntura,n=12))
## TC T_1_1 T_1_12 T_12_12 T_1_12C T_12_12C
## Mar 2019 114.7541 0.20409939 2.635866 1.837516 2.249066 NA
## Apr 2019 114.8886 0.11720402 2.667171 1.940907 2.045316 NA
## May 2019 115.0231 0.11706682 2.698421 2.049691 1.842816 NA
## Jun 2019 115.1342 0.09658822 2.627300 2.151287 1.674318 NA
## Jul 2019 115.2453 0.09649501 2.556415 2.245716 1.506763 NA
## Aug 2019 115.3677 0.10620600 2.402347 2.319794 1.424401 NA
## Sep 2019 115.4901 0.10609333 2.249066 2.373580 NA NA
## Oct 2019 115.6156 0.10867507 2.045316 2.396324 NA NA
## Nov 2019 115.7411 0.10855710 1.842816 2.388153 NA NA
## Dec 2019 115.8749 0.11558319 1.674318 2.349155 NA NA
## Jan 2020 116.0087 0.11544975 1.506763 2.279515 NA NA
## Feb 2020 116.1516 0.12321171 1.424401 2.190472 NA NA
6. Gráfico de las tasas (centradas)
library(dplyr)
library(forecast)
library(ggplot2)
tabla_coyuntura %>% as.data.frame() %>% select(T_1_12C,T_12_12C) %>% ts(start = c(2005,1),frequency = 12)->tabla_coyuntura_graficos
autoplot(tabla_coyuntura_graficos)+theme_bw()

tabla_coyuntura %>% as.data.frame() %>% select(T_1_1) %>% ts(start = c(2005,1),frequency = 12) %>% autoplot()
