Parcial 3

Universidad de El Salvador
Faculdad de ciencias económicas
escuela de economía

<>

Metodos para el analisis económico
Docente: Carlos Ademir Perez Alas
Grupo teorico: “02”
Nombre: Elias Amilcar Lemus Perez
Ciudad universitaria, San Salvador, El Salvador

1. IPC Alimentos y Bebidas no Alcohólicas

Carga de datos

library(ggplot2)
library(forecast)
library(readxl)
ipc_sv_a <- read_excel("IPC_SV_nov_2021.xlsx")
data = ipc_sv_a$`Alimentos y Bebidas no Alcohólicas` %>% ts(start = c(2009, 1), frequency = 12) ->
ipc
print(ipc)
##         Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct
## 2009 107.31 106.37 105.72 104.56 104.31 103.21 102.64 101.80 102.07 101.38
## 2010 101.33 102.03 103.55 102.84 102.27 104.50 104.48 103.47 104.58 107.46
## 2011 108.16 108.53 109.61 112.17 112.63 113.74 114.31 113.58 112.10 111.64
## 2012 111.39 111.43 111.36 112.40 112.11 112.19 112.12 111.67 112.00 112.07
## 2013 113.46 114.44 115.50 114.75 114.26 115.10 114.91 114.73 114.67 114.71
## 2014 115.65 115.77 115.75 115.48 116.24 117.88 119.81 121.60 120.97 121.22
## 2015 119.31 119.23 119.81 120.30 120.62 120.31 120.35 119.92 119.68 119.85
## 2016 121.82 121.17 120.60 120.03 119.98 119.63 119.25 118.69 117.62 117.80
## 2017 117.70 118.59 119.13 119.53 119.55 120.10 120.78 119.62 119.15 119.20
## 2018 119.82 120.00 119.93 119.68 119.50 119.26 119.89 120.81 120.84 120.22
## 2019 120.81 121.12 121.39 121.71 122.29 122.61 121.82 120.79 120.64 121.08
## 2020 122.35 122.22 122.68 124.24 125.06 126.14 125.84 123.33 122.36 121.89
## 2021 122.50 123.12 124.09 124.19 123.97 124.85 125.76 125.93 127.18 129.29
##         Nov    Dec
## 2009 100.76 100.00
## 2010 108.44 107.88
## 2011 111.98 111.29
## 2012 112.45 112.52
## 2013 114.56 114.70
## 2014 120.36 118.95
## 2015 119.86 119.95
## 2016 117.40 117.08
## 2017 120.01 120.00
## 2018 120.56 120.44
## 2019 121.48 121.88
## 2020 122.24 122.33
## 2021 131.31
autoplot(ipc,xlab = "años",ylab = "Indice",main = "IPC;Alimentos y Bebidas no Alcohólicas, periodo 2009 - 2021 (Noviembre)")+theme_bw()

Proyectar a 6 meses

library(forecast)
modelo <- auto.arima(y = ipc)
summary(modelo)
## Series: ipc 
## ARIMA(5,1,0)(2,0,0)[12] with drift 
## 
## Coefficients:
##          ar1      ar2     ar3     ar4      ar5    sar1     sar2   drift
##       0.4329  -0.1393  0.0527  0.0050  -0.0437  0.1005  -0.0567  0.1553
## s.e.  0.0842   0.0889  0.0904  0.0893   0.0849  0.0898   0.1000  0.0910
## 
## sigma^2 = 0.5889:  log likelihood = -173.82
## AIC=365.63   AICc=366.88   BIC=392.97
## 
## Training set error measures:
##                       ME      RMSE       MAE          MPE      MAPE     MASE
## Training set 0.004969409 0.7447565 0.5652386 0.0007652408 0.4914632 0.216671
##                      ACF1
## Training set -0.001184702
pronosticos <- forecast(modelo,h = 6)
autoplot(pronosticos)+xlab("Años")+ylab("indice")+theme_bw()

library(forecast)
autoplot(pronosticos$x,series = "Alimentos y Bebidas no Alcohólicas")+autolayer(pronosticos$fitted,series = "Pronóstico")+ggtitle("Ajuste SARIMA")

