R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

library(fpp2)
## Loading required package: ggplot2
## Loading required package: forecast
## Loading required package: fma
## Loading required package: expsmooth

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

four<-ses(pigs, h=4)
summary(four)
## 
## Forecast method: Simple exponential smoothing
## 
## Model Information:
## Simple exponential smoothing 
## 
## Call:
##  ses(y = pigs, h = 4) 
## 
##   Smoothing parameters:
##     alpha = 0.2971 
## 
##   Initial states:
##     l = 77260.0561 
## 
##   sigma:  10308.58
## 
##      AIC     AICc      BIC 
## 4462.955 4463.086 4472.665 
## 
## Error measures:
##                    ME    RMSE      MAE       MPE     MAPE      MASE
## Training set 385.8721 10253.6 7961.383 -0.922652 9.274016 0.7966249
##                    ACF1
## Training set 0.01282239
## 
## Forecasts:
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## Sep 1995       98816.41 85605.43 112027.4 78611.97 119020.8
## Oct 1995       98816.41 85034.52 112598.3 77738.83 119894.0
## Nov 1995       98816.41 84486.34 113146.5 76900.46 120732.4
## Dec 1995       98816.41 83958.37 113674.4 76092.99 121539.8
  1. alpha= 0.2971 l= 77260.0561
#b. at 95% prediction interval

four$upper[1, "95%"]
##      95% 
## 119020.8
four$lower[1, "95%"]
##      95% 
## 78611.97
s <- sd(four$residuals)
four$mean[1] + 1.96*s
## [1] 118952.8
four$mean[1] - 1.96*s
## [1] 78679.97
autoplot(four)+
  autolayer(four$fitted)

#7.8.2
SES20<-function(ts,alpha,l_0){
N<-length(ts)
y_hat<-alpha*(ts[N])
for (i in 1:20) {
y_hat<-y_hat + alpha*((1-alpha)^i)*ts[N-i]
}
y_hat2<-y_hat+(1-alpha)^21*l_0
return(y_hat2)
}
SES20(pigs,0.2971,77258)
## [1] 98803.69
#7.8.3
SES <- function(pars = c(alpha,l0), y){
  error <- 0
  SSE <- 0
  alpha <- pars[1]
  l0 <- pars[2]
  y_hat <- l0
  
  for(index in 1:length(y)){
    error <- y[index] - y_hat
    SSE <- SSE + error^2
    
    y_hat <- alpha*y[index] + (1 - alpha)*y_hat 
  }
  
  return(SSE)
}
opt_SES_pigs <- optim(par = c(0.5, pigs[1]), y = pigs, fn = SES)
writeLines(paste(
  "Optimal parameters for the result of SES function: ",
  "\n",
  as.character(opt_SES_pigs$par[1]),
  ", ",
  as.character(opt_SES_pigs$par[2]),
  sep = ""
  ))
## Optimal parameters for the result of SES function: 
## 0.299008094014243, 76379.2653476235
#7.8.4
Forecast_Func<-function(ts,l_0) {

alpha<-as.numeric(optim(0.5,RSS_Function, method="Brent", lower =0.2, upper = 0.8))

y_hat<-SES_Func20(ts,alpha,l_0)  

return(y_hat)
}
#7.8.5
#a
plot(books)

#b
back<-books[,1]
cover<-books[,2]

ses_back<-ses(back,h=4)
autoplot(ses_back)

accuracy(ses_back)
##                    ME     RMSE     MAE       MPE     MAPE      MASE
## Training set 7.175981 33.63769 27.8431 0.4736071 15.57784 0.7021303
##                    ACF1
## Training set -0.2117522
ses_cover<-ses(cover,h=4)
autoplot(ses_cover)

accuracy(ses_cover)
##                    ME     RMSE      MAE      MPE     MAPE      MASE
## Training set 9.166735 31.93101 26.77319 2.636189 13.39487 0.7987887
##                    ACF1
## Training set -0.1417763
#7.8.6
back<-ts(books[,1], frequency=7)
cover<-ts(books[,2], frequency=7)
hw_back<-hw(back,h=4)
hw_cover<-hw(cover,h=4)
hw_back
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 5.285714       219.3449 170.7952 267.8947 145.0945 293.5954
## 5.428571       200.8921 152.3424 249.4419 126.6417 275.1426
## 5.571429       206.6405 158.0907 255.1903 132.3900 280.8910
## 5.714286       203.0517 154.5019 251.6015 128.8012 277.3022
hw_cover
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 5.285714       219.7170 174.4902 264.9438 150.5486 288.8855
## 5.428571       236.3420 190.9795 281.7046 166.9661 305.7180
## 5.571429       217.0727 171.4123 262.7331 147.2412 286.9043
## 5.714286       217.7323 171.5523 263.9124 147.1061 288.3586
#7.8.6 b
accuracy(hw_back)
##                     ME     RMSE     MAE       MPE     MAPE      MASE
## Training set -3.603653 30.14861 24.4062 -5.259677 14.75415 0.6690616
##                    ACF1
## Training set -0.1478474
accuracy(hw_cover)
##                     ME     RMSE      MAE       MPE     MAPE      MASE
## Training set -5.564707 28.08511 24.01086 -4.733864 13.14081 0.6275567
##                   ACF1
## Training set 0.0461953
summary(ses_back)
## 
## Forecast method: Simple exponential smoothing
## 
## Model Information:
## Simple exponential smoothing 
## 
## Call:
##  ses(y = back, h = 4) 
## 
##   Smoothing parameters:
##     alpha = 0.1685 
## 
##   Initial states:
##     l = 170.8271 
## 
##   sigma:  34.8183
## 
##      AIC     AICc      BIC 
## 318.9747 319.8978 323.1783 
## 
## Error measures:
##                    ME     RMSE     MAE       MPE     MAPE      MASE
## Training set 7.175981 33.63769 27.8431 0.4736071 15.57784 0.7021303
##                    ACF1
## Training set -0.2117522
## 
## Forecasts:
##    Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 31       207.1097 162.4882 251.7311 138.8670 275.3523
## 32       207.1097 161.8589 252.3604 137.9046 276.3147
## 33       207.1097 161.2382 252.9811 136.9554 277.2639
## 34       207.1097 160.6259 253.5935 136.0188 278.2005
summary(hw_back)
## 
## Forecast method: Holt-Winters' additive method
## 
## Model Information:
## Holt-Winters' additive method 
## 
## Call:
##  hw(y = back, h = 4) 
## 
##   Smoothing parameters:
##     alpha = 1e-04 
##     beta  = 1e-04 
##     gamma = 1e-04 
## 
##   Initial states:
##     l = 170.3419 
##     b = 1.2648 
##     s = 8.37 -9.9121 -5.0689 -9.5644 10.1493 16.1244
##            -10.0984
## 
##   sigma:  37.8836
## 
##      AIC     AICc      BIC 
## 330.4043 348.7572 347.2186 
## 
## Error measures:
##                     ME     RMSE     MAE       MPE     MAPE      MASE
## Training set -3.603653 30.14861 24.4062 -5.259677 14.75415 0.6690616
##                    ACF1
## Training set -0.1478474
## 
## Forecasts:
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 5.285714       219.3449 170.7952 267.8947 145.0945 293.5954
## 5.428571       200.8921 152.3424 249.4419 126.6417 275.1426
## 5.571429       206.6405 158.0907 255.1903 132.3900 280.8910
## 5.714286       203.0517 154.5019 251.6015 128.8012 277.3022
#7.8.7
plot(eggs)

holt.fit.1<-holt(eggs, h=100)
holt.fit.2<-holt(eggs,damped = TRUE,h=100)
holt.fit.3<-holt(eggs, lambda=TRUE,h=100)
holt.fit.4<-holt(eggs, exponential=TRUE,h=100)
accuracy(holt.fit.1)
##                      ME     RMSE      MAE       MPE     MAPE      MASE
## Training set 0.04499087 26.58219 19.18491 -1.142201 9.653791 0.9463626
##                    ACF1
## Training set 0.01348202
accuracy(holt.fit.2)
##                     ME     RMSE     MAE       MPE     MAPE      MASE
## Training set -2.891496 26.54019 19.2795 -2.907633 10.01894 0.9510287
##                      ACF1
## Training set -0.003195358
accuracy(holt.fit.3)
##                     ME     RMSE      MAE       MPE     MAPE      MASE
## Training set 0.1738591 26.55504 19.17203 -1.071461 9.643989 0.9457274
##                    ACF1
## Training set 0.01303552
accuracy(holt.fit.4)
##                     ME     RMSE      MAE       MPE     MAPE      MASE
## Training set 0.4918791 26.49795 19.29399 -1.263235 9.766049 0.9517436
##                   ACF1
## Training set 0.0103908
plot(holt.fit.1)

plot(holt.fit.2)

plot(holt.fit.3)

plot(holt.fit.4)

#7.8.8
retail<-readxl::read_excel("retail.xlsx",skip = 1)
retailts<-ts(retail[,"A3349873A"], frequency=12, start=c(1982,4))
plot(retailts)

