getwd()
## [1] "C:/Users/dell/Desktop/Teaching"
rm(list=ls())
gc()
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 293778 7.9 592000 15.9 350000 9.4
## Vcells 323934 2.5 786432 6.0 677529 5.2
sessionInfo()
## R version 3.2.2 (2015-08-14)
## Platform: i386-w64-mingw32/i386 (32-bit)
## Running under: Windows 7 (build 7601) Service Pack 1
##
## locale:
## [1] LC_COLLATE=English_United States.1252
## [2] LC_CTYPE=English_United States.1252
## [3] LC_MONETARY=English_United States.1252
## [4] LC_NUMERIC=C
## [5] LC_TIME=English_United States.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## loaded via a namespace (and not attached):
## [1] magrittr_1.5 tools_3.2.2 htmltools_0.3 stringi_1.0-1 rmarkdown_0.7
## [6] knitr_1.10.5 stringr_1.0.0 digest_0.6.8 evaluate_0.7
memory.limit()
## [1] 1535
library(Rcmdr)
## Loading required package: splines
## Loading required package: RcmdrMisc
## Loading required package: car
## Loading required package: sandwich
## The Commander GUI is launched only in interactive sessions
library(RcmdrPlugin.epack)
## Loading required package: TeachingDemos
## Loading required package: tseries
## Loading required package: abind
## Loading required package: MASS
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
##
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Loading required package: forecast
## Loading required package: timeDate
## This is forecast 6.2
data(AirPassengers, package="datasets")
AirPassengers <- as.data.frame(AirPassengers)
ts.plot(AirPassengers$x)