Serie Ampliada

ipc_am <- ts(as.numeric(rbind(as.matrix(pronosticos$x),as.matrix(pronosticos$mean))),start = c(2009,1),frequency = 12)
print(ipc_am)
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2009 107.3100 106.3700 105.7200 104.5600 104.3100 103.2100 102.6400 101.8000
## 2010 101.3300 102.0300 103.5500 102.8400 102.2700 104.5000 104.4800 103.4700
## 2011 108.1600 108.5300 109.6100 112.1700 112.6300 113.7400 114.3100 113.5800
## 2012 111.3900 111.4300 111.3600 112.4000 112.1100 112.1900 112.1200 111.6700
## 2013 113.4600 114.4400 115.5000 114.7500 114.2600 115.1000 114.9100 114.7300
## 2014 115.6500 115.7700 115.7500 115.4800 116.2400 117.8800 119.8100 121.6000
## 2015 119.3100 119.2300 119.8100 120.3000 120.6200 120.3100 120.3500 119.9200
## 2016 121.8200 121.1700 120.6000 120.0300 119.9800 119.6300 119.2500 118.6900
## 2017 117.7000 118.5900 119.1300 119.5300 119.5500 120.1000 120.7800 119.6200
## 2018 119.8200 120.0000 119.9300 119.6800 119.5000 119.2600 119.8900 120.8100
## 2019 120.8100 121.1200 121.3900 121.7100 122.2900 122.6100 121.8200 120.7900
## 2020 122.3500 122.2200 122.6800 124.2400 125.0600 126.1400 125.8400 123.3300
## 2021 122.5000 123.1200 124.0900 124.1900 123.9700 124.8500 125.7600 125.9300
## 2022 132.2205 132.4540 132.6183 132.5880 132.6093                           
##           Sep      Oct      Nov      Dec
## 2009 102.0700 101.3800 100.7600 100.0000
## 2010 104.5800 107.4600 108.4400 107.8800
## 2011 112.1000 111.6400 111.9800 111.2900
## 2012 112.0000 112.0700 112.4500 112.5200
## 2013 114.6700 114.7100 114.5600 114.7000
## 2014 120.9700 121.2200 120.3600 118.9500
## 2015 119.6800 119.8500 119.8600 119.9500
## 2016 117.6200 117.8000 117.4000 117.0800
## 2017 119.1500 119.2000 120.0100 120.0000
## 2018 120.8400 120.2200 120.5600 120.4400
## 2019 120.6400 121.0800 121.4800 121.8800
## 2020 122.3600 121.8900 122.2400 122.3300
## 2021 127.1800 129.2900 131.3100 131.9976
## 2022

Descomposicion de la serie temporal

library(stats)
fit<-stl(ipc_am,"periodic")
autoplot(fit)+theme_bw()

TC <- fit$time.series[,2]
print(TC)
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2009 106.1516 105.6525 105.1535 104.6863 104.2192 103.7796 103.3400 102.9208
## 2010 102.1189 102.3307 102.5425 102.9753 103.4080 103.9920 104.5760 105.1967
## 2011 108.8480 109.5718 110.2956 110.8020 111.3083 111.6264 111.9444 112.1042
## 2012 111.9947 111.9079 111.8211 111.8354 111.8496 111.9637 112.0779 112.2895
## 2013 113.5166 113.7595 114.0025 114.2056 114.4088 114.5604 114.7120 114.8170
## 2014 115.6466 116.0856 116.5246 117.0564 117.5883 118.0604 118.5325 118.9119
## 2015 120.1083 120.0586 120.0088 119.9638 119.9187 119.9860 120.0533 120.1568
## 2016 120.2515 120.1341 120.0168 119.8088 119.6008 119.3311 119.0615 118.8379
## 2017 118.5482 118.6803 118.8123 118.9907 119.1692 119.3503 119.5313 119.6479
## 2018 119.7765 119.7965 119.8165 119.8803 119.9442 120.0238 120.1034 120.2253
## 2019 121.0653 121.1569 121.2485 121.3026 121.3568 121.4384 121.5200 121.6219
## 2020 122.6255 122.8930 123.1606 123.3017 123.4428 123.4812 123.5197 123.5104
## 2021 123.3883 123.6178 123.8473 124.3895 124.9317 125.6899 126.4481 127.2696
## 2022 131.1597 131.9347 132.7098 133.4645 134.2193                           
##           Sep      Oct      Nov      Dec
## 2009 102.5017 102.2701 102.0385 102.0787
## 2010 105.8174 106.5285 107.2396 108.0438
## 2011 112.2641 112.2472 112.2304 112.1125
## 2012 112.5012 112.7547 113.0081 113.2623
## 2013 114.9219 115.0380 115.1540 115.4003
## 2014 119.2913 119.5850 119.8786 119.9935
## 2015 120.2603 120.2989 120.3374 120.2944
## 2016 118.6143 118.5327 118.4512 118.4997
## 2017 119.7645 119.7908 119.8171 119.7968
## 2018 120.3472 120.5293 120.7115 120.8884
## 2019 121.7238 121.8978 122.0718 122.3486
## 2020 123.5011 123.4489 123.3966 123.3925
## 2021 128.0910 128.8516 129.6122 130.3860
## 2022