retailts.train<-window(retailts, end=c(2009,12))
retailts.test<-window(retailts, start=c(2010,1))
retailhw1<-hw(retailts.train,seasonal="multiplicative", h=60)
retailhw2<-hw(retailts.train,seasonal="additive",h=60)
retailhw3<-hw(retailts.train,seasonal="multiplicative",damped=TRUE,h=60)

accuracy(retailhw1,retailts.test)
##                       ME      RMSE       MAE         MPE      MAPE
## Training set  0.03312649  8.679793  6.297394 -0.07745827  3.183644
## Test set     43.13333548 69.669594 47.836904 10.49023170 12.065801
##                   MASE      ACF1 Theil's U
## Training set 0.4029629 0.1828680        NA
## Test set     3.0610279 0.6072942  1.239491
accuracy(retailhw2,retailts.test)
##                       ME     RMSE       MAE        MPE     MAPE      MASE
## Training set  0.09848414 12.26419  8.920136  0.1651696  5.18413 0.5707891
## Test set     54.93056184 77.47259 56.772866 14.0249898 14.60927 3.6328297
##                   ACF1 Theil's U
## Training set 0.2041628        NA
## Test set     0.6338326  1.384483

The model 2(additive seasonal) has best RMSE. Noticeably, the multiplicative seasonality has better performance.

plot(residuals(retailhw3))

retailnaive<-snaive(retailts.train,h=60)
accuracy(retailnaive, retailts.test)
##                     ME     RMSE      MAE      MPE      MAPE     MASE
## Training set  8.989097 19.91337 15.62773 5.225943  8.065561 1.000000
## Test set     36.550000 75.60881 53.19167 7.444784 13.661888 3.403673
##                   ACF1 Theil's U
## Training set 0.6955129        NA
## Test set     0.7530677  1.321406
accuracy(retailhw2, retailts.test)
##                       ME     RMSE       MAE        MPE     MAPE      MASE
## Training set  0.09848414 12.26419  8.920136  0.1651696  5.18413 0.5707891
## Test set     54.93056184 77.47259 56.772866 14.0249898 14.60927 3.6328297
##                   ACF1 Theil's U
## Training set 0.2041628        NA
## Test set     0.6338326  1.384483
#7.8.9
lambda1 <- BoxCox.lambda(retailts.train)
retailBoxCox<-BoxCox(retailts.train,lambda1)
retail_dec<-decompose(retailBoxCox)
names(retail_dec)
## [1] "x"        "seasonal" "trend"    "random"   "figure"   "type"
retail_seasadj<-retail_dec$x-retail_dec$seasonal
retail_ets<-ets(retail_seasadj,model="ZZZ")
forecast_ets<-forecast(retail_ets,h=60, lambda=lambda1)
## Warning in forecast.ets(retail_ets, h = 60, lambda = lambda1): biasadj
## information not found, defaulting to FALSE.
retail_dec2<-decompose(retailts.test)
retailts.test2<-retail_dec2$x-retail_dec2$seasonal

accuracy(forecast_ets,retailts.test2)
##                        ME       RMSE         MAE         MPE       MAPE
## Training set 2.690615e-05  0.1079647  0.08363068 0.003710745  0.9628989
## Test set     3.490087e+01 54.4623986 40.13405534 8.489566842 10.6288750
##                     MASE       ACF1 Theil's U
## Training set   0.3807015 0.02236461        NA
## Test set     182.6972487 0.81233004  1.926457
#7.8.10
plot(ukcars)

ukcars %>%
  stl(t.window=13, s.window="periodic", robust=TRUE) %>%
  autoplot()

ukcars_dec<-stl(ukcars, t.window=13, s.window="periodic") 
ukcars_seasadj<-seasadj(ukcars_dec)

ukcars_stl <- stlf(ukcars_seasadj, etsmodel="AAN", damped=TRUE)
forecast_stl<-forecast(ukcars_stl, h=8)
forecast_stl
##         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 2005 Q2       393.9646 363.3934 424.5359 347.2099 440.7193
## 2005 Q3       409.1837 371.7994 446.5680 352.0093 466.3581
## 2005 Q4       402.1377 359.0020 445.2734 336.1673 468.1080
## 2006 Q1       407.3694 359.1626 455.5761 333.6435 481.0953
## 2006 Q2       393.9608 341.1669 446.7546 313.2195 474.7020
## 2006 Q3       409.1801 352.1663 466.1940 321.9850 496.3753
## 2006 Q4       402.1344 341.1914 463.0774 308.9301 495.3387
## 2007 Q1       407.3663 342.7320 472.0007 308.5166 506.2161
ukcars_hw<-hw(ukcars_seasadj,damped=FALSE,h=8)
ukcars_hw
##         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 2005 Q2       407.0401 373.0884 440.9918 355.1154 458.9647
## 2005 Q3       406.1863 366.3354 446.0372 345.2396 467.1330
## 2005 Q4       400.9668 355.9822 445.9513 332.1688 469.7647
## 2006 Q1       405.5415 355.9505 455.1325 329.6985 481.3844
## 2006 Q2       405.2050 351.3955 459.0146 322.9105 487.4996
## 2006 Q3       404.3513 346.6329 462.0696 316.0787 492.6239
## 2006 Q4       399.1317 337.7518 460.5116 305.2593 493.0042
## 2007 Q1       403.7064 338.8703 468.5425 304.5482 502.8647
ukcars_ets<-ets(ukcars,model="ZZZ")
summary(ukcars_ets)
## ETS(A,N,A) 
## 
## Call:
##  ets(y = ukcars, model = "ZZZ") 
## 
##   Smoothing parameters:
##     alpha = 0.6199 
##     gamma = 1e-04 
## 
##   Initial states:
##     l = 314.2568 
##     s = -1.7579 -44.9601 21.1956 25.5223
## 
##   sigma:  25.9302
## 
##      AIC     AICc      BIC 
## 1277.752 1278.819 1296.844 
## 
## Training set error measures:
##                    ME     RMSE      MAE        MPE     MAPE      MASE
## Training set 1.313884 25.23244 20.17907 -0.1570979 6.629003 0.6576259
##                    ACF1
## Training set 0.02573334
accuracy(ukcars_stl)
##                    ME     RMSE      MAE        MPE     MAPE     MASE
## Training set 1.551267 23.32113 18.48987 0.07744825 5.953142 0.602576
##                    ACF1
## Training set 0.02262669
accuracy(ukcars_ets)
##                    ME     RMSE      MAE        MPE     MAPE      MASE
## Training set 1.313884 25.23244 20.17907 -0.1570979 6.629003 0.6576259
##                    ACF1
## Training set 0.02573334
accuracy(ukcars_hw)
##                    ME     RMSE      MAE         MPE     MAPE      MASE
## Training set 1.706018 25.53765 20.42416 0.006759593 6.554833 0.6656134
##                    ACF1
## Training set 0.01923024
accuracy(ukcars_ets)
##                    ME     RMSE      MAE        MPE     MAPE      MASE
## Training set 1.313884 25.23244 20.17907 -0.1570979 6.629003 0.6576259
##                    ACF1
## Training set 0.02573334
plot(ukcars_stl)

plot(ukcars_hw)

ukcars_ets%>% forecast(h=8)%>% 
  autoplot()

plot(residuals(ukcars_stl))

#7.8.11
plot(visitors)

