Se proceden a cargar las librerias en R
library(readxl)
library(forcats)
library(ggplot2)
Para este taller se seguirá trabajando con la serie económica identificada en el Primer Taller. En este caso nuestra variable a estudiar es el PIB, los datos son trimestrales y van del 2014 al 2019 (datos en Miles de millones de pesos)
x= PIB <- read_excel("PIB.xlsx")
x=ts(x, start = c(1, 1), end = c(9, 4), frequency = 4)
x
## Qtr1 Qtr2 Qtr3 Qtr4
## 1 185962.6 190290.0 196779.6 208556.7
## 2 191216.5 196798.2 203824.3 212853.0
## 3 195758.7 200982.0 207001.4 217746.9
## 4 197840.4 203513.3 210525.5 220776.8
## 5 201119.0 209139.1 216587.4 227162.6
## 6 208067.7 215532.9 223374.8 234248.6
## 7 209046.7 179359.4 203148.9 226345.0
## 8 212016.1 212786.4 230209.7 251230.9
## 9 229390.2 238991.9 247215.4 256700.5
El método a utilizar será por los coeficientes de variación
cv_di=abs(sd(x[5:36]-x[1:32])/
mean(x[5:36]-x[1:32]))
cv_di
## [1] 2.12628
cv_co=abs(sd(x[5:36]/x[1:32])/
mean(x[5:36]/x[1:32]))
cv_co
## [1] 0.05924246
cbind(cv_di, cv_co)
## cv_di cv_co
## [1,] 2.12628 0.05924246
if(cv_di < cv_co) {
"Se eleige el esquema Aditivo"
} else {
"Se elige el esquema Multiplicativo"
}
## [1] "Se elige el esquema Multiplicativo"
Se elige el esquema multiplicativo, dado que el Coeficiente de Variación de las difrencias es mayor al Coeficiente de Variación de los cocientes.
d=decompose(x=x, type="multiplicative")
PMC=d$trend
PMC
## Qtr1 Qtr2 Qtr3 Qtr4
## 1 NA NA 196054.0 197524.2
## 2 199218.3 200636.0 201740.8 202831.5
## 3 203751.6 204760.5 205632.5 206209.1
## 4 206966.0 207785.3 208573.8 209686.9
## 5 211147.8 212703.8 214370.6 216038.4
## 6 217686.1 219420.2 220428.4 216029.1
## 7 208979.1 205463.0 204846.2 209395.7
## 8 216956.7 223450.0 228732.5 234180.0
## 9 239581.4 242390.8 NA NA
in_est=d$figure
in_est
## [1] 0.9651602 0.9650034 1.0066778 1.0631586
sum(in_est)
## [1] 4
Se observa que el índice estacional más alto se ubica para el cuarto trimestre.
Trimestres=c("Trimestre1", "Trimestre2", "Trimestre3", "Trimestre4")
df.in_est=data.frame(Trimestres, in_est)
df.in_est
## Trimestres in_est
## 1 Trimestre1 0.9651602
## 2 Trimestre2 0.9650034
## 3 Trimestre3 1.0066778
## 4 Trimestre4 1.0631586
tri=seq(1,36)
in_est1=rep(in_est,times=9)
in_est1
## [1] 0.9651602 0.9650034 1.0066778 1.0631586 0.9651602 0.9650034 1.0066778
## [8] 1.0631586 0.9651602 0.9650034 1.0066778 1.0631586 0.9651602 0.9650034
## [15] 1.0066778 1.0631586 0.9651602 0.9650034 1.0066778 1.0631586 0.9651602
## [22] 0.9650034 1.0066778 1.0631586 0.9651602 0.9650034 1.0066778 1.0631586
## [29] 0.9651602 0.9650034 1.0066778 1.0631586 0.9651602 0.9650034 1.0066778
## [36] 1.0631586
PIBdes=x/in_est1
PIBdes
## Qtr1 Qtr2 Qtr3 Qtr4
## 1 192675.4 197191.1 195474.2 196167.1
## 2 198118.9 203935.3 202472.2 200208.2
## 3 202825.1 208270.8 205628.3 204811.3
## 4 204981.9 210893.8 209129.0 207661.2
## 5 208378.9 216723.6 215150.7 213667.6
## 6 215578.4 223349.4 221893.0 220332.7
## 7 216592.8 185864.0 201801.4 212898.6
## 8 219669.3 220503.2 228682.6 236306.1
## 9 237670.6 247659.1 245575.5 241450.8
Tabla=data.frame(cbind(tri, x,in_est1, PIBdes ))
Tabla
## tri x in_est1 PIBdes
## 1 1 185962.6 0.9651602 192675.4
## 2 2 190290.0 0.9650034 197191.1
## 3 3 196779.6 1.0066778 195474.2
## 4 4 208556.7 1.0631586 196167.1
## 5 5 191216.5 0.9651602 198118.9
## 6 6 196798.2 0.9650034 203935.3
## 7 7 203824.3 1.0066778 202472.2
## 8 8 212853.0 1.0631586 200208.2
## 9 9 195758.7 0.9651602 202825.1
## 10 10 200982.0 0.9650034 208270.8
## 11 11 207001.4 1.0066778 205628.3
## 12 12 217746.9 1.0631586 204811.3
## 13 13 197840.4 0.9651602 204981.9
## 14 14 203513.3 0.9650034 210893.8
## 15 15 210525.5 1.0066778 209129.0
## 16 16 220776.8 1.0631586 207661.2
## 17 17 201119.0 0.9651602 208378.9
## 18 18 209139.1 0.9650034 216723.6
## 19 19 216587.4 1.0066778 215150.7
## 20 20 227162.6 1.0631586 213667.6
## 21 21 208067.7 0.9651602 215578.4
## 22 22 215532.9 0.9650034 223349.4
## 23 23 223374.8 1.0066778 221893.0
## 24 24 234248.6 1.0631586 220332.7
## 25 25 209046.7 0.9651602 216592.8
## 26 26 179359.4 0.9650034 185864.0
## 27 27 203148.9 1.0066778 201801.4
## 28 28 226345.0 1.0631586 212898.6
## 29 29 212016.1 0.9651602 219669.3
## 30 30 212786.4 0.9650034 220503.2
## 31 31 230209.7 1.0066778 228682.6
## 32 32 251230.9 1.0631586 236306.1
## 33 33 229390.2 0.9651602 237670.6
## 34 34 238991.9 0.9650034 247659.1
## 35 35 247215.4 1.0066778 245575.5
## 36 36 256700.5 1.0631586 241450.8
modeloRl1=lm(Tabla$PIBdes~Tabla$tri)
modeloRl1
##
## Call:
## lm(formula = Tabla$PIBdes ~ Tabla$tri)
##
## Coefficients:
## (Intercept) Tabla$tri
## 191733 1153
proDe=1153*Tabla$tri+191733
proDe
## [1] 192886 194039 195192 196345 197498 198651 199804 200957 202110 203263
## [11] 204416 205569 206722 207875 209028 210181 211334 212487 213640 214793
## [21] 215946 217099 218252 219405 220558 221711 222864 224017 225170 226323
## [31] 227476 228629 229782 230935 232088 233241
Tabla=data.frame(Tabla, proDe)
Tabla
## tri x in_est1 PIBdes proDe
## 1 1 185962.6 0.9651602 192675.4 192886
## 2 2 190290.0 0.9650034 197191.1 194039
## 3 3 196779.6 1.0066778 195474.2 195192
## 4 4 208556.7 1.0631586 196167.1 196345
## 5 5 191216.5 0.9651602 198118.9 197498
## 6 6 196798.2 0.9650034 203935.3 198651
## 7 7 203824.3 1.0066778 202472.2 199804
## 8 8 212853.0 1.0631586 200208.2 200957
## 9 9 195758.7 0.9651602 202825.1 202110
## 10 10 200982.0 0.9650034 208270.8 203263
## 11 11 207001.4 1.0066778 205628.3 204416
## 12 12 217746.9 1.0631586 204811.3 205569
## 13 13 197840.4 0.9651602 204981.9 206722
## 14 14 203513.3 0.9650034 210893.8 207875
## 15 15 210525.5 1.0066778 209129.0 209028
## 16 16 220776.8 1.0631586 207661.2 210181
## 17 17 201119.0 0.9651602 208378.9 211334
## 18 18 209139.1 0.9650034 216723.6 212487
## 19 19 216587.4 1.0066778 215150.7 213640
## 20 20 227162.6 1.0631586 213667.6 214793
## 21 21 208067.7 0.9651602 215578.4 215946
## 22 22 215532.9 0.9650034 223349.4 217099
## 23 23 223374.8 1.0066778 221893.0 218252
## 24 24 234248.6 1.0631586 220332.7 219405
## 25 25 209046.7 0.9651602 216592.8 220558
## 26 26 179359.4 0.9650034 185864.0 221711
## 27 27 203148.9 1.0066778 201801.4 222864
## 28 28 226345.0 1.0631586 212898.6 224017
## 29 29 212016.1 0.9651602 219669.3 225170
## 30 30 212786.4 0.9650034 220503.2 226323
## 31 31 230209.7 1.0066778 228682.6 227476
## 32 32 251230.9 1.0631586 236306.1 228629
## 33 33 229390.2 0.9651602 237670.6 229782
## 34 34 238991.9 0.9650034 247659.1 230935
## 35 35 247215.4 1.0066778 245575.5 232088
## 36 36 256700.5 1.0631586 241450.8 233241
proEs=proDe*Tabla$in_est1
proEs
## [1] 186165.9 187248.3 196495.4 208745.9 190617.2 191698.9 201138.2 213649.2
## [9] 195068.5 196149.5 205781.0 218552.5 199519.9 200600.1 210423.8 223455.7
## [17] 203971.2 205050.7 215066.6 228359.0 208422.5 209501.3 219709.4 233262.3
## [25] 212873.8 213951.9 224352.2 238165.6 217325.1 218402.5 228995.0 243068.9
## [33] 221776.4 222853.1 233637.8 247972.2
Tabla=data.frame(Tabla, proEs)
Tabla
## tri x in_est1 PIBdes proDe proEs
## 1 1 185962.6 0.9651602 192675.4 192886 186165.9
## 2 2 190290.0 0.9650034 197191.1 194039 187248.3
## 3 3 196779.6 1.0066778 195474.2 195192 196495.4
## 4 4 208556.7 1.0631586 196167.1 196345 208745.9
## 5 5 191216.5 0.9651602 198118.9 197498 190617.2
## 6 6 196798.2 0.9650034 203935.3 198651 191698.9
## 7 7 203824.3 1.0066778 202472.2 199804 201138.2
## 8 8 212853.0 1.0631586 200208.2 200957 213649.2
## 9 9 195758.7 0.9651602 202825.1 202110 195068.5
## 10 10 200982.0 0.9650034 208270.8 203263 196149.5
## 11 11 207001.4 1.0066778 205628.3 204416 205781.0
## 12 12 217746.9 1.0631586 204811.3 205569 218552.5
## 13 13 197840.4 0.9651602 204981.9 206722 199519.9
## 14 14 203513.3 0.9650034 210893.8 207875 200600.1
## 15 15 210525.5 1.0066778 209129.0 209028 210423.8
## 16 16 220776.8 1.0631586 207661.2 210181 223455.7
## 17 17 201119.0 0.9651602 208378.9 211334 203971.2
## 18 18 209139.1 0.9650034 216723.6 212487 205050.7
## 19 19 216587.4 1.0066778 215150.7 213640 215066.6
## 20 20 227162.6 1.0631586 213667.6 214793 228359.0
## 21 21 208067.7 0.9651602 215578.4 215946 208422.5
## 22 22 215532.9 0.9650034 223349.4 217099 209501.3
## 23 23 223374.8 1.0066778 221893.0 218252 219709.4
## 24 24 234248.6 1.0631586 220332.7 219405 233262.3
## 25 25 209046.7 0.9651602 216592.8 220558 212873.8
## 26 26 179359.4 0.9650034 185864.0 221711 213951.9
## 27 27 203148.9 1.0066778 201801.4 222864 224352.2
## 28 28 226345.0 1.0631586 212898.6 224017 238165.6
## 29 29 212016.1 0.9651602 219669.3 225170 217325.1
## 30 30 212786.4 0.9650034 220503.2 226323 218402.5
## 31 31 230209.7 1.0066778 228682.6 227476 228995.0
## 32 32 251230.9 1.0631586 236306.1 228629 243068.9
## 33 33 229390.2 0.9651602 237670.6 229782 221776.4
## 34 34 238991.9 0.9650034 247659.1 230935 222853.1
## 35 35 247215.4 1.0066778 245575.5 232088 233637.8
## 36 36 256700.5 1.0631586 241450.8 233241 247972.2
ECM=mean((Tabla$x-Tabla$proEs)^2)
ECM
## [1] 74304755
RMSE= sqrt(ECM)
RMSE
## [1] 8620.021
ano10=data.frame(tri=seq(37, 40))
ano10
## tri
## 1 37
## 2 38
## 3 39
## 4 40
pronosticoDes=1153*ano10+191733
pronosticoDes
## tri
## 1 234394
## 2 235547
## 3 236700
## 4 237853
pronosticoEs=pronosticoDes*in_est
pronosticoEs
## tri
## 1 226227.8
## 2 227303.7
## 3 238280.6
## 4 252875.5
hw=HoltWinters(x, alpha = 0.2, beta= 0.3, gamma = 0.4, seasonal = "multiplicative")
hw
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
##
## Call:
## HoltWinters(x = x, alpha = 0.2, beta = 0.3, gamma = 0.4, seasonal = "multiplicative")
##
## Smoothing parameters:
## alpha: 0.2
## beta : 0.3
## gamma: 0.4
##
## Coefficients:
## [,1]
## a 2.431547e+05
## b 4.004851e+03
## s1 9.840557e-01
## s2 9.757813e-01
## s3 1.020034e+00
## s4 1.073921e+00
plot(hw)
hw$fitted
## xhat level trend season
## 2 Q1 188155.6 194498.1 1544.0061 0.9597711
## 2 Q2 194607.4 196680.0 1735.3584 0.9808081
## 2 Q3 201461.2 198862.1 1869.3818 1.0036356
## 2 Q4 214549.3 201202.3 2010.6516 1.0557851
## 3 Q1 197586.8 202891.7 1914.2557 0.9647513
## 3 Q2 202996.7 204427.0 1800.5647 0.9843335
## 3 Q3 209030.1 205818.2 1677.7592 1.0073939
## 3 Q4 219731.5 207093.2 1556.9308 1.0531099
## 4 Q1 201724.7 208273.2 1443.8588 0.9618897
## 4 Q2 206161.1 208909.4 1201.5680 0.9812012
## 4 Q3 211507.9 209571.3 1039.6515 1.0042592
## 4 Q4 221978.8 210415.3 980.9553 1.0500606
## 5 Q1 202735.3 211167.3 912.2733 0.9559399
## 5 Q2 207697.1 211741.4 810.8250 0.9771580
## 5 Q3 214337.7 212847.3 899.3642 1.0027651
## 5 Q4 225611.8 214195.4 1033.9711 1.0482391
## 6 Q1 206573.2 215525.2 1122.7326 0.9534972
## 6 Q2 213667.6 216961.4 1216.7733 0.9793259
## 6 Q3 221237.3 218559.2 1331.0566 1.0061260
## 6 Q4 232982.4 220315.1 1458.5272 1.0505415
## 7 Q1 213642.8 222014.7 1530.8424 0.9557014
## 7 Q2 219809.9 222583.7 1242.2977 0.9820570
## 7 Q3 216337.7 215588.1 -1229.0794 1.0092306
## 7 Q4 220715.2 211745.4 -2013.1669 1.0523665
## 8 Q1 198465.0 210802.2 -1692.1886 0.9490939
## 8 Q2 194665.2 211965.6 -835.5117 0.9220158
## 8 Q3 213099.5 215060.8 343.7174 0.9892991
## 8 Q4 233660.7 218863.6 1381.4318 1.0609126
## 9 Q1 219053.1 223557.3 2375.1136 0.9695517
## 9 Q2 219289.7 228064.7 3014.8147 0.9489791
## 9 Q3 242920.9 235231.8 4260.5048 1.0143159
## 9 Q4 265926.4 240339.1 4514.5403 1.0860625
hw$seasonal
## [1] "multiplicative"
Tabla=data.frame(cbind(hw$x[5:36], hw$fitted))
Tabla
## hw.x.5.36. hw.fitted.xhat hw.fitted.level hw.fitted.trend hw.fitted.season
## 1 191216.5 188155.6 194498.1 1544.0061 0.9597711
## 2 196798.2 194607.4 196680.0 1735.3584 0.9808081
## 3 203824.3 201461.2 198862.1 1869.3818 1.0036356
## 4 212853.0 214549.3 201202.3 2010.6516 1.0557851
## 5 195758.7 197586.8 202891.7 1914.2557 0.9647513
## 6 200982.0 202996.7 204427.0 1800.5647 0.9843335
## 7 207001.4 209030.1 205818.2 1677.7592 1.0073939
## 8 217746.9 219731.5 207093.2 1556.9308 1.0531099
## 9 197840.4 201724.7 208273.2 1443.8588 0.9618897
## 10 203513.3 206161.1 208909.4 1201.5680 0.9812012
## 11 210525.5 211507.9 209571.3 1039.6515 1.0042592
## 12 220776.8 221978.8 210415.3 980.9553 1.0500606
## 13 201119.0 202735.3 211167.3 912.2733 0.9559399
## 14 209139.1 207697.1 211741.4 810.8250 0.9771580
## 15 216587.4 214337.7 212847.3 899.3642 1.0027651
## 16 227162.6 225611.8 214195.4 1033.9711 1.0482391
## 17 208067.7 206573.2 215525.2 1122.7326 0.9534972
## 18 215532.9 213667.6 216961.4 1216.7733 0.9793259
## 19 223374.8 221237.3 218559.2 1331.0566 1.0061260
## 20 234248.6 232982.4 220315.1 1458.5272 1.0505415
## 21 209046.7 213642.8 222014.7 1530.8424 0.9557014
## 22 179359.4 219809.9 222583.7 1242.2977 0.9820570
## 23 203148.9 216337.7 215588.1 -1229.0794 1.0092306
## 24 226345.0 220715.2 211745.4 -2013.1669 1.0523665
## 25 212016.1 198465.0 210802.2 -1692.1886 0.9490939
## 26 212786.4 194665.2 211965.6 -835.5117 0.9220158
## 27 230209.7 213099.5 215060.8 343.7174 0.9892991
## 28 251230.9 233660.7 218863.6 1381.4318 1.0609126
## 29 229390.2 219053.1 223557.3 2375.1136 0.9695517
## 30 238991.9 219289.7 228064.7 3014.8147 0.9489791
## 31 247215.4 242920.9 235231.8 4260.5048 1.0143159
## 32 256700.5 265926.4 240339.1 4514.5403 1.0860625
ECM1= mean(((Tabla$hw.x.5.36.- Tabla$hw.fitted.xhat)^2))
ECM1
## [1] 114428583
RMSE1= sqrt(ECM1)
RMSE1
## [1] 10697.13
forecast1=predict(hw, n.ahead = 4, prediction.interval = T, level = 0.95)
forecast1
## fit upr lwr
## 10 Q1 243218.8 254224.9 232212.6
## 10 Q2 245081.5 257366.1 232796.9
## 10 Q3 260281.3 274547.2 246015.3
## 10 Q4 278332.5 291223.5 265441.5
plot(hw, forecast1)
hw2=HoltWinters(x, seasonal = "multiplicative")
hw2
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
##
## Call:
## HoltWinters(x = x, seasonal = "multiplicative")
##
## Smoothing parameters:
## alpha: 0.8346345
## beta : 0
## gamma: 0.1585266
##
## Coefficients:
## [,1]
## a 2.435299e+05
## b 1.544006e+03
## s1 9.599268e-01
## s2 9.760999e-01
## s3 1.006674e+00
## s4 1.056698e+00
plot(hw2)
Valores óptimos
hw2$alpha
## alpha
## 0.8346345
hw2$beta
## beta
## 0
hw2$gamma
## gamma
## 0.1585266
hw$fitted
## xhat level trend season
## 2 Q1 188155.6 194498.1 1544.0061 0.9597711
## 2 Q2 194607.4 196680.0 1735.3584 0.9808081
## 2 Q3 201461.2 198862.1 1869.3818 1.0036356
## 2 Q4 214549.3 201202.3 2010.6516 1.0557851
## 3 Q1 197586.8 202891.7 1914.2557 0.9647513
## 3 Q2 202996.7 204427.0 1800.5647 0.9843335
## 3 Q3 209030.1 205818.2 1677.7592 1.0073939
## 3 Q4 219731.5 207093.2 1556.9308 1.0531099
## 4 Q1 201724.7 208273.2 1443.8588 0.9618897
## 4 Q2 206161.1 208909.4 1201.5680 0.9812012
## 4 Q3 211507.9 209571.3 1039.6515 1.0042592
## 4 Q4 221978.8 210415.3 980.9553 1.0500606
## 5 Q1 202735.3 211167.3 912.2733 0.9559399
## 5 Q2 207697.1 211741.4 810.8250 0.9771580
## 5 Q3 214337.7 212847.3 899.3642 1.0027651
## 5 Q4 225611.8 214195.4 1033.9711 1.0482391
## 6 Q1 206573.2 215525.2 1122.7326 0.9534972
## 6 Q2 213667.6 216961.4 1216.7733 0.9793259
## 6 Q3 221237.3 218559.2 1331.0566 1.0061260
## 6 Q4 232982.4 220315.1 1458.5272 1.0505415
## 7 Q1 213642.8 222014.7 1530.8424 0.9557014
## 7 Q2 219809.9 222583.7 1242.2977 0.9820570
## 7 Q3 216337.7 215588.1 -1229.0794 1.0092306
## 7 Q4 220715.2 211745.4 -2013.1669 1.0523665
## 8 Q1 198465.0 210802.2 -1692.1886 0.9490939
## 8 Q2 194665.2 211965.6 -835.5117 0.9220158
## 8 Q3 213099.5 215060.8 343.7174 0.9892991
## 8 Q4 233660.7 218863.6 1381.4318 1.0609126
## 9 Q1 219053.1 223557.3 2375.1136 0.9695517
## 9 Q2 219289.7 228064.7 3014.8147 0.9489791
## 9 Q3 242920.9 235231.8 4260.5048 1.0143159
## 9 Q4 265926.4 240339.1 4514.5403 1.0860625
hw$seasonal
## [1] "multiplicative"
Tabla2=data.frame(cbind(hw2$x[5:36], hw2$fitted))
Tabla2
## hw2.x.5.36. hw2.fitted.xhat hw2.fitted.level hw2.fitted.trend
## 1 191216.5 188155.6 194498.1 1544.006
## 2 196798.2 196404.8 198703.9 1544.006
## 3 203824.3 202861.6 200582.7 1544.006
## 4 212853.0 215877.8 202927.3 1544.006
## 5 195758.7 195514.8 202080.2 1544.006
## 6 200982.0 201449.1 203836.2 1544.006
## 7 207001.4 207303.2 204982.7 1544.006
## 8 217746.9 219331.5 206275.8 1544.006
## 9 197840.4 199829.1 206566.6 1544.006
## 10 203513.3 203933.7 206382.0 1544.006
## 11 210525.5 209890.4 207568.2 1544.006
## 12 220776.8 222839.9 209640.3 1544.006
## 13 201119.0 202642.8 209552.4 1544.006
## 14 209139.1 207247.0 209771.6 1544.006
## 15 216587.4 215284.9 212925.7 1544.006
## 16 227162.6 229022.6 215552.7 1544.006
## 17 208067.7 208430.9 215625.1 1544.006
## 18 215532.9 214243.2 216853.2 1544.006
## 19 223374.8 221913.7 219494.5 1544.006
## 20 234248.6 236040.6 222253.2 1544.006
## 21 209046.7 214903.4 222379.1 1544.006
## 22 179359.4 216216.2 218829.8 1544.006
## 23 203148.9 191351.7 189020.3 1544.006
## 24 226345.0 212917.8 200370.2 1544.006
## 25 212016.1 205312.1 212541.8 1544.006
## 26 212786.4 216154.1 219920.3 1544.006
## 27 230209.7 221377.8 218584.5 1544.006
## 28 251230.9 241861.3 227458.3 1544.006
## 29 229390.2 228389.1 236406.7 1544.006
## 30 238991.9 234504.7 238821.2 1544.006
## 31 247215.4 247392.8 244204.0 1544.006
## 32 256700.5 261279.5 245600.9 1544.006
## hw2.fitted.season
## 1 0.9597711
## 2 0.9808081
## 3 1.0036356
## 4 1.0557851
## 5 0.9601750
## 6 0.9808595
## 7 1.0037600
## 8 1.0553928
## 9 0.9602063
## 10 0.9807998
## 11 1.0037216
## 12 1.0551917
## 13 0.9599537
## 14 0.9807467
## 15 1.0038010
## 16 1.0549336
## 17 0.9597633
## 18 0.9809796
## 19 1.0039594
## 20 1.0547074
## 21 0.9597194
## 22 0.9811337
## 23 1.0041318
## 24 1.0544962
## 25 0.9590178
## 26 0.9760221
## 27 1.0056752
## 28 1.0561523
## 29 0.9598169
## 30 0.9756182
## 31 1.0066931
## 32 1.0571913
ECM2= mean(((Tabla2$hw2.x.5.36.- Tabla2$hw2.fitted.xhat)^2))
ECM2
## [1] 63308487
RMSE2= sqrt(ECM2)
RMSE2
## [1] 7956.663
forecast2=predict(hw2, n.ahead = 4, prediction.interval = T, level = 0.95)
forecast2
## fit upr lwr
## 10 Q1 235253.0 248892.5 221613.5
## 10 Q2 240723.7 259877.2 221570.2
## 10 Q3 249818.2 273574.6 226061.8
## 10 Q4 263863.8 288553.1 239174.6
plot(hw2, forecast2)
pronosticados <- c(235253.0, 240723.7, 249818.2, 263863.8)
reales = c(235649, 239690, 245408, 257486)
diferencia = reales - pronosticados
tabla_resultados = data.frame(
Trimestre = c("Trimestre 1", "Trimestre 2", "Trimestre 3", "Trimestre 4"),
Pronosticado = pronosticados,
Real = reales,
Diferencia = diferencia
)
tabla_resultados
## Trimestre Pronosticado Real Diferencia
## 1 Trimestre 1 235253.0 235649 396.0
## 2 Trimestre 2 240723.7 239690 -1033.7
## 3 Trimestre 3 249818.2 245408 -4410.2
## 4 Trimestre 4 263863.8 257486 -6377.8
Se observa que el PIB presenta una tendencia general de crecimiento en los trimestres analizados, siento el cuarto trimestre el que posee el mayor índice de estacionalidad (1.063), lo que indica que es el período más fuerte para la economía en términos de producción.
A través del método de Coeficientes de Variación se determinó que la serie temporal del PIB sigue un esquema Multiplicativo, ya que el Coeficiente de los cocientes fue menor al de las diferencias, esto sugiere que las variaciones estacionales y las de tendencia afectan de manera proporcional el nivel del PIB.
Con respecto a los valores reales Vs los pronosticados, se concluye que los valores pronosticados son mayores a los reales en los cuatros trimestres del año 10, siendo el trimestre IV el que presenta una mayor subestimación de 6377.8 miles de millones de pesos; no obstante, las diferencias entre los valores reales y pronosticados no son lo excesivamente grandes, es decir, el modelo a grandes rasgos tiene un buen desempeño predictivo.
Con respecto a los pronósticos generados, se observa una clara estacionalidad en los trimestres IV, ya que estos están alienados al comportamiento de los datos históricos, donde el cuarto trimestre tiende a tener un PIB más alto, lo que podría estar relacionado con el aumento significativo en el consumo provocado por las festividades de fin de año.
Por último, el modelo de Holt-Winters al ser ajustado con los parámetros óptimos proporcionó pronósticos más precisos, esto se detalla claramente en la gráfica número 3, adicional, los valores óptimos muestran que el modelo se adapta a las características de la serie temporal del PIB. Por otro lado, el valor de β igual a cero indica que no hay una tendencia significativa en la serie temporal, en este caso el PIB estará más influenciado por factores estacionales y aleatorios.