1. importar los datos
library(ggplot2)
library(forecast)
library(readxl)
ivae_ts2 <- read_excel("C:/Users/carlo/Desktop/ivae_ts2.xlsx")
data=ivae_ts2$Construcción %>% ts(start = c(2005,1),frequency = 12)->Construcción
print(Construcción)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct
## 2005 53.64 66.26 74.71 95.27 76.28 82.05 77.38 68.53 70.42 71.00
## 2006 58.02 78.13 85.91 71.83 76.95 86.10 81.23 71.78 80.45 84.78
## 2007 69.44 72.62 89.93 75.06 87.83 78.06 87.98 73.90 77.90 89.63
## 2008 70.91 91.48 86.79 111.87 92.50 86.57 91.02 74.44 80.25 77.81
## 2009 66.58 76.94 82.57 82.62 68.96 80.85 82.53 67.30 74.47 71.25
## 2010 50.25 82.29 94.10 80.80 80.59 80.94 82.17 70.28 101.33 79.48
## 2011 81.43 92.48 106.20 90.68 97.49 94.65 115.03 88.75 93.80 79.15
## 2012 90.16 99.48 113.51 98.28 102.30 100.09 96.59 88.06 86.30 94.04
## 2013 78.76 90.97 106.31 107.93 107.37 107.75 96.14 94.65 97.49 100.92
## 2014 87.63 100.73 122.00 107.75 108.66 113.48 96.10 90.19 87.94 90.85
## 2015 87.74 99.62 98.68 98.18 103.84 100.91 117.87 90.21 101.81 97.32
## 2016 82.18 98.64 94.84 119.32 98.53 104.22 106.50 93.21 104.14 101.73
## 2017 79.47 100.13 120.78 106.49 108.03 106.96 118.98 99.45 108.18 102.12
## 2018 92.06 116.08 117.85 121.97 112.42 118.93 121.86 115.61 107.71 105.31
## 2019 104.96 116.65 131.11 130.31 125.42 122.41 123.94 130.12 124.99 118.64
## 2020 120.88 127.69 122.26 90.29 68.15 78.61 96.91 103.23 105.36 113.17
## Nov Dec
## 2005 80.96 96.61
## 2006 90.15 108.46
## 2007 84.78 106.15
## 2008 81.55 84.51
## 2009 64.42 118.97
## 2010 83.07 111.93
## 2011 83.82 107.40
## 2012 99.96 111.94
## 2013 100.57 129.81
## 2014 92.13 102.53
## 2015 94.03 103.77
## 2016 98.77 126.12
## 2017 108.66 137.47
## 2018 116.01 143.17
## 2019 133.69 152.02
## 2020
autoplot(Construcción,xlab = "años",ylab = "Indice",main = " Construcción, periodo 2005-2020 (octubre)")+theme_bw()

2. proyección a Seis meses
library(forecast)
modelo<-auto.arima(y =Construcción)
summary(modelo)
## Series: Construcción
## ARIMA(3,1,2)(2,0,0)[12]
##
## Coefficients:
## ar1 ar2 ar3 ma1 ma2 sar1 sar2
## -0.6371 0.5864 0.3343 -0.0269 -0.9321 0.5097 0.2291
## s.e. 0.0784 0.0828 0.0723 0.0392 0.0404 0.0797 0.0830
##
## sigma^2 estimated as 108.4: log likelihood=-711.44
## AIC=1438.88 AICc=1439.68 BIC=1464.82
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 1.121304 10.19158 7.213692 0.2269403 7.75237 0.719893 -0.01019995
pronosticos<-forecast(modelo,h = 6)
autoplot(pronosticos)+xlab("Años")+ylab("indice")+theme_bw()

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

3. Serie ampliada
Construcción_h<-ts(as.numeric(rbind(as.matrix(pronosticos$x),as.matrix(pronosticos$mean))),start = c(2005,1),frequency = 12)
print(Construcción_h)
## Jan Feb Mar Apr May Jun Jul Aug
## 2005 53.6400 66.2600 74.7100 95.2700 76.2800 82.0500 77.3800 68.5300
## 2006 58.0200 78.1300 85.9100 71.8300 76.9500 86.1000 81.2300 71.7800
## 2007 69.4400 72.6200 89.9300 75.0600 87.8300 78.0600 87.9800 73.9000
## 2008 70.9100 91.4800 86.7900 111.8700 92.5000 86.5700 91.0200 74.4400
## 2009 66.5800 76.9400 82.5700 82.6200 68.9600 80.8500 82.5300 67.3000
## 2010 50.2500 82.2900 94.1000 80.8000 80.5900 80.9400 82.1700 70.2800
## 2011 81.4300 92.4800 106.2000 90.6800 97.4900 94.6500 115.0300 88.7500
## 2012 90.1600 99.4800 113.5100 98.2800 102.3000 100.0900 96.5900 88.0600
## 2013 78.7600 90.9700 106.3100 107.9300 107.3700 107.7500 96.1400 94.6500
## 2014 87.6300 100.7300 122.0000 107.7500 108.6600 113.4800 96.1000 90.1900
## 2015 87.7400 99.6200 98.6800 98.1800 103.8400 100.9100 117.8700 90.2100
## 2016 82.1800 98.6400 94.8400 119.3200 98.5300 104.2200 106.5000 93.2100
## 2017 79.4700 100.1300 120.7800 106.4900 108.0300 106.9600 118.9800 99.4500
## 2018 92.0600 116.0800 117.8500 121.9700 112.4200 118.9300 121.8600 115.6100
## 2019 104.9600 116.6500 131.1100 130.3100 125.4200 122.4100 123.9400 130.1200
## 2020 120.8800 127.6900 122.2600 90.2900 68.1500 78.6100 96.9100 103.2300
## 2021 113.4726 119.3717 121.0973 103.9013
## Sep Oct Nov Dec
## 2005 70.4200 71.0000 80.9600 96.6100
## 2006 80.4500 84.7800 90.1500 108.4600
## 2007 77.9000 89.6300 84.7800 106.1500
## 2008 80.2500 77.8100 81.5500 84.5100
## 2009 74.4700 71.2500 64.4200 118.9700
## 2010 101.3300 79.4800 83.0700 111.9300
## 2011 93.8000 79.1500 83.8200 107.4000
## 2012 86.3000 94.0400 99.9600 111.9400
## 2013 97.4900 100.9200 100.5700 129.8100
## 2014 87.9400 90.8500 92.1300 102.5300
## 2015 101.8100 97.3200 94.0300 103.7700
## 2016 104.1400 101.7300 98.7700 126.1200
## 2017 108.1800 102.1200 108.6600 137.4700
## 2018 107.7100 105.3100 116.0100 143.1700
## 2019 124.9900 118.6400 133.6900 152.0200
## 2020 105.3600 113.1700 119.8892 137.5573
## 2021
4. Descomposición de la serie temporal
library(stats)
fit<-stl(Construcción_h,"periodic")
autoplot(fit)+theme_bw()