visitors.train<-window(visitors,end=c(2003,3))
visitors.test<-window(visitors, start=c(2003,4))
visitors.hw.1<-hw(visitors.train, seasonal="multiplicative", h=24)
visitors.hw.2<-hw(visitors.train, seasonal="additive", h=24)
summary(visitors.hw.1)
## 
## Forecast method: Holt-Winters' multiplicative method
## 
## Model Information:
## Holt-Winters' multiplicative method 
## 
## Call:
##  hw(y = visitors.train, h = 24, seasonal = "multiplicative") 
## 
##   Smoothing parameters:
##     alpha = 0.3117 
##     beta  = 0.009 
##     gamma = 1e-04 
## 
##   Initial states:
##     l = 91.0534 
##     b = 2.7798 
##     s = 0.9487 1.0527 1.0825 0.9767 1.2996 1.0686
##            1.0219 0.9034 0.9371 1.0435 0.8581 0.8073
## 
##   sigma:  0.0579
## 
##      AIC     AICc      BIC 
## 2321.496 2324.603 2378.797 
## 
## Error measures:
##                     ME     RMSE      MAE       MPE     MAPE      MASE
## Training set -1.168029 13.94351 10.54188 -0.796836 4.379876 0.4050657
##                  ACF1
## Training set 0.229957
## 
## Forecasts:
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## Apr 2003       375.4894 347.6254 403.3535 332.8751 418.1038
## May 2003       319.8518 294.9234 344.7803 281.7271 357.9766
## Jun 2003       340.2708 312.4739 368.0677 297.7592 382.7824
## Jul 2003       414.1402 378.7445 449.5359 360.0071 468.2732
## Aug 2003       372.2776 339.0439 405.5113 321.4510 423.1042
## Sep 2003       359.1889 325.7478 392.6300 308.0451 410.3326
## Oct 2003       406.6936 367.2605 446.1266 346.3860 467.0012
## Nov 2003       425.6709 382.7433 468.5986 360.0187 491.3231
## Dec 2003       518.1440 463.8615 572.4264 435.1261 601.1619
## Jan 2004       389.7493 347.3799 432.1186 324.9509 454.5476
## Feb 2004       432.3604 383.6397 481.0811 357.8486 506.8722
## Mar 2004       420.8381 371.7298 469.9463 345.7334 495.9427
## Apr 2004       379.5968 333.7679 425.4257 309.5075 449.6861
## May 2004       323.3474 282.9943 363.7006 261.6326 385.0622
## Jun 2004       343.9862 299.6476 388.3248 276.1761 411.7962
## Jul 2004       418.6580 362.9657 474.3503 333.4840 503.8320
## Aug 2004       376.3351 324.7072 427.9629 297.3771 455.2931
## Sep 2004       363.1001 311.7662 414.4341 284.5916 441.6086
## Oct 2004       411.1181 351.2599 470.9764 319.5728 502.6634
## Nov 2004       430.2977 365.8171 494.7784 331.6831 528.9123
## Dec 2004       523.7708 443.0396 604.5019 400.3031 647.2384
## Jan 2005       393.9780 331.5528 456.4031 298.5069 489.4490
## Feb 2005       437.0472 365.8991 508.1953 328.2355 545.8588
## Mar 2005       425.3958 354.2835 496.5081 316.6389 534.1527
summary(visitors.hw.2)
## 
## Forecast method: Holt-Winters' additive method
## 
## Model Information:
## Holt-Winters' additive method 
## 
## Call:
##  hw(y = visitors.train, h = 24, seasonal = "additive") 
## 
##   Smoothing parameters:
##     alpha = 0.3572 
##     beta  = 1e-04 
##     gamma = 0.3038 
## 
##   Initial states:
##     l = 100.7716 
##     b = 1.3612 
##     s = -12.8811 11.8535 21.6314 -1.3634 70.2383 23.889
##            0.8034 -29.2781 -14.3263 19.1324 -35.1653 -54.5338
## 
##   sigma:  17.4152
## 
##      AIC     AICc      BIC 
## 2400.717 2403.824 2458.018 
## 
## Error measures:
##                        ME     RMSE      MAE        MPE     MAPE      MASE
## Training set -0.004233193 16.75463 12.44389 -0.1230564 5.086852 0.4781491
##                   ACF1
## Training set 0.1383231
## 
## Forecasts:
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## Apr 2003       372.0116 349.6932 394.3300 337.8785 406.1447
## May 2003       322.8595 299.1592 346.5598 286.6131 359.1060
## Jun 2003       347.8981 322.8914 372.9047 309.6537 386.1424
## Jul 2003       425.4986 399.2499 451.7474 385.3547 465.6426
## Aug 2003       376.7669 349.3316 404.2022 334.8082 418.7255
## Sep 2003       372.9494 344.3762 401.5227 329.2504 416.6484
## Oct 2003       415.8307 386.1625 445.4988 370.4571 461.2042
## Nov 2003       427.5830 396.8583 458.3078 380.5936 474.5725
## Dec 2003       526.6570 494.9103 558.4037 478.1047 575.2094
## Jan 2004       393.4376 360.7003 426.1749 343.3702 443.5050
## Feb 2004       435.1237 401.4243 468.8231 383.5850 486.6624
## Mar 2004       422.8658 388.2306 457.5010 369.8958 475.8358
## Apr 2004       388.3453 350.6887 426.0019 330.7545 445.9361
## May 2004       339.1933 300.6960 377.6905 280.3167 398.0698
## Jun 2004       364.2318 324.9113 403.5523 304.0963 424.3673
## Jul 2004       441.8323 401.7051 481.9596 380.4630 503.2017
## Aug 2004       393.1006 352.1820 434.0191 330.5211 455.6801
## Sep 2004       389.2831 347.5879 430.9784 325.5157 453.0505
## Oct 2004       432.1644 389.7062 474.6226 367.2302 497.0986
## Nov 2004       443.9168 400.7087 487.1248 377.8357 509.9978
## Dec 2004       542.9907 499.0452 586.9363 475.7818 610.1997
## Jan 2005       409.7713 365.1000 454.4426 341.4525 478.0902
## Feb 2005       451.4574 406.0716 496.8432 382.0458 520.8690
## Mar 2005       439.1995 393.1099 485.2892 368.7115 509.6876
accuracy(visitors.hw.1,visitors.test)
##                     ME     RMSE      MAE       MPE     MAPE      MASE
## Training set -1.168029 13.94351 10.54188 -0.796836 4.379876 0.4050657
## Test set     25.483077 43.44203 38.39889  4.701048 9.079458 1.4754545
##                   ACF1 Theil's U
## Training set 0.2299570        NA
## Test set     0.7329165 0.6098141
accuracy(visitors.hw.2,visitors.test)
##                        ME     RMSE      MAE        MPE     MAPE      MASE
## Training set -0.004233193 16.75463 12.44389 -0.1230564 5.086852 0.4781491
## Test set     14.080474658 34.59061 28.80004  2.0421678 6.936486 1.1066244
##                   ACF1 Theil's U
## Training set 0.1383231        NA
## Test set     0.7421990 0.4989765
visitors.ets.1<-ets(visitors.train,model="ZZZ")
lambda1<-BoxCox.lambda(visitors)
visitors.ets.2<-ets(visitors.train,additive.only = TRUE,lambda=lambda1)
visitors.naive<-snaive(visitors.train, h=24)
forecast.ets.visitors.1<-forecast(visitors.ets.1, h=24)
forecast.ets.visitors.2<-forecast(visitors.ets.2, h=24,lambda=lambda1, biasadj = FALSE)

accuracy(visitors.hw.1,visitors.test)
##                     ME     RMSE      MAE       MPE     MAPE      MASE
## Training set -1.168029 13.94351 10.54188 -0.796836 4.379876 0.4050657
## Test set     25.483077 43.44203 38.39889  4.701048 9.079458 1.4754545
##                   ACF1 Theil's U
## Training set 0.2299570        NA
## Test set     0.7329165 0.6098141
accuracy(visitors.hw.1, visitors.test)
##                     ME     RMSE      MAE       MPE     MAPE      MASE
## Training set -1.168029 13.94351 10.54188 -0.796836 4.379876 0.4050657
## Test set     25.483077 43.44203 38.39889  4.701048 9.079458 1.4754545
##                   ACF1 Theil's U
## Training set 0.2299570        NA
## Test set     0.7329165 0.6098141
accuracy(forecast.ets.visitors.1,visitors.test)
##                      ME     RMSE      MAE      MPE      MAPE      MASE
## Training set  0.9975362 14.15516 10.38735 0.170711  3.968778 0.3991278
## Test set     40.8135506 55.34445 50.13764 8.354402 11.584727 1.9265092
##                     ACF1 Theil's U
## Training set -0.05312583        NA
## Test set      0.70655738  0.776453
accuracy(forecast.ets.visitors.2,visitors.test)
##                     ME     RMSE      MAE       MPE      MAPE      MASE
## Training set  1.095075 13.99812 10.30181 0.2205555  3.918417 0.3958409
## Test set     36.272693 53.81684 48.10588 7.0725789 11.142022 1.8484401
##                     ACF1 Theil's U
## Training set -0.01504772        NA
## Test set      0.70744597 0.7560635
accuracy(visitors.naive, visitors.test)
##                    ME     RMSE      MAE      MPE     MAPE     MASE
## Training set 17.56995 31.11383 26.02512 7.287326 10.27718 1.000000
## Test set     25.97083 45.49840 38.57917 4.841172  9.16874 1.482382
##                   ACF1 Theil's U
## Training set 0.6175714        NA
## Test set     0.6618701 0.6470134
summary(visitors.ets.1)
## ETS(M,Ad,M) 
## 
## Call:
##  ets(y = visitors.train, model = "ZZZ") 
## 
##   Smoothing parameters:
##     alpha = 0.612 
##     beta  = 0.0015 
##     gamma = 1e-04 
##     phi   = 0.98 
## 
##   Initial states:
##     l = 87.803 
##     b = 3.0051 
##     s = 0.9464 1.0516 1.0779 0.9676 1.3224 1.0881
##            1.0303 0.8898 0.9384 1.024 0.8504 0.813
## 
##   sigma:  0.0536
## 
##      AIC     AICc      BIC 
## 2284.946 2288.435 2345.617 
## 
## Training set error measures:
##                     ME     RMSE      MAE      MPE     MAPE      MASE
## Training set 0.9975362 14.15516 10.38735 0.170711 3.968778 0.3991278
##                     ACF1
## Training set -0.05312583
cbind('Residuals' = residuals(visitors.ets.1),'Forecast errors' = residuals(visitors.ets.1, type='response')) %>%  autoplot(facet=TRUE)