Calculo de 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) %>%
          
          mutate(T_1_12C=dplyr::lead(T_1_12,n = 6),
                 T_12_12C=dplyr::lead(T_12_12,n = 12)) %>% ts(start = c(2009,1),frequency = 12)-> tabla_c

print(tail(tabla_c,n=12))
##                TC     T_1_1   T_1_12  T_12_12  T_1_12C T_12_12C
## Jun 2021 125.6899 0.6068849 1.788690 1.125463 5.667663       NA
## Jul 2021 126.4481 0.6032240 2.370803 1.187021 6.298283       NA
## Aug 2021 127.2696 0.6496367 3.043606 1.312412 6.727905       NA
## Sep 2021 128.0910 0.6454437 3.716511 1.501419 7.155935       NA
## Oct 2021 128.8516 0.5937995 4.376518 1.760566 7.295640       NA
## Nov 2021 129.6122 0.5902944 5.037084 2.089749 7.434133       NA
## Dec 2021 130.3860 0.5969449 5.667663 2.490365       NA       NA
## Jan 2022 131.1597 0.5934026 6.298283 2.962491       NA       NA
## Feb 2022 131.9347 0.5909178 6.727905 3.473618       NA       NA
## Mar 2022 132.7098 0.5874465 7.155935 4.023729       NA       NA
## Apr 2022 133.4645 0.5687503 7.295640 4.559380       NA       NA
## May 2022 134.2193 0.5655338 7.434133 5.080169       NA       NA

Grafico de Tasas

library(dplyr)
tabla_c %>% as.data.frame() %>% select(T_1_12C,T_12_12C) %>% ts(start = c(2009,1),frequency = 12)->tabla_c_graficos
autoplot(tabla_c_graficos)+theme_bw()

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

IPC Bebidas Alcohólicas, Tabaco

Cargar datos