TC<-fit$time.series[,2]
print(TC)
## Jan Feb Mar Apr May Jun Jul
## 2005 73.17568 73.71001 74.24434 74.71300 75.18167 75.65160 76.12153
## 2006 76.90908 77.37035 77.83163 78.64829 79.46496 80.36593 81.26691
## 2007 82.99761 82.89364 82.78968 82.71402 82.63836 82.90637 83.17438
## 2008 88.49187 88.69689 88.90191 88.46930 88.03668 87.09340 86.15012
## 2009 78.41025 77.82956 77.24887 76.98557 76.72227 76.83149 76.94071
## 2010 79.12494 79.81024 80.49553 81.47048 82.44543 83.49899 84.55254
## 2011 92.29228 93.40234 94.51240 94.79154 95.07068 95.09543 95.12017
## 2012 96.53808 96.61795 96.69782 97.10851 97.51919 97.52460 97.53000
## 2013 97.78181 98.41923 99.05664 99.74092 100.42520 101.21646 102.00771
## 2014 104.96435 104.78361 104.60287 103.72153 102.84018 101.68643 100.53269
## 2015 96.49615 97.29253 98.08892 98.80565 99.52238 99.67491 99.82745
## 2016 99.18520 99.35641 99.52762 100.18640 100.84518 101.58172 102.31826
## 2017 104.67832 105.24427 105.81023 106.46253 107.11484 107.93746 108.76009
## 2018 112.91992 113.58477 114.24963 114.77159 115.29355 115.78539 116.27722
## 2019 120.24519 121.25086 122.25652 123.46676 124.67701 125.75672 126.83643
## 2020 116.50813 113.45236 110.39660 108.46030 106.52401 105.72923 104.93445
## 2021 113.90831 115.68602 117.46374 119.20308
## Aug Sep Oct Nov Dec
## 2005 76.55639 76.99126 76.91526 76.83926 76.87417
## 2006 81.85536 82.44381 82.68469 82.92556 82.96158
## 2007 83.95171 84.72905 85.81006 86.89107 87.69147
## 2008 84.83675 83.52337 82.04210 80.56084 79.48554
## 2009 77.25108 77.56146 77.96109 78.36071 78.74283
## 2010 85.72722 86.90191 88.16214 89.42238 90.85733
## 2011 95.36339 95.60662 95.97586 96.34510 96.44159
## 2012 97.08115 96.63231 96.68072 96.72913 97.25547
## 2013 102.70842 103.40914 103.88081 104.35249 104.65842
## 2014 99.39467 98.25666 97.37778 96.49891 96.49753
## 2015 99.64733 99.46721 99.41710 99.36700 99.27610
## 2016 102.75292 103.18757 103.48135 103.77512 104.22672
## 2017 109.52600 110.29191 110.90154 111.51117 112.21554
## 2018 116.86645 117.45567 118.12356 118.79145 119.51832
## 2019 127.07255 127.30868 125.34138 123.37408 119.94111
## 2020 106.39128 107.84810 109.22321 110.59832 112.25331
## 2021
5. Cálculo de las tasas
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
## May 2020 106.5240 -1.7852568 -14.560022 -0.260822 -10.355307 NA
## Jun 2020 105.7292 -0.7461029 -15.925583 -2.335517 -6.409640 NA
## Jul 2020 104.9344 -0.7517115 -17.267895 -4.549204 -2.231450 NA
## Aug 2020 106.3913 1.3883207 -16.275173 -6.625226 1.968808 NA
## Sep 2020 107.8481 1.3693102 -15.286133 -8.567931 6.401592 NA
## Oct 2020 109.2232 1.2750417 -12.859416 -10.100291 9.904804 NA
## Nov 2020 110.5983 1.2589891 -10.355307 -11.236427 NA NA
## Dec 2020 112.2533 1.4964006 -6.409640 -11.778472 NA NA
## Jan 2021 113.9083 1.4743386 -2.231450 -11.731493 NA NA
## Feb 2021 115.6860 1.5606540 1.968808 -11.113788 NA NA
## Mar 2021 117.4637 1.5366719 6.401592 -9.911098 NA NA
## Apr 2021 119.2031 1.4807510 9.904804 -8.236851 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()