summary(visitors.ets.2)
## ETS(A,Ad,A) 
## 
## Call:
##  ets(y = visitors.train, additive.only = TRUE, lambda = lambda1) 
## 
##   Box-Cox transformation: lambda= 0.2775 
## 
##   Smoothing parameters:
##     alpha = 0.5112 
##     beta  = 0.0035 
##     gamma = 1e-04 
##     phi   = 0.9791 
## 
##   Initial states:
##     l = 8.9965 
##     b = 0.0813 
##     s = -0.2352 0.2885 0.4003 -0.1155 1.3693 0.4098
##            0.1483 -0.5029 -0.2755 0.1557 -0.7212 -0.9216
## 
##   sigma:  0.2424
## 
##      AIC     AICc      BIC 
## 563.5671 567.0569 624.2386 
## 
## Training set error measures:
##                    ME     RMSE      MAE       MPE     MAPE      MASE
## Training set 1.095075 13.99812 10.30181 0.2205555 3.918417 0.3958409
##                     ACF1
## Training set -0.01504772
#7.8.12

fets <- function(y, h) {
  forecast(ets(y), h = h)
}

str(cement)
## 'data.frame':    10 obs. of  4 variables:
##  $ pc1 : int  7 11 11 3 2 3 21 1 11 10
##  $ pc2 : int  26 52 55 71 31 54 47 40 66 68
##  $ pc3 : int  60 20 22 6 44 22 26 34 12 14
##  $ heat: int  78 104 109 102 74 93 115 83 113 109
#7.8.13
plot(ausbeer)

plot(dole)

plot(usmelec)

aus.train<-window(ausbeer, end=c(2006,4))
aus.test<-window(ausbeer,start=c(2007,1)) # h=14


dole.train<-window(dole, end=c(1988,12))
dole.test<-window(dole,start=c(1989,1))   #h=45


usme.train<-window(usmelec,end=c(2009,12))
usme.test<-window(usmelec,start=c(2010,1))  #h=42
aus_ets<-ets(aus.train, model="ZZZ")
aus_ets_forecast<-forecast(aus_ets,h=14)
aus_naive<-snaive(aus.train,h=14)
aus_stlf<-stlf(aus.train)
aus_stlf_forecast<-forecast(aus_stlf)
accuracy(aus_ets_forecast, aus.test)
##                     ME      RMSE       MAE         MPE     MAPE      MASE
## Training set -0.319992 15.853070 12.065887 -0.05809161 2.884359 0.7579075
## Test set     -3.171282  9.351618  7.954717 -0.78378344 1.929371 0.4996682
##                    ACF1 Theil's U
## Training set -0.1948317        NA
## Test set      0.3750488  0.188533
accuracy(aus_naive,aus.test)
##                 ME     RMSE   MAE        MPE     MAPE      MASE
## Training set  3.44 19.75171 15.92  0.9302419 3.792287 1.0000000
## Test set     -6.50 13.48809 11.50 -1.5298792 2.758667 0.7223618
##                      ACF1 Theil's U
## Training set 0.0007894127        NA
## Test set     0.1614676553 0.2517655
dole_ets<-ets(dole.train, model="ZZZ")
dole_ets_forecast<-forecast(dole_ets,h=45)
dole_naive<-snaive(dole.train,h=45)
dole_stlf<-stlf(dole.train)
dole_stlf_forecast<-forecast(dole_stlf)
accuracy(dole_ets_forecast,dole.test)
##                       ME      RMSE        MAE        MPE      MAPE
## Training set    286.4035  16253.52   9356.103  0.6235923  6.284724
## Test set     114903.7122 206068.55 156819.507 13.5423589 24.209649
##                   MASE      ACF1 Theil's U
## Training set 0.3062978 0.5050961        NA
## Test set     5.1339179 0.9483913  8.411554
accuracy(dole_naive,dole.test)
##                    ME      RMSE       MAE      MPE     MAPE     MASE
## Training set 14337.50  55786.85  30545.78 3.782368 27.87116 1.000000
## Test set     80642.42 188752.67 150555.30 6.793096 24.54455 4.928842
##                   ACF1 Theil's U
## Training set 0.9780301        NA
## Test set     0.9416940  8.055767
accuracy(dole_stlf_forecast,dole.test)
##                      ME      RMSE       MAE       MPE     MAPE      MASE
## Training set   262.1893  6415.863  3906.868 0.5662568 5.047711 0.1279021
## Test set     34700.9117 64897.523 41559.448 7.5363989 9.224062 1.3605629
##                    ACF1 Theil's U
## Training set 0.01954554        NA
## Test set     0.82705529  4.048408
accuracy(dole_naive,dole.test)
##                    ME      RMSE       MAE      MPE     MAPE     MASE
## Training set 14337.50  55786.85  30545.78 3.782368 27.87116 1.000000
## Test set     80642.42 188752.67 150555.30 6.793096 24.54455 4.928842
##                   ACF1 Theil's U
## Training set 0.9780301        NA
## Test set     0.9416940  8.055767
accuracy(dole_stlf_forecast,dole.test)
##                      ME      RMSE       MAE       MPE     MAPE      MASE
## Training set   262.1893  6415.863  3906.868 0.5662568 5.047711 0.1279021
## Test set     34700.9117 64897.523 41559.448 7.5363989 9.224062 1.3605629
##                    ACF1 Theil's U
## Training set 0.01954554        NA
## Test set     0.82705529  4.048408
usme_ets<-ets(usme.train, model="ZZZ")
usme_ets_forecast<-forecast(usme_ets,h=42)
usme_naive<-snaive(usme.train,h=42)
usme_stlf<-stlf(usme.train)
usme_stlf_forecast<-forecast(usme_stlf)
accuracy(usme_ets_forecast, usme.test)
##                      ME      RMSE       MAE        MPE     MAPE      MASE
## Training set -0.3233611  7.361392  5.550551 -0.2077098 2.163917 0.6198568
## Test set     -2.8406593 12.538445 10.972088 -1.0283010 3.212967 1.2253060
##                   ACF1 Theil's U
## Training set 0.2198296        NA
## Test set     0.5833262 0.3804194
accuracy(usme_naive, usme.test)
##                     ME     RMSE       MAE      MPE     MAPE     MASE
## Training set  4.829338 11.51969  8.954569 1.982171 3.511343 1.000000
## Test set     11.300452 17.41153 13.902881 3.134109 3.909850 1.552602
##                   ACF1 Theil's U
## Training set 0.4897138        NA
## Test set     0.4684781 0.5151141
accuracy(usme_naive, usme.test)
##                     ME     RMSE       MAE      MPE     MAPE     MASE
## Training set  4.829338 11.51969  8.954569 1.982171 3.511343 1.000000
## Test set     11.300452 17.41153 13.902881 3.134109 3.909850 1.552602
##                   ACF1 Theil's U
## Training set 0.4897138        NA
## Test set     0.4684781 0.5151141
accuracy(usme_stlf_forecast, usme.test)
##                     ME      RMSE      MAE         MPE     MAPE      MASE
## Training set -0.121039  6.282523 4.763357 -0.07981766 1.871810 0.5319471
## Test set      4.084272 11.502876 9.621899  0.94401280 2.712713 1.0745239
##                   ACF1 Theil's U
## Training set 0.1231443        NA
## Test set     0.4578431 0.3141683
#7.8.14
plot(bicoal)

plot(usdeaths)

plot(chicken)

bicoal.train<-window(bicoal, end=1960)
bicoal.test<-window(bicoal, start=1961) #h=8

usdeaths.train<-window(usdeaths, end=c(1977,12))
usdeaths.test<-window(usdeaths, start=c(1978,1)) #h=12

chicken.train<-window(chicken,end=1980)
chicken.test<-window(chicken,start=1981) #h=13
bicoal_ets<-ets(bicoal.train,model="ZZZ")
bicoal_forecast<-forecast(bicoal_ets,h=8)

usdeaths_ets<-ets(usdeaths.train,model="ZZZ")
usdeaths_forecast<-forecast(usdeaths_ets,h=12)
chicken_ets<-ets(chicken.train,model="ZZZ")
chicken_forecast<-forecast(chicken_ets,h=13)
accuracy(bicoal_forecast, bicoal.test)
##                     ME     RMSE      MAE      MPE     MAPE      MASE
## Training set -3.805439 63.87826 51.04452 -1.96557 11.17649 0.9887558
## Test set     70.903078 88.81545 74.11481 13.48681 14.28377 1.4356379
##                    ACF1 Theil's U
## Training set 0.03003346        NA
## Test set     0.67049427  3.245562
accuracy(usdeaths_forecast, usdeaths.test)
##                     ME     RMSE      MAE        MPE     MAPE      MASE
## Training set -14.85285 272.6890 213.7551 -0.2353577 2.458059 0.4429202
## Test set      85.10533 287.5045 230.3403  0.7354276 2.666663 0.4772862
##                    ACF1 Theil's U
## Training set 0.01641296        NA
## Test set     0.45856305 0.4025647
accuracy(chicken_forecast, chicken.test)
##                     ME     RMSE       MAE        MPE     MAPE      MASE
## Training set -2.472234 14.76320 11.167939  -5.119918 12.85493 0.9886100
## Test set     -2.779313  3.82187  3.305205 -19.925965 22.34958 0.2925839
##                     ACF1 Theil's U
## Training set 0.001760161        NA
## Test set     0.428736690  1.259369

8.11.1

The first graph

White noise series: 36 numbers and ACF implies that it is a white noise. The 4th and 12th lags have some autocorrelations while there are inside blue lines.