library(ggplot2)
library(forecast)
library(readxl)
ipc_sv_b <- read_excel("IPC_SV_nov_2021.xlsx")
data = ipc_sv_b$`Bebidas Alcohólicas, Tabaco` %>% ts(start = c(2009, 1), frequency = 12) ->
ipc2
print(ipc2)
##         Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct
## 2009  94.60  95.55  96.42  96.92  97.61  97.52  97.34  97.48  97.81  97.55
## 2010 103.15 112.47 115.91 116.53 117.58 118.08 117.95 117.69 118.34 118.16
## 2011 116.79 116.83 117.17 117.57 117.93 117.92 118.11 117.98 118.10 118.10
## 2012 118.08 118.44 118.69 121.95 125.03 125.49 125.28 124.78 124.91 125.39
## 2013 125.54 125.95 125.85 126.17 126.50 126.61 126.62 128.33 128.71 129.20
## 2014 129.20 129.18 129.01 129.02 129.38 131.06 132.53 133.68 134.33 134.57
## 2015 135.29 135.29 135.18 134.88 135.60 135.39 136.08 136.87 137.71 138.68
## 2016 139.14 140.38 140.35 140.86 140.69 140.49 141.77 141.80 143.34 143.82
## 2017 142.02 143.70 144.54 144.66 145.61 144.96 144.66 144.77 143.91 144.24
## 2018 144.13 144.12 145.34 145.87 145.99 145.64 146.20 145.90 145.99 146.00
## 2019 147.30 146.86 146.84 147.11 147.74 148.21 149.24 150.04 150.05 150.11
## 2020 151.89 151.81 152.29 152.01 153.09 152.72 154.65 154.56 152.64 153.40
## 2021 154.49 155.21 155.63 155.40 155.20 156.36 156.20 156.00 157.11 157.36
##         Nov    Dec
## 2009  97.99 100.00
## 2010 117.44 117.31
## 2011 117.40 116.92
## 2012 125.18 124.85
## 2013 129.40 129.35
## 2014 134.68 134.38
## 2015 138.42 138.09
## 2016 143.63 143.43
## 2017 144.03 143.76
## 2018 145.59 145.84
## 2019 149.90 150.54
## 2020 153.59 153.87
## 2021 157.57
autoplot(ipc2,xlab = "años",ylab = "Indice",main = "IPC;Bebidas Alcohólicas, Tabaco, periodo 2009 - 2021 (Noviembre)")+theme_bw()

Proyectar a 6 meses

library(forecast)
modelo <- auto.arima(y = ipc2)
summary(modelo)
## Series: ipc2 
## ARIMA(2,1,2)(1,0,0)[12] with drift 
## 
## Coefficients:
##           ar1     ar2     ma1      ma2    sar1   drift
##       -0.2660  0.3252  0.6962  -0.1125  0.0521  0.4098
## s.e.   0.3403  0.1524  0.3401   0.1998  0.0806  0.1355
## 
## sigma^2 = 0.9495:  log likelihood = -211.6
## AIC=437.2   AICc=437.97   BIC=458.46
## 
## Training set error measures:
##                         ME      RMSE       MAE        MPE      MAPE      MASE
## Training set -0.0007788627 0.9521798 0.5933183 0.01016118 0.4522676 0.1202803
##                       ACF1
## Training set -0.0009904928
pronosticos2 <- forecast(modelo,h = 6)
autoplot(pronosticos2)+xlab("Años")+ylab("indice")+theme_bw()

library(forecast)
autoplot(pronosticos2$x,series = "Bebidas Alcohólicas, Tabaco")+autolayer(pronosticos2$fitted,series = "Pronóstico")+ggtitle("Ajuste SARIMA")

Serie Ampliada

ipc_am2 <- ts(as.numeric(rbind(as.matrix(pronosticos2$x),as.matrix(pronosticos2$mean))),start = c(2009,1),frequency = 12)
print(ipc_am2)
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2009  94.6000  95.5500  96.4200  96.9200  97.6100  97.5200  97.3400  97.4800
## 2010 103.1500 112.4700 115.9100 116.5300 117.5800 118.0800 117.9500 117.6900
## 2011 116.7900 116.8300 117.1700 117.5700 117.9300 117.9200 118.1100 117.9800
## 2012 118.0800 118.4400 118.6900 121.9500 125.0300 125.4900 125.2800 124.7800
## 2013 125.5400 125.9500 125.8500 126.1700 126.5000 126.6100 126.6200 128.3300
## 2014 129.2000 129.1800 129.0100 129.0200 129.3800 131.0600 132.5300 133.6800
## 2015 135.2900 135.2900 135.1800 134.8800 135.6000 135.3900 136.0800 136.8700
## 2016 139.1400 140.3800 140.3500 140.8600 140.6900 140.4900 141.7700 141.8000
## 2017 142.0200 143.7000 144.5400 144.6600 145.6100 144.9600 144.6600 144.7700
## 2018 144.1300 144.1200 145.3400 145.8700 145.9900 145.6400 146.2000 145.9000
## 2019 147.3000 146.8600 146.8400 147.1100 147.7400 148.2100 149.2400 150.0400
## 2020 151.8900 151.8100 152.2900 152.0100 153.0900 152.7200 154.6500 154.5600
## 2021 154.4900 155.2100 155.6300 155.4000 155.2000 156.3600 156.2000 156.0000
## 2022 158.3204 158.7466 159.1436 159.5237 159.8964                           
##           Sep      Oct      Nov      Dec
## 2009  97.8100  97.5500  97.9900 100.0000
## 2010 118.3400 118.1600 117.4400 117.3100
## 2011 118.1000 118.1000 117.4000 116.9200
## 2012 124.9100 125.3900 125.1800 124.8500
## 2013 128.7100 129.2000 129.4000 129.3500
## 2014 134.3300 134.5700 134.6800 134.3800
## 2015 137.7100 138.6800 138.4200 138.0900
## 2016 143.3400 143.8200 143.6300 143.4300
## 2017 143.9100 144.2400 144.0300 143.7600
## 2018 145.9900 146.0000 145.5900 145.8400
## 2019 150.0500 150.1100 149.9000 150.5400
## 2020 152.6400 153.4000 153.5900 153.8700
## 2021 157.1100 157.3600 157.5700 157.9405
## 2022