AirPassengers$x
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1949 112 118 132 129 121 135 148 148 136 119 104 118
## 1950 115 126 141 135 125 149 170 170 158 133 114 140
## 1951 145 150 178 163 172 178 199 199 184 162 146 166
## 1952 171 180 193 181 183 218 230 242 209 191 172 194
## 1953 196 196 236 235 229 243 264 272 237 211 180 201
## 1954 204 188 235 227 234 264 302 293 259 229 203 229
## 1955 242 233 267 269 270 315 364 347 312 274 237 278
## 1956 284 277 317 313 318 374 413 405 355 306 271 306
## 1957 315 301 356 348 355 422 465 467 404 347 305 336
## 1958 340 318 362 348 363 435 491 505 404 359 310 337
## 1959 360 342 406 396 420 472 548 559 463 407 362 405
## 1960 417 391 419 461 472 535 622 606 508 461 390 432
bulkfit(AirPassengers$x)
## $res
## ar d ma AIC
## [1,] 0 0 0 1790.368
## [2,] 0 0 1 1618.863
## [3,] 0 0 2 1522.122
## [4,] 0 1 0 1413.909
## [5,] 0 1 1 1397.258
## [6,] 0 1 2 1397.093
## [7,] 0 2 0 1450.596
## [8,] 0 2 1 1411.368
## [9,] 0 2 2 1394.373
## [10,] 1 0 0 1428.179
## [11,] 1 0 1 1409.748
## [12,] 1 0 2 1411.050
## [13,] 1 1 0 1401.853
## [14,] 1 1 1 1394.683
## [15,] 1 1 2 1385.497
## [16,] 1 2 0 1447.028
## [17,] 1 2 1 1398.929
## [18,] 1 2 2 1391.910
## [19,] 2 0 0 1413.639
## [20,] 2 0 1 1408.249
## [21,] 2 0 2 1408.343
## [22,] 2 1 0 1396.588
## [23,] 2 1 1 1378.338
## [24,] 2 1 2 1387.409
## [25,] 2 2 0 1440.078
## [26,] 2 2 1 1393.882
## [27,] 2 2 2 1392.659
##
## $min
## ar d ma AIC
## 2.000 1.000 1.000 1378.338
ArimaModel.1 <-
Arima(AirPassengers$x,order=c(2,
1,1),
include.mean=1,
seasonal=list(order=c(0,0,0),
period=12))
ArimaModel.1
## Series: AirPassengers$x
## ARIMA(2,1,1)
##
## Coefficients:
## ar1 ar2 ma1
## 1.0906 -0.4890 -0.8438
## s.e. 0.0776 0.0744 0.0427
##
## sigma^2 estimated as 844.6: log likelihood=-685.17
## AIC=1378.34 AICc=1378.63 BIC=1390.19
ArimaModel.2 <-
Arima(AirPassengers$x,order=c(2,
1,1),
include.mean=0,
seasonal=list(order=c(0,0,0),
period=12))
ArimaModel.2
## Series: AirPassengers$x
## ARIMA(2,1,1)
##
## Coefficients:
## ar1 ar2 ma1
## 1.0906 -0.4890 -0.8438
## s.e. 0.0776 0.0744 0.0427
##
## sigma^2 estimated as 844.6: log likelihood=-685.17
## AIC=1378.34 AICc=1378.63 BIC=1390.19
HoltWintersModel.3 <-
HoltWinters(AirPassengers$x,
seasonal='add')
HoltWintersModel.3
## Holt-Winters exponential smoothing with trend and additive seasonal component.
##
## Call:
## HoltWinters(x = AirPassengers$x, seasonal = "add")
##
## Smoothing parameters:
## alpha: 0.2479595
## beta : 0.03453373
## gamma: 1
##
## Coefficients:
## [,1]
## a 477.827781
## b 3.127627
## s1 -27.457685
## s2 -54.692464
## s3 -20.174608
## s4 12.919120
## s5 18.873607
## s6 75.294426
## s7 152.888368
## s8 134.613464
## s9 33.778349
## s10 -18.379060
## s11 -87.772408
## s12 -45.827781
HoltWintersModel.4 <-
HoltWinters(AirPassengers$x,
gamma=0,beta=0)
HoltWintersModel.4
## Holt-Winters exponential smoothing with trend and additive seasonal component.
##
## Call:
## HoltWinters(x = AirPassengers$x, beta = 0, gamma = 0)
##
## Smoothing parameters:
## alpha: 0.9999339
## beta : 0
## gamma: 0
##
## Coefficients:
## [,1]
## a 442.31761986
## b 1.14568765
## s1 -14.81944444
## s2 -5.65277778
## s3 7.51388889
## s4 0.01388889
## s5 -10.98611111
## s6 11.68055556
## s7 22.63888889
## s8 22.18055556
## s9 9.47222222
## s10 -8.15277778
## s11 -23.56944444
## s12 -10.31944444
a=ets(AirPassengers$x)
a
## ETS(M,A,M)
##
## Call:
## ets(y = AirPassengers$x)
##
## Smoothing parameters:
## alpha = 0.5901
## beta = 0.0058
## gamma = 1e-04
##
## Initial states:
## l = 126.9791
## b = 1.6483
## s=0.8865 0.7928 0.9226 1.0582 1.2186 1.2371
## 1.1069 0.9818 0.985 1.0149 0.8946 0.901
##
## sigma: 0.0367
##
## AIC AICc BIC
## 1391.174 1395.457 1438.691
predict(a,10)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Jan 1961 444.9979 424.0692 465.9267 412.9901 477.0057
## Feb 1961 444.1187 419.8324 468.4049 406.9760 481.2613
## Mar 1961 506.4125 475.2920 537.5330 458.8178 554.0072
## Apr 1961 493.9890 460.5937 527.3844 442.9153 545.0628
## May 1961 494.8520 458.5835 531.1205 439.3841 550.3198
## Jun 1961 560.6983 516.6174 604.7792 493.2823 628.1143
## Jul 1961 629.8161 577.1310 682.5012 549.2412 710.3910
## Aug 1961 623.4715 568.3301 678.6129 539.1400 707.8031
## Sep 1961 544.0719 493.4577 594.6861 466.6642 621.4796
## Oct 1961 476.6947 430.2464 523.1430 405.6581 547.7313
str(predict(a,20))
## List of 9
## $ model :List of 18
## ..$ loglik : num -680
## ..$ aic : num 1391
## ..$ bic : num 1439
## ..$ aicc : num 1395
## ..$ mse : num 121
## ..$ amse : num 194
## ..$ fit :List of 4
## .. ..$ value : num 1359
## .. ..$ par : num [1:16] 5.90e-01 5.82e-03 1.21e-04 1.27e+02 1.65 ...
## .. ..$ fail : int 1
## .. ..$ fncount: int 2001
## ..$ residuals : Time-Series [1:144] from 1949 to 1961: -0.0336 0.0329 -0.0134 -0.011 -0.0747 ...
## ..$ fitted : Time-Series [1:144] from 1949 to 1961: 116 114 134 130 131 ...
## ..$ states : mts [1:145, 1:14] 127 126 130 131 132 ...
## .. ..- attr(*, "dimnames")=List of 2
## .. .. ..$ : NULL
## .. .. ..$ : chr [1:14] "l" "b" "s1" "s2" ...
## .. ..- attr(*, "tsp")= num [1:3] 1949 1961 12
## .. ..- attr(*, "class")= chr [1:3] "mts" "ts" "matrix"
## ..$ par : Named num [1:16] 5.90e-01 5.82e-03 1.21e-04 1.27e+02 1.65 ...
## .. ..- attr(*, "names")= chr [1:16] "alpha" "beta" "gamma" "l" ...
## ..$ m : num 12
## ..$ method : chr "ETS(M,A,M)"
## ..$ components: chr [1:4] "M" "A" "M" "FALSE"
## ..$ call : language ets(y = AirPassengers$x)
## ..$ initstate : Named num [1:14] 126.979 1.648 0.887 0.793 0.923 ...
## .. ..- attr(*, "names")= chr [1:14] "l" "b" "s1" "s2" ...
## ..$ sigma2 : num 0.00135
## ..$ x : Time-Series [1:144] from 1949 to 1961: 112 118 132 129 121 135 148 148 136 119 ...
## ..- attr(*, "class")= chr "ets"
## $ mean : Time-Series [1:20] from 1961 to 1963: 445 444 506 494 495 ...
## $ level : num [1:2] 80 95
## $ x : Time-Series [1:144] from 1949 to 1961: 112 118 132 129 121 135 148 148 136 119 ...
## $ upper : mts [1:20, 1:2] 466 468 538 527 531 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:2] "Series 1" "Series 2"
## ..- attr(*, "tsp")= num [1:3] 1961 1963 12
## ..- attr(*, "class")= chr [1:3] "mts" "ts" "matrix"
## $ lower : mts [1:20, 1:2] 424 420 475 461 459 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:2] "Series 1" "Series 2"
## ..- attr(*, "tsp")= num [1:3] 1961 1963 12
## ..- attr(*, "class")= chr [1:3] "mts" "ts" "matrix"
## $ fitted : Time-Series [1:144] from 1949 to 1961: 116 114 134 130 131 ...
## $ method : chr "ETS(M,A,M)"
## $ residuals: Time-Series [1:144] from 1949 to 1961: -0.0336 0.0329 -0.0134 -0.011 -0.0747 ...
## - attr(*, "class")= chr "forecast"
b=auto.arima(AirPassengers$x)
b
## Series: AirPassengers$x
## ARIMA(0,1,1)(0,1,0)[12]
##
## Coefficients:
## ma1
## -0.3184
## s.e. 0.0877
##
## sigma^2 estimated as 137.3: log likelihood=-508.32
## AIC=1020.64 AICc=1020.73 BIC=1026.39
predict(b,10)
## $pred
## Jan Feb Mar Apr May Jun Jul
## 1961 446.7582 420.7582 448.7582 490.7582 501.7582 564.7582 651.7582
## Aug Sep Oct
## 1961 635.7582 537.7582 490.7582
##
## $se
## Jan Feb Mar Apr May Jun Jul
## 1961 11.71600 14.17842 16.27239 18.12605 19.80699 21.35602 22.80006
## Aug Sep Oct
## 1961 24.15793 25.44344 26.66705
newdataset=predar3(b,fore1=48)

newdataset2=predar3(ArimaModel.1,fore1=48)