The second graph

White noise series: 360 numbers and the 2th and 6th lags have some autocorrelations.

The third graph

ACF for a white noise series of 1000 numbers. All of them inside blue lines

#8.11.2
tsdisplay(ibmclose)

#8.11.3
lambda1<- BoxCox.lambda(usnetelec)
lambda1
## [1] 0.5167714
usnetelec.bc<-BoxCox(usnetelec,lambda1)
tsdisplay(usnetelec.bc)

lambdagdp<-BoxCox.lambda(usgdp)
lambdagdp
## [1] 0.366352
gdp_BoxCox<- BoxCox(usgdp, lambdagdp)
plot(gdp_BoxCox)

ggAcf(gdp_BoxCox)

ggPacf(gdp_BoxCox)

lambdamcopper<- BoxCox.lambda(mcopper)
lambdamcopper
## [1] 0.1919047
mcopper_boxcox<- BoxCox(mcopper,lambdamcopper)
tsdisplay(mcopper_boxcox)

lambdaenplanments<-BoxCox.lambda(enplanements)
lambdaenplanments
## [1] -0.2269461
enplanements_boxcox<- BoxCox(enplanements, lambdaenplanments)
tsdisplay(enplanements_boxcox)

lambdavisitors<- BoxCox.lambda(visitors)
lambdavisitors
## [1] 0.2775249
visitors_BoxCox<- BoxCox(visitors, lambdavisitors)
tsdisplay(visitors_BoxCox)

#8.11.5 
retail <- readxl::read_excel("retail.xlsx", skip=1)
retailts <- ts(retail[,"A3349873A"],  frequency=12, start=c(1982,4))
lambdaretail <- BoxCox.lambda(retailts)
lambdaretail
## [1] 0.1276369
retail_boxcox<- BoxCox(retailts, lambdaretail)
tsdisplay(retail_boxcox)

#8.11.6
    set.seed(123)
    y1 <- ts(numeric(100))
    y2 <- ts(numeric(100))
    y3 <- ts(numeric(100))
    e <- rnorm(100)
    for(i in 2:100) {
       y1[i] <- 0.6*y1[i-1] + e[i]
      
        y2[i] <- 0.2*y2[i-1] + e[i]
      
        y3[i] <- 1.1*y3[i-1] + e[i]   
        
    }
    
tsdisplay(y1)

tsdisplay(y2)

tsdisplay(y3)

#8.11.7
tsdisplay(wmurders)

diff1_wmurders<- diff(wmurders)
tsdisplay(diff1_wmurders)

fit1 <- Arima(wmurders, order=c(0, 1, 2))
fit2 <- Arima(wmurders, order=c(2, 1, 0))
accuracy(fit1)
##                        ME      RMSE       MAE         MPE     MAPE
## Training set 0.0007242355 0.1997392 0.1543531 -0.08224024 4.434684
##                   MASE        ACF1
## Training set 0.9491994 0.005880608
accuracy(fit2)
##                       ME      RMSE       MAE         MPE     MAPE     MASE
## Training set 0.001232357 0.2008046 0.1544929 -0.06022595 4.436949 0.950059
##                     ACF1
## Training set 0.005925284
plot(residuals(fit1))

forecast_fit1<-forecast(fit1,h=3)
plot(forecast_fit1)

fit3<-auto.arima(wmurders)
fit3
## Series: wmurders 
## ARIMA(1,2,1) 
## 
## Coefficients:
##           ar1      ma1
##       -0.2434  -0.8261
## s.e.   0.1553   0.1143
## 
## sigma^2 estimated as 0.04632:  log likelihood=6.44
## AIC=-6.88   AICc=-6.39   BIC=-0.97
accuracy(fit1)
##                        ME      RMSE       MAE         MPE     MAPE
## Training set 0.0007242355 0.1997392 0.1543531 -0.08224024 4.434684
##                   MASE        ACF1
## Training set 0.9491994 0.005880608
accuracy(fit2)
##                       ME      RMSE       MAE         MPE     MAPE     MASE
## Training set 0.001232357 0.2008046 0.1544929 -0.06022595 4.436949 0.950059
##                     ACF1
## Training set 0.005925284
accuracy(fit3)
##                       ME      RMSE       MAE        MPE     MAPE      MASE
## Training set -0.01065956 0.2072523 0.1528734 -0.2149476 4.335214 0.9400996
##                    ACF1
## Training set 0.02176343
austa_arima<-auto.arima(austa)
austa_arima
## Series: austa 
## ARIMA(0,1,1) with drift 
## 
## Coefficients:
##          ma1   drift
##       0.3006  0.1735
## s.e.  0.1647  0.0390
## 
## sigma^2 estimated as 0.03376:  log likelihood=10.62
## AIC=-15.24   AICc=-14.46   BIC=-10.57
autoplot(residuals(austa_arima))

forecast1<-forecast(austa_arima, h=10)
autoplot(forecast1)

austa_arima2<-Arima(austa,order=c(0,1,1), include.drift=FALSE)
austa_arima3<-Arima(austa,order=c(0,1,0), include.drift=FALSE)
forecast2<-forecast(austa_arima2, h=10)
forecast3<-forecast(austa_arima3, h=10)
autoplot(forecast2)

autoplot(forecast3)

#8.11.9
lambdagdp
## [1] 0.366352
gdp_BoxCox
##          Qtr1     Qtr2     Qtr3     Qtr4
## 1947 37.72578 37.70879 37.70217 37.91751
## 1948 38.15221 38.41487 38.50178 38.53737
## 1949 38.31016 38.26593 38.43411 38.27976
## 1950 38.88857 39.33814 39.93498 40.21827
## 1951 40.40817 40.67529 40.99082 41.01803
## 1952 41.18481 41.19545 41.30001 41.82444
## 1953 42.13010 42.25450 42.15456 41.89383
## 1954 41.81326 41.82844 42.00827 42.33058
## 1955 42.80170 43.07337 43.29627 43.38596
## 1956 43.30683 43.44008 43.41980 43.69418
## 1957 43.79663 43.75436 43.92009 43.73877
## 1958 43.27210 43.37166 43.75881 44.14779
## 1959 44.47422 44.92506 44.91155 44.97336
## 1960 45.35955 45.27123 45.29859 45.06971
## 1961 45.17558 45.50334 45.78803 46.14890
## 1962 46.46892 46.66536 46.83124 46.87571
## 1963 47.11284 47.34020 47.68341 47.82689
## 1964 48.23922 48.45550 48.71010 48.76051
## 1965 49.22082 49.47690 49.86239 50.32465
## 1966 50.79633 50.86429 50.99341 51.15132
## 1967 51.32560 51.32674 51.48355 51.63335
## 1968 52.04112 52.37962 52.51700 52.60221
## 1969 52.92018 52.97829 53.10448 53.00758
## 1970 52.97341 53.01192 53.19247 52.97232
## 1971 53.53352 53.64960 53.81290 53.87208
## 1972 54.23851 54.72769 54.92771 55.27158
## 1973 55.80678 56.05393 55.93902 56.14381
## 1974 55.95638 56.01831 55.80927 55.72499
## 1975 55.46787 55.62348 55.98364 56.26443
## 1976 56.74753 56.90947 57.01397 57.17036
## 1977 57.43453 57.86462 58.25981 58.25749
## 1978 58.32933 59.20020 59.42317 59.72145
## 1979 59.76595 59.78774 59.95229 60.01993
## 1980 60.09317 59.62557 59.58759 60.00844
## 1981 60.47117 60.29011 60.56832 60.27828
## 1982 59.89782 60.02081 59.93370 59.95406
## 1983 60.23615 60.75277 61.20924 61.68547
## 1984 62.14402 62.55086 62.78279 62.97947
## 1985 63.20110 63.40693 63.78377 63.97061
## 1986 64.20359 64.30065 64.53518 64.65914
## 1987 64.82122 65.09244 65.31729 65.75026
## 1988 65.87272 66.19095 66.32554 66.65800
## 1989 66.91514 67.08223 67.26400 67.32903
## 1990 67.62437 67.69027 67.69208 67.49660
## 1991 67.36515 67.53149 67.65552 67.77629
## 1992 68.04296 68.29221 68.54670 68.83341
## 1993 68.86507 68.99776 69.13248 69.48522
## 1994 69.75351 70.09834 70.24760 70.55974
## 1995 70.63430 70.68247 70.90109 71.09793
## 1996 71.28822 71.73039 71.95845 72.27721
## 1997 72.48918 72.90588 73.24954 73.45433
## 1998 73.76209 73.94703 74.26938 74.69579
## 1999 74.93589 75.17077 75.50256 76.00916
## 2000 76.08217 76.53347 76.50014 76.65068
## 2001 76.61508 76.70418 76.60183 76.71622
## 2002 76.91346 77.07198 77.24389 77.25870
## 2003 77.38276 77.64775 78.16441 78.42472
## 2004 78.73480 78.99170 79.28391 79.52845
## 2005 79.81025 80.05676 80.36509 80.48993
## 2006 80.90904
usgdp_arima1<-auto.arima(gdp_BoxCox)
usgdp_arima1
## Series: gdp_BoxCox 
## ARIMA(2,1,0) with drift 
## 
## Coefficients:
##          ar1     ar2   drift
##       0.2795  0.1208  0.1829
## s.e.  0.0647  0.0648  0.0202
## 
## sigma^2 estimated as 0.03518:  log likelihood=61.56
## AIC=-115.11   AICc=-114.94   BIC=-101.26
usgdp_arima2<-Arima(gdp_BoxCox,order=c(1,1,1))
usgdp_arima3<-Arima(gdp_BoxCox,order=c(1,2,0))
usgdp_arima4<-Arima(gdp_BoxCox,order=c(2,2,0))
accuracy(usgdp_arima1)
##                        ME      RMSE       MAE          MPE     MAPE
## Training set 0.0006791305 0.1859861 0.1417489 -0.004468837 0.264737
##                   MASE        ACF1
## Training set 0.1789208 0.009570738
accuracy(usgdp_arima2)
##                      ME      RMSE       MAE        MPE      MAPE      MASE
## Training set 0.03707771 0.1982065 0.1529715 0.06644196 0.2849382 0.1930864
##                      ACF1
## Training set 0.0009082095
accuracy(usgdp_arima3)
##                       ME      RMSE       MAE         MPE      MAPE
## Training set 0.001944469 0.2089466 0.1578764 0.004392134 0.2960049
##                   MASE        ACF1
## Training set 0.1992776 -0.05986977
accuracy(usgdp_arima4)
##                       ME      RMSE       MAE         MPE      MAPE
## Training set 0.002157232 0.2069215 0.1589324 0.004868899 0.2978158
##                   MASE        ACF1
## Training set 0.2006105 -0.02328162
#8.11.10
tsdisplay(austourists)