Descomposicion de la serie temporal

library(stats)
fit<-stl(ipc_am2,"periodic")
autoplot(fit)+theme_bw()

TC <- fit$time.series[,2]
print(TC)
##            Jan       Feb       Mar       Apr       May       Jun       Jul
## 2009  93.73541  94.43431  95.13321  95.91252  96.69184  97.56346  98.43508
## 2010 106.76737 108.66768 110.56799 112.28861 114.00923 115.21505 116.42088
## 2011 117.58804 117.57607 117.56410 117.56663 117.56916 117.62007 117.67097
## 2012 119.62369 120.26859 120.91349 121.59597 122.27846 122.95787 123.63728
## 2013 125.69786 125.90885 126.11983 126.42289 126.72594 127.08029 127.43464
## 2014 129.32150 129.69932 130.07714 130.52004 130.96295 131.48325 132.00354
## 2015 134.83077 135.08119 135.33160 135.60550 135.87939 136.22565 136.57190
## 2016 139.27588 139.68580 140.09571 140.50774 140.91976 141.30894 141.69812
## 2017 143.71888 143.89788 144.07687 144.15404 144.23121 144.29409 144.35697
## 2018 144.75876 144.88980 145.02084 145.17486 145.32889 145.51186 145.69484
## 2019 146.77989 147.06673 147.35356 147.69838 148.04321 148.43866 148.83411
## 2020 151.37548 151.71619 152.05689 152.34228 152.62767 152.88910 153.15052
## 2021 154.62515 154.85411 155.08307 155.37299 155.66291 155.98108 156.29926
## 2022 158.38385 158.73931 159.09478 159.44652 159.79825                    
##            Aug       Sep       Oct       Nov       Dec
## 2009  99.38241 100.32975 101.68788 103.04601 104.90669
## 2010 116.92772 117.43456 117.51761 117.60066 117.59435
## 2011 117.80142 117.93186 118.24617 118.56047 119.09208
## 2012 124.18951 124.74174 125.05887 125.37599 125.53693
## 2013 127.77163 128.10861 128.40285 128.69709 129.00929
## 2014 132.56946 133.13538 133.63576 134.13613 134.48345
## 2015 137.00418 137.43647 137.91212 138.38778 138.83183
## 2016 142.04828 142.39845 142.74843 143.09841 143.40865
## 2017 144.41704 144.47711 144.53004 144.58296 144.67086
## 2018 145.87873 146.06262 146.22167 146.38071 146.58030
## 2019 149.27232 149.71054 150.14707 150.58359 150.97954
## 2020 153.41834 153.68617 153.93823 154.19029 154.40772
## 2021 156.64304 156.98683 157.33258 157.67832 158.03108
## 2022

Calculo de 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) %>%
          
          mutate(T_1_12C=dplyr::lead(T_1_12,n = 6),
                 T_12_12C=dplyr::lead(T_12_12,n = 12)) %>% ts(start = c(2009,1),frequency = 12)-> tabla_c2