#b ACF plots shows high autocorrelations at 4th 8th 12th 16th lags

Y1<-austourists[5:68]
Y2<-austourists[1:64]
YYY<-Y1-Y2
YYY2<-ts(YYY)
tsdisplay(YYY2)

#8.11.11
tsdisplay(usmelec)

usme_ma<-ma(usmelec, order=12)%>%
  plot()

lambdausme<-BoxCox.lambda(usmelec)
lambdausme
## [1] -0.5738331
usme_boxcox<-BoxCox(usmelec,lambdausme)
usme_boxcox
##           Jan      Feb      Mar      Apr      May      Jun      Jul
## 1973 1.648026 1.641864 1.643679 1.640237 1.643386 1.648372 1.652324
## 1974 1.647112 1.641544 1.644507 1.641366 1.645784 1.646721 1.653644
## 1975 1.649488 1.643368 1.646481 1.643036 1.645682 1.648863 1.653301
## 1976 1.653747 1.646906 1.649437 1.645659 1.647149 1.652306 1.655977
## 1977 1.658528 1.648940 1.651016 1.646959 1.651066 1.654432 1.659136
## 1978 1.658880 1.652327 1.652242 1.647957 1.652861 1.656478 1.660032
## 1979 1.661634 1.655949 1.655020 1.651271 1.653690 1.656053 1.659933
## 1980 1.659406 1.656576 1.656257 1.650886 1.653013 1.656781 1.663159
## 1981 1.660910 1.654103 1.655748 1.652056 1.653613 1.660050 1.663905
## 1982 1.661569 1.654296 1.656315 1.652067 1.653423 1.655912 1.661827
## 1983 1.658332 1.652021 1.654914 1.651396 1.652618 1.657199 1.663863
## 1984 1.663131 1.656797 1.659428 1.654530 1.657501 1.661629 1.664083
## 1985 1.665400 1.658972 1.658178 1.655570 1.658640 1.660665 1.665177
## 1986 1.663306 1.657509 1.658638 1.655891 1.658768 1.662794 1.668138
## 1987 1.664390 1.657937 1.659841 1.656793 1.660830 1.664962 1.669046
## 1988 1.667286 1.663185 1.662572 1.658437 1.661348 1.666340 1.670623
## 1989 1.668801 1.666475 1.667960 1.664355 1.666669 1.669505 1.673029
## 1990 1.670210 1.665662 1.668455 1.665714 1.667930 1.672368 1.674994
## 1991 1.672401 1.665428 1.667714 1.665332 1.670159 1.672384 1.675948
## 1992 1.672184 1.667526 1.668967 1.666404 1.668043 1.671153 1.675814
## 1993 1.672670 1.669015 1.671179 1.666645 1.668379 1.673305 1.678130
## 1994 1.675306 1.669211 1.670664 1.667728 1.669809 1.675885 1.678015
## 1995 1.673935 1.669737 1.671194 1.668450 1.671653 1.674833 1.680194
## 1996 1.676242 1.672620 1.673256 1.669621 1.674284 1.676975 1.679898
## 1997 1.676706 1.670685 1.672853 1.670710 1.672949 1.676519 1.681674
## 1998 1.676028 1.671076 1.674917 1.671177 1.676588 1.680029 1.683376
## 1999 1.678552 1.673227 1.676399 1.674068 1.676646 1.680031 1.684707
## 2000 1.679929 1.675886 1.676833 1.674741 1.679369 1.681112 1.682862
## 2001 1.680418 1.674378 1.676723 1.673695 1.676696 1.679896 1.682966
## 2002 1.679028 1.674223 1.676954 1.675317 1.677584 1.681316 1.685144
## 2003 1.681416 1.676539 1.677173 1.674765 1.677569 1.680006 1.684517
## 2004 1.681879 1.678373 1.677722 1.675411 1.679862 1.681732 1.684777
## 2005 1.681532 1.676444 1.678743 1.675278 1.678464 1.683539 1.686864
## 2006 1.680002 1.677543 1.678889 1.676362 1.680215 1.683594 1.687503
## 2007 1.682571 1.679400 1.679088 1.677026 1.680171 1.683453 1.686131
## 2008 1.683476 1.679610 1.679557 1.677364 1.679626 1.684402 1.686914
## 2009 1.682713 1.676746 1.677937 1.675275 1.678021 1.681991 1.684351
## 2010 1.683284 1.679004 1.678123 1.675042 1.679923 1.684638 1.687449
## 2011 1.683486 1.678257 1.678887 1.676935 1.679445 1.683914 1.688131
## 2012 1.681305 1.677883 1.677749 1.676116 1.680953 1.683336 1.687967
## 2013 1.682089 1.677817 1.679640 1.676413 1.679275 1.682849         
##           Aug      Sep      Oct      Nov      Dec
## 1973 1.653390 1.646874 1.645923 1.643672 1.645709
## 1974 1.652439 1.645294 1.645195 1.644405 1.647955
## 1975 1.654123 1.646368 1.646278 1.645502 1.651075
## 1976 1.655963 1.649687 1.649288 1.650988 1.655291
## 1977 1.658454 1.653138 1.650138 1.650374 1.655412
## 1978 1.660887 1.655739 1.652997 1.653107 1.657387
## 1979 1.660531 1.654416 1.654129 1.653507 1.656578
## 1980 1.662857 1.657284 1.653791 1.653793 1.658327
## 1981 1.661778 1.656073 1.654579 1.652932 1.658321
## 1982 1.660713 1.654388 1.652156 1.652284 1.655512
## 1983 1.665795 1.658319 1.655016 1.655025 1.662197
## 1984 1.665668 1.658218 1.657141 1.657002 1.659391
## 1985 1.665036 1.659977 1.658115 1.657526 1.663666
## 1986 1.664862 1.660943 1.658844 1.658525 1.662463
## 1987 1.668992 1.662341 1.660095 1.659450 1.663922
## 1988 1.672208 1.663851 1.661816 1.661595 1.666325
## 1989 1.673314 1.668110 1.666825 1.666562 1.673173
## 1990 1.675424 1.670722 1.668387 1.665995 1.670305
## 1991 1.675623 1.670347 1.668562 1.667910 1.670031
## 1992 1.674237 1.670971 1.668495 1.668350 1.672119
## 1993 1.678038 1.671613 1.669444 1.669703 1.672839
## 1994 1.677576 1.671955 1.670428 1.669664 1.672447
## 1995 1.681802 1.673624 1.671605 1.671216 1.674737
## 1996 1.680071 1.674407 1.672733 1.672387 1.674559
## 1997 1.680461 1.676767 1.674658 1.672685 1.676169
## 1998 1.682942 1.678912 1.674586 1.672088 1.676378
## 1999 1.683572 1.677321 1.674515 1.672681 1.676017
## 2000 1.684000 1.678157 1.675264 1.674616 1.678922
## 2001 1.684169 1.677494 1.675960 1.673817 1.677318
## 2002 1.684534 1.680287 1.677509 1.676161 1.679580
## 2003 1.685168 1.679390 1.677471 1.676363 1.680330
## 2004 1.683979 1.680752 1.678157 1.676898 1.681411
## 2005 1.687076 1.682246 1.678620 1.677394 1.682035
## 2006 1.687297 1.680371 1.679213 1.677764 1.680821
## 2007 1.688361 1.682752 1.680431 1.678352 1.681853
## 2008 1.685778 1.681008 1.678868 1.677870 1.681611
## 2009 1.685116 1.679864 1.677507 1.676205 1.682274
## 2010 1.687384 1.681829 1.677614 1.677381 1.683393
## 2011 1.687201 1.680998 1.677712 1.677149 1.680765
## 2012 1.686368 1.680657 1.678122 1.677325 1.680615
## 2013
usme_boxcox%>%
  tsdisplay()

diff_usme<-diff(usme_boxcox)%>%
  tsdisplay()

usme_arima<-auto.arima(usme_boxcox)%>%
  summary()
## Series: usme_boxcox 
## ARIMA(1,1,3)(2,1,1)[12] 
## 
## Coefficients:
##          ar1      ma1      ma2     ma3    sar1     sar2     sma1
##       0.3952  -0.8194  -0.0468  0.0414  0.0403  -0.0934  -0.8462
## s.e.  0.3716   0.3734   0.1707  0.1079  0.0560   0.0533   0.0343
## 
## sigma^2 estimated as 1.278e-06:  log likelihood=2547.75
## AIC=-5079.5   AICc=-5079.19   BIC=-5046.23
## 
## Training set error measures:
##                         ME        RMSE          MAE          MPE
## Training set -5.884034e-05 0.001107007 0.0008378929 -0.003530687
##                    MAPE     MASE         ACF1
## Training set 0.05024385 0.558587 0.0006701709
usme_arima1<-Arima(usme_boxcox,order=c(1,0,1), seasonal=c(0,1,0))%>%
  summary()
## Series: usme_boxcox 
## ARIMA(1,0,1)(0,1,0)[12] 
## 
## Coefficients:
##          ar1      ma1
##       0.8941  -0.4771
## s.e.  0.0317   0.0708
## 
## sigma^2 estimated as 2.049e-06:  log likelihood=2440.39
## AIC=-4874.78   AICc=-4874.73   BIC=-4862.29
## 
## Training set error measures:
##                        ME        RMSE         MAE        MPE       MAPE
## Training set 0.0002133574 0.001410751 0.001117608 0.01282924 0.06701427
##                   MASE       ACF1
## Training set 0.7450607 0.06935111
usme_arima2<-Arima(usme_boxcox,order=c(1,0,1), seasonal=c(0,1,1))%>%
  summary()
## Series: usme_boxcox 
## ARIMA(1,0,1)(0,1,1)[12] 
## 
## Coefficients:
##          ar1      ma1     sma1
##       0.9966  -0.5264  -0.8476
## s.e.  0.0035   0.0621   0.0283
## 
## sigma^2 estimated as 1.356e-06:  log likelihood=2535.5
## AIC=-5063.01   AICc=-5062.92   BIC=-5046.36
## 
## Training set error measures:
##                        ME        RMSE          MAE         MPE       MAPE
## Training set 6.999609e-05 0.001146516 0.0008990479 0.004230004 0.05393229
##                   MASE      ACF1
## Training set 0.5993564 0.1591829
usme_arima3<-auto.arima(usme_boxcox)%>%
  summary()
## Series: usme_boxcox 
## ARIMA(1,1,3)(2,1,1)[12] 
## 
## Coefficients:
##          ar1      ma1      ma2     ma3    sar1     sar2     sma1
##       0.3952  -0.8194  -0.0468  0.0414  0.0403  -0.0934  -0.8462
## s.e.  0.3716   0.3734   0.1707  0.1079  0.0560   0.0533   0.0343
## 
## sigma^2 estimated as 1.278e-06:  log likelihood=2547.75
## AIC=-5079.5   AICc=-5079.19   BIC=-5046.23
## 
## Training set error measures:
##                         ME        RMSE          MAE          MPE
## Training set -5.884034e-05 0.001107007 0.0008378929 -0.003530687
##                    MAPE     MASE         ACF1
## Training set 0.05024385 0.558587 0.0006701709
#8.11.12
tsdisplay(mcopper)

lambdamcopper
## [1] 0.1919047
mcopper_boxcox
##            Jan       Feb       Mar       Apr       May       Jun       Jul
## 1960  9.883142  9.933858  9.815540  9.914783  9.757230  9.786504  9.830545
## 1961  9.415507  9.460569  9.480977  9.530226  9.689569  9.619367  9.536490
## 1962  9.545241  9.600982  9.598523  9.592369  9.591137  9.589904  9.589904
## 1963  9.592369  9.592369  9.592369  9.592369  9.592369  9.592369  9.592369
## 1964  9.636441  9.798147 10.004779 10.434880 10.316903 10.245701 10.412368
## 1965 10.884910 11.391423 11.550815 11.831999 11.901508 11.732773 11.274167
## 1966 12.568421 12.947982 12.947982 13.005957 12.532957 12.601330 12.337182
## 1967 11.573383 11.512669 11.177446 10.869291 10.994179 10.933098 10.877976
## 1968 12.496033 13.186730 13.148087 12.107648 11.665238 11.780623 11.545701
## 1969 12.116545 12.187040 12.170782 12.447659 12.456443 12.669728 12.604720
## 1970 12.992052 13.058088 13.258156 13.232850 12.933365 12.613746 12.386842
## 1971 11.402807 11.434509 11.804680 12.100007 11.718797 11.598710 11.720897
## 1972 11.389142 11.449516 11.562479 11.498640 11.422462 11.339398 11.421707
## 1973 11.792326 12.039651 12.631740 12.789271 12.647423 12.998237 13.562803
## 1974 14.067033 14.430301 15.012567 15.319501 15.073768 14.480956 13.596196
## 1975 12.043530 12.147535 12.306979 12.343197 12.216267 12.108284 12.335978
## 1976 12.504138 12.583205 13.025452 13.663572 13.743021 13.922158 14.102947
## 1977 13.649822 13.731694 13.934686 13.718590 13.574113 13.414039 13.228944
## 1978 12.855804 12.724981 12.889745 13.079878 13.187716 13.231874 13.135129
## 1979 13.704130 14.290407 14.426555 14.451971 14.155701 13.967100 13.594398
## 1980 14.932090 15.169589 14.574118 14.162848 13.967514 13.839869 14.081190
## 1981 13.480516 13.514988 13.647601 13.747370 13.734311 13.850502 14.002161
## 1982 13.818954 13.862383 13.744326 13.839869 13.775967 13.306416 13.716402
## 1983 14.395720 14.677563 14.669028 14.733014 14.846810 14.763115 14.822062
## 1984 14.322329 14.373786 14.520794 14.691044 14.489099 14.372649 14.435541
## 1985 15.122240 15.326023 15.215844 15.145489 15.185908 14.830326 14.653342
## 1986 14.388546 14.340690 14.346795 14.242302 14.143765 14.162451 13.979092
## 1987 13.987757 14.024297 14.094901 14.051206 14.061763 14.270682 14.600554
## 1988 15.929915 15.492318 15.376968 15.157715 15.440443 15.796284 15.411249
## 1989 17.005471 16.665688 16.986489 16.823356 16.457226 16.356443 16.098219
## 1990 15.807276 15.688184 16.297767 16.358463 16.343546 16.021653 16.072914
## 1991 15.311414 15.253164 15.486914 15.749510 15.529677 15.553439 15.580035
## 1992 15.046225 15.234224 15.393526 15.298321 15.183672 15.229794 15.460715
## 1993 15.917537 16.091838 15.917537 15.301442 14.969324 15.196120 15.380653
## 1994 15.131618 15.298633 15.369899 15.320744 15.801078 16.126833 16.230392
## 1995 17.000787 16.818739 16.810648 16.761607 16.620056 16.925058 17.038359
## 1996 16.530013 16.385154 16.450783 16.541720 16.647340 15.736392 15.347083
## 1997 15.908993 15.939521 16.010580 15.902368 16.100609 16.226507 15.902091
## 1998 14.525200 14.459792 14.595495 14.691044 14.618575 14.426929 14.421680
## 1999 13.874654 13.873809 13.801808 14.054863 14.156893 13.977440 14.558476
## 2000 14.851607 14.853319 14.770088 14.625765 15.049841 14.978004 15.079323
## 2001 15.136138 15.152571 15.113492 14.970327 15.035362 14.930743 14.692461
## 2002 14.590070 14.758927 14.864261 14.772875 14.743186 14.802725 14.488729
## 2003 14.476138 14.578473 14.581013 14.435541 14.463884 14.463512 14.604885
## 2004 15.506398 15.931837 16.377865 16.348355 16.072647 15.910372 16.056331
## 2005 16.478726 16.566752 16.684682 16.724815 16.633955 17.061789 17.332235
## 2006 18.487426 18.775319 18.896224 19.886989 20.749415 20.257818 20.590614
##            Aug       Sep       Oct       Nov       Dec
## 1960  9.721780  9.597293  9.442614  9.494938  9.553970
## 1961  9.550231  9.532733  9.522694  9.531479  9.538992
## 1962  9.589904  9.589904  9.592369  9.589904  9.591137
## 1963  9.592369  9.592369  9.592369  9.592369  9.612024
## 1964 10.886641 11.359371 11.863189 11.963264 11.642471
## 1965 11.484560 11.784069 11.963264 12.116545 12.226788
## 1966 11.445769 11.261618 11.653871 11.720897 11.497900
## 1967 11.021017 11.067540 11.292136 12.062228 12.287533
## 1968 11.545701 11.706176 11.616703 11.675866 11.918868
## 1969 12.949545 12.889745 12.835525 13.003385 13.147091
## 1970 12.139967 12.087879 11.799880 11.632470 11.512669
## 1971 11.626027 11.454007 11.380006 11.292915 11.326284
## 1972 11.450265 11.503814 11.462974 11.456250 11.514880
## 1973 13.775535 13.581787 13.801808 14.215315 14.252430
## 1974 13.436465 12.741965 12.569560 12.620503 12.299090
## 1975 12.595108 12.459951 12.418247 12.430036 12.393380
## 1976 13.855598 13.781578 13.514530 13.493877 13.433668
## 1977 12.932842 13.035166 13.021355 12.850477 13.001841
## 1978 13.278490 13.284282 13.352726 13.348925 13.454138
## 1979 13.943852 14.227850 14.282295 14.323479 14.426929
## 1980 13.921740 13.836034 13.787183 13.758223 13.585393
## 1981 14.335342 14.183038 14.033284 13.878878 13.885629
## 1982 13.764723 13.728640 13.852201 13.948428 14.059735
## 1983 14.736524 14.557747 14.246589 14.175922 14.355556
## 1984 14.473912 14.514914 14.566849 14.715777 14.814820
## 1985 14.501655 14.411163 14.306203 14.217276 14.262148
## 1986 13.915881 14.078766 14.106162 14.074319 14.125002
## 1987 14.759276 14.770437 15.047869 15.771109 16.170763
## 1988 15.407282 15.843741 16.482671 16.809260 17.011486
## 1989 16.585386 16.829353 16.752492 16.377865 16.031354
## 1990 16.138708 16.287282 15.741814 15.467052 15.396587
## 1991 15.496216 15.557289 15.631051 15.529677 15.157393
## 1992 15.410334 15.440139 15.599154 15.752073 15.778477
## 1993 15.434071 15.167986 14.798225 14.769043 14.960629
## 1994 16.153447 16.260075 16.221842 16.662356 17.009482
## 1995 17.058701 16.910325 16.707619 16.988055 16.974394
## 1996 15.403312 15.246228 15.220604 15.550178 15.618493
## 1997 15.724670 15.465544 15.284255 14.888451 14.631867
## 1998 14.374923 14.326543 14.156893 14.201566 13.938438
## 1999 14.500918 14.688209 14.554466 14.645479 14.745988
## 2000 15.248751 15.613812 15.443474 15.292074 15.309234
## 2001 14.476879 14.308510 14.207856 14.384010 14.483548
## 2002 14.262148 14.213746 14.223545 14.429927 14.427304
## 2003 14.779834 14.799610 14.918601 15.156108 15.290824
## 2004 16.161587 16.295723 16.426426 16.455740 16.336959
## 2005 17.440144 17.475978 17.808036 18.107815 18.391501
## 2006 20.457752 20.425026 20.383039 19.973065 19.648717
mcopper_arima<-auto.arima(mcopper_boxcox)%>%
  summary()