print(tail(tabla_c2,n=12))
##                TC     T_1_1   T_1_12  T_12_12  T_1_12C T_12_12C
## Jun 2021 155.9811 0.2043982 2.022373 2.308138 2.346622       NA
## Jul 2021 156.2993 0.2039812 2.055977 2.238386 2.430844       NA
## Aug 2021 156.6430 0.2199548 2.101899 2.182695 2.508943       NA
## Sep 2021 156.9868 0.2194720 2.147662 2.140955 2.586811       NA
## Oct 2021 157.3326 0.2202376 2.205006 2.114818 2.621771       NA
## Nov 2021 157.6783 0.2197536 2.262162 2.104179 2.656601       NA
## Dec 2021 158.0311 0.2237232 2.346622 2.110882       NA       NA
## Jan 2022 158.3838 0.2232238 2.430844 2.134831       NA       NA
## Feb 2022 158.7393 0.2244336 2.508943 2.171759       NA       NA
## Mar 2022 159.0948 0.2239311 2.586811 2.221607       NA       NA
## Apr 2022 159.4465 0.2210869 2.621771 2.274386       NA       NA
## May 2022 159.7983 0.2205992 2.656601 2.330082       NA       NA

Grafico de Tasas

library(dplyr)
tabla_c2 %>% as.data.frame() %>% select(T_1_12C,T_12_12C) %>% ts(start = c(2009,1),frequency = 12)->tabla_c2_graficos
autoplot(tabla_c2_graficos)+theme_bw()

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

Prendas de Vestir y Calzado

Carga de datos

library(ggplot2)
library(forecast)
library(readxl)
ipc_sv_c <- read_excel("IPC_SV_nov_2021.xlsx")
data = ipc_sv_a$`Prendas de Vestir y Calzado` %>% ts(start = c(2009, 1), frequency = 12) ->
ipc3
print(ipc3)
##         Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct
## 2009 100.54 100.75 101.22 101.21 101.31 101.09 101.03 100.81 100.34 100.05
## 2010  99.83  99.65  99.93  99.64  99.28  99.46  99.97 100.32 100.58 100.48
## 2011 100.72 100.81 100.44 100.66 101.08 101.85 101.90 101.82 102.24 102.40
## 2012 103.35 103.57 103.30 102.89 102.69 102.63 102.66 102.60 102.59 102.56
## 2013 102.86 102.97 103.02 102.85 102.86 102.98 102.70 102.59 102.50 102.35
## 2014 102.44 102.50 102.44 102.27 102.40 102.05 101.90 101.66 101.75 102.02
## 2015 101.72 101.66 101.75 101.57 101.13 100.59  99.97  99.73  99.05  98.60
## 2016  98.63  98.60  98.20  97.94  97.77  97.17  96.86  96.41  96.18  96.15
## 2017  95.97  95.95  95.81  95.66  95.45  95.59  95.30  94.93  94.67  94.35
## 2018  94.46  94.27  94.14  93.90  93.72  93.62  93.37  93.05  92.99  92.82
## 2019  92.76  92.93  92.89  92.90  92.69  92.57  92.42  92.13  91.42  91.44
## 2020  91.09  91.43  91.88  91.84  91.84  91.84  91.84  91.84  92.05  92.55
## 2021  93.00  93.50  93.84  93.98  94.35  94.50  94.71  94.86  94.85  95.11
##         Nov    Dec
## 2009  99.94 100.00
## 2010 100.65 100.67
## 2011 102.80 103.32
## 2012 102.31 102.85
## 2013 102.36 102.28
## 2014 101.89 102.00
## 2015  98.56  98.71
## 2016  96.12  96.17
## 2017  94.18  94.37
## 2018  92.77  92.74
## 2019  91.17  91.03
## 2020  92.60  92.75
## 2021  95.46
autoplot(ipc3,xlab = "años",ylab = "Indice",main = "IPC;Prendas de Vestir y Calzado, periodo 2009 - 2021 (Noviembre)")+theme_bw()

Proyectar a 6 meses