## Series: mcopper_boxcox 
## ARIMA(0,1,1) 
## 
## Coefficients:
##          ma1
##       0.3720
## s.e.  0.0388
## 
## sigma^2 estimated as 0.04997:  log likelihood=45.05
## AIC=-86.1   AICc=-86.08   BIC=-77.43
## 
## Training set error measures:
##                      ME      RMSE       MAE        MPE     MAPE      MASE
## Training set 0.01254827 0.2231365 0.1592271 0.08049384 1.140225 0.1997301
##                      ACF1
## Training set -0.004184621
mcopper_arima2<-Arima(mcopper_boxcox, order=c(1,1,1))%>%
  summary()
## Series: mcopper_boxcox 
## ARIMA(1,1,1) 
## 
## Coefficients:
##           ar1     ma1
##       -0.0092  0.3797
## s.e.   0.1053  0.0961
## 
## sigma^2 estimated as 0.05006:  log likelihood=45.05
## AIC=-84.1   AICc=-84.06   BIC=-71.1
## 
## Training set error measures:
##                      ME      RMSE       MAE        MPE    MAPE     MASE
## Training set 0.01259577 0.2231351 0.1592422 0.08076154 1.14026 0.199749
##                      ACF1
## Training set -0.002728724
mcopper_arima3<-Arima(mcopper_boxcox, order=c(0,1,2))%>%
  summary()
## Series: mcopper_boxcox 
## ARIMA(0,1,2) 
## 
## Coefficients:
##          ma1      ma2
##       0.3704  -0.0037
## s.e.  0.0424   0.0406
## 
## sigma^2 estimated as 0.05006:  log likelihood=45.05
## AIC=-84.11   AICc=-84.06   BIC=-71.11
## 
## Training set error measures:
##                      ME     RMSE       MAE        MPE     MAPE      MASE
## Training set 0.01259881 0.223135 0.1592439 0.08077872 1.140268 0.1997512
##                      ACF1
## Training set -0.002702913
#8.11.13
tsdisplay(hsales)

str(hsales)
##  Time-Series [1:275] from 1973 to 1996: 55 60 68 63 65 61 54 52 46 42 ...
lambdahsales<-BoxCox.lambda(hsales)
lambdahsales
## [1] 0.1454608
hsales_boxcox<-BoxCox(hsales,lambdahsales)
#8.11.14
hsales.dec<-stl(hsales_boxcox, t.window=13, s.window="periodic") 
hsales.seasadj<-seasadj(hsales.dec)

hsales.STL <- stlf(hsales.seasadj, method="arima")
fcast.hsales.STL<-forecast(hsales.STL, h=24)
plot(fcast.hsales.STL)

#8.11.15
retail_arima<-auto.arima(retailts)
forecast_retail<-forecast(retail_arima, h=24)
plot(forecast_retail)

#8.11.16
tsdisplay(sheep)

forecast.function<-function(t1,t2,t3,t4) {
  
t<-t1+0.42*(t1-t2)-0.2*(t2-t3)-0.3*(t3-t4)
return(t)
}
t_1940<-forecast.function(1797,1791,1627,1665)
t_1941<-forecast.function(t_1940,1797,1791,1627)
t_1942<-forecast.function(t_1941,t_1940,1797,1791)
t_1940
## [1] 1778.12
t_1941
## [1] 1719.79
t_1942
## [1] 1697.268
sheep_arima1<-Arima(sheep, order=c(3,1,0))
forecast_sheep<-forecast(sheep_arima1, h=3)%>%
  summary()
## 
## Forecast method: ARIMA(3,1,0)
## 
## Model Information:
## Series: sheep 
## ARIMA(3,1,0) 
## 
## Coefficients:
##          ar1      ar2      ar3
##       0.4210  -0.2018  -0.3044
## s.e.  0.1193   0.1363   0.1243
## 
## sigma^2 estimated as 4991:  log likelihood=-407.56
## AIC=823.12   AICc=823.71   BIC=832.22
## 
## Error measures:
##                     ME     RMSE      MAE        MPE     MAPE      MASE
## Training set -6.566385 68.68715 53.43974 -0.4246247 2.977279 0.7962876
##                     ACF1
## Training set -0.06149874
## 
## Forecasts:
##      Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 1940       1777.996 1687.454 1868.537 1639.524 1916.467
## 1941       1718.869 1561.544 1876.193 1478.261 1959.476
## 1942       1695.985 1494.151 1897.819 1387.306 2004.664
#8.11.17
tsdisplay(bicoal)

forecast.function2<-function(t1,t2,t3,t4) {
  
t<-162+0.83*t1-0.34*t2+0.55*t3-0.38*t4
return(t)
}
t_1969<-forecast.function2(545,552,534,512)
t_1970<-forecast.function2(t_1969,545,552,534)
t_1971<-forecast.function2(t_1970,t_1969,545,552)
t_1969
## [1] 525.81
t_1970
## [1] 513.8023
t_1971
## [1] 499.6705
bicoal_arima1<-Arima(bicoal, order=c(4,0,0))
fcast.bicoal<-forecast(bicoal_arima1, h=3)%>%
  summary()
## 
## Forecast method: ARIMA(4,0,0) with non-zero mean
## 
## Model Information:
## Series: bicoal 
## ARIMA(4,0,0) with non-zero mean 
## 
## Coefficients:
##          ar1      ar2     ar3      ar4      mean
##       0.8334  -0.3443  0.5525  -0.3780  481.5221
## s.e.  0.1366   0.1752  0.1733   0.1414   21.0591
## 
## sigma^2 estimated as 2795:  log likelihood=-262.05
## AIC=536.1   AICc=538.1   BIC=547.45
## 
## Error measures:
##                      ME     RMSE      MAE       MPE     MAPE      MASE
## Training set -0.9191614 50.09487 36.28915 -1.426663 8.003388 0.7797132
##                    ACF1
## Training set 0.02170264
## 
## Forecasts:
##      Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 1969       527.6291 459.8804 595.3779 424.0164 631.2419
## 1970       517.1923 429.0014 605.3832 382.3160 652.0686
## 1971       503.8051 412.4786 595.1315 364.1334 643.4768