library(forecast)
modelo <- auto.arima(y = ipc3)
summary(modelo)
## Series: ipc3 
## ARIMA(2,1,0) 
## 
## Coefficients:
##          ar1     ar2
##       0.4154  0.1460
## s.e.  0.0796  0.0805
## 
## sigma^2 = 0.05152:  log likelihood = 10.8
## AIC=-15.6   AICc=-15.44   BIC=-6.49
## 
## Training set error measures:
##                      ME     RMSE       MAE         MPE      MAPE      MASE
## Training set -0.0125171 0.224767 0.1752489 -0.01266981 0.1782725 0.1159139
##                     ACF1
## Training set -0.01069974
pronosticos3 <- forecast(modelo,h = 6)
autoplot(pronosticos3)+xlab("Años")+ylab("indice")+theme_bw()

library(forecast)
autoplot(pronosticos3$x,series = "Prendas de Vestir y Calzado")+autolayer(pronosticos3$fitted,series = "Pronóstico")+ggtitle("Ajuste SARIMA")

Serie Ampliada

ipc_am3 <- ts(as.numeric(rbind(as.matrix(pronosticos3$x),as.matrix(pronosticos3$mean))),start = c(2009,1),frequency = 12)
print(ipc_am3)
##            Jan       Feb       Mar       Apr       May       Jun       Jul
## 2009 100.54000 100.75000 101.22000 101.21000 101.31000 101.09000 101.03000
## 2010  99.83000  99.65000  99.93000  99.64000  99.28000  99.46000  99.97000
## 2011 100.72000 100.81000 100.44000 100.66000 101.08000 101.85000 101.90000
## 2012 103.35000 103.57000 103.30000 102.89000 102.69000 102.63000 102.66000
## 2013 102.86000 102.97000 103.02000 102.85000 102.86000 102.98000 102.70000
## 2014 102.44000 102.50000 102.44000 102.27000 102.40000 102.05000 101.90000
## 2015 101.72000 101.66000 101.75000 101.57000 101.13000 100.59000  99.97000
## 2016  98.63000  98.60000  98.20000  97.94000  97.77000  97.17000  96.86000
## 2017  95.97000  95.95000  95.81000  95.66000  95.45000  95.59000  95.30000
## 2018  94.46000  94.27000  94.14000  93.90000  93.72000  93.62000  93.37000
## 2019  92.76000  92.93000  92.89000  92.90000  92.69000  92.57000  92.42000
## 2020  91.09000  91.43000  91.88000  91.84000  91.84000  91.84000  91.84000
## 2021  93.00000  93.50000  93.84000  93.98000  94.35000  94.50000  94.71000
## 2022  95.77066  95.85032  95.90200  95.93510  95.95640                    
##            Aug       Sep       Oct       Nov       Dec
## 2009 100.81000 100.34000 100.05000  99.94000 100.00000
## 2010 100.32000 100.58000 100.48000 100.65000 100.67000
## 2011 101.82000 102.24000 102.40000 102.80000 103.32000
## 2012 102.60000 102.59000 102.56000 102.31000 102.85000
## 2013 102.59000 102.50000 102.35000 102.36000 102.28000
## 2014 101.66000 101.75000 102.02000 101.89000 102.00000
## 2015  99.73000  99.05000  98.60000  98.56000  98.71000
## 2016  96.41000  96.18000  96.15000  96.12000  96.17000
## 2017  94.93000  94.67000  94.35000  94.18000  94.37000
## 2018  93.05000  92.99000  92.82000  92.77000  92.74000
## 2019  92.13000  91.42000  91.44000  91.17000  91.03000
## 2020  91.84000  92.05000  92.55000  92.60000  92.75000
## 2021  94.86000  94.85000  95.11000  95.46000  95.64337
## 2022

Descomposicion de la serie temporal

library(stats)
fit<-stl(ipc_am3,"periodic")
autoplot(fit)+theme_bw()

TC <- fit$time.series[,2]
print(TC)
##            Jan       Feb       Mar       Apr       May       Jun       Jul
## 2009 101.11281 101.04022 100.96763 100.88657 100.80550 100.72075 100.63600
## 2010  99.95423  99.90164  99.84906  99.87954  99.91003  99.98881 100.06759
## 2011 100.73109 100.86717 101.00325 101.17053 101.33781 101.55690 101.77599
## 2012 102.82560 102.86133 102.89705 102.88344 102.86982 102.82914 102.78847
## 2013 102.75620 102.75971 102.76322 102.75213 102.74104 102.71232 102.68360
## 2014 102.37288 102.30935 102.24582 102.19628 102.14675 102.10395 102.06116
## 2015 101.58273 101.39738 101.21203 100.95482 100.69760 100.41174 100.12587
## 2016  98.45419  98.20694  97.95969  97.72772  97.49575  97.27228  97.04882
## 2017  95.96401  95.83425  95.70448  95.56410  95.42371  95.27793  95.13216
## 2018  94.24493  94.09787  93.95081  93.81432  93.67783  93.54611  93.41438
## 2019  92.83025  92.74198  92.65371  92.54020  92.42669  92.28906  92.15143
## 2020  91.57352  91.58228  91.59103  91.67762  91.76420  91.90148  92.03876
## 2021  93.18535  93.42255  93.65975  93.89762  94.13549  94.36750  94.59951
## 2022  95.57479  95.71828  95.86177  95.99830  96.13484                    
##            Aug       Sep       Oct       Nov       Dec
## 2009 100.54920 100.46241 100.33504 100.20767 100.08095
## 2010 100.16308 100.25856 100.36711 100.47565 100.60337
## 2011 102.01440 102.25281 102.44001 102.62721 102.72641
## 2012 102.75963 102.73079 102.73141 102.73202 102.74411
## 2013 102.64007 102.59654 102.54603 102.49552 102.43420
## 2014 102.00824 101.95533 101.88408 101.81283 101.69778
## 2015  99.83774  99.54961  99.26739  98.98516  98.71968
## 2016  96.83715  96.62548  96.44213  96.25878  96.11140
## 2017  94.98944  94.84672  94.69934  94.55196  94.39844
## 2018  93.29659  93.17880  93.08508  92.99136  92.91081
## 2019  92.01823  91.88502  91.78428  91.68353  91.62853
## 2020  92.20098  92.36321  92.55193  92.74065  92.96300
## 2021  94.78729  94.97508  95.12640  95.27771  95.42625
## 2022

Calculo de 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) %>%
          
          mutate(T_1_12C=dplyr::lead(T_1_12,n = 6),
                 T_12_12C=dplyr::lead(T_12_12,n = 12)) %>% ts(start = c(2009,1),frequency = 12)-> tabla_c3

print(tail(tabla_c3,n=12))
##                TC     T_1_1   T_1_12  T_12_12  T_1_12C T_12_12C
## Jun 2021 94.36750 0.2464619 2.683331 1.478844 2.649714       NA
## Jul 2021 94.59951 0.2458560 2.782251 1.721785 2.564182       NA
## Aug 2021 94.78729 0.1985065 2.805080 1.939744 2.457363       NA
## Sep 2021 94.97508 0.1981132 2.827829 2.132559 2.351086       NA
## Oct 2021 95.12640 0.1593214 2.781649 2.294949 2.237208       NA
## Nov 2021 95.27771 0.1590680 2.735657 2.426852 2.123906       NA
## Dec 2021 95.42625 0.1559036 2.649714 2.526078       NA       NA
## Jan 2022 95.57479 0.1556610 2.564182 2.592671       NA       NA
## Feb 2022 95.71828 0.1501309 2.457363 2.629457       NA       NA
## Mar 2022 95.86177 0.1499058 2.351086 2.636564       NA       NA
## Apr 2022 95.99830 0.1424300 2.237208 2.620580       NA       NA
## May 2022 96.13484 0.1422274 2.123906 2.581651       NA       NA

Grafico de Tasas

library(dplyr)
tabla_c3 %>% as.data.frame() %>% select(T_1_12C,T_12_12C) %>% ts(start = c(2009,1),frequency = 12)->tabla_c3_graficos
autoplot(tabla_c3_graficos)+theme_bw()