par(ask=TRUE)

# Listing 15.1 - Creating a time series object in R
sales <- c(18, 33, 41,  7, 34, 35, 24, 25, 24, 21, 25, 20, 
           22, 31, 40, 29, 25, 21, 22, 54, 31, 25, 26, 35)
tsales <- ts(sales, start=c(2003, 1), frequency=12) 
tsales
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2003  18  33  41   7  34  35  24  25  24  21  25  20
## 2004  22  31  40  29  25  21  22  54  31  25  26  35
plot(tsales)

start(tsales) 
## [1] 2003    1
end(tsales)
## [1] 2004   12
frequency(tsales)
## [1] 12
tsales.subset <- window(tsales, start=c(2003, 5), end=c(2004, 6))
tsales.subset
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2003                  34  35  24  25  24  21  25  20
## 2004  22  31  40  29  25  21

Listing 15.2 - Simple moving averages

library(forecast)
## Warning: package 'forecast' was built under R version 3.5.1
opar <- par(no.readonly=TRUE)
par(mfrow=c(2,2))
ylim <- c(min(Nile), max(Nile))
plot(Nile, main="Raw time series")
plot(ma(Nile, 3), main="Simple Moving Averages (k=3)", ylim=ylim)
plot(ma(Nile, 7), main="Simple Moving Averages (k=7)", ylim=ylim)
plot(ma(Nile, 15), main="Simple Moving Averages (k=15)", ylim=ylim)

par(opar)

Listing 15.3 - Seasonal decomposition using slt()

plot(AirPassengers)                                               

lAirPassengers <- log(AirPassengers)
plot(lAirPassengers, ylab="log(AirPassengers)")

fit <- stl(lAirPassengers, s.window="period")           
plot(fit)

fit$time.series                                 
##             seasonal    trend     remainder
## Jan 1949 -0.09164042 4.829389 -0.0192493585
## Feb 1949 -0.11402828 4.830368  0.0543447685
## Mar 1949  0.01586585 4.831348  0.0355884457
## Apr 1949 -0.01402759 4.833377  0.0404632511
## May 1949 -0.01502478 4.835406 -0.0245905300
## Jun 1949  0.10978976 4.838166 -0.0426814256
## Jul 1949  0.21640041 4.840927 -0.0601151688
## Aug 1949  0.20960587 4.843469 -0.0558624690
## Sep 1949  0.06747156 4.846011 -0.0008273977
## Oct 1949 -0.07024836 4.850883 -0.0015112948
## Nov 1949 -0.21352774 4.855756  0.0021630667
## Dec 1949 -0.10063625 4.864586  0.0067346600
## Jan 1950 -0.09164042 4.873417 -0.0368443057
## Feb 1950 -0.11402828 4.883282  0.0670284530
## Mar 1950  0.01586585 4.893147  0.0397474219
## Apr 1950 -0.01402759 4.903156  0.0161459950
## May 1950 -0.01502478 4.913166 -0.0698276070
## Jun 1950  0.10978976 4.925404 -0.0312477713
## Jul 1950  0.21640041 4.937643 -0.0182444833
## Aug 1950  0.20960587 4.954420 -0.0282273969
## Sep 1950  0.06747156 4.971197  0.0239260449
## Oct 1950 -0.07024836 4.991662 -0.0310647612
## Nov 1950 -0.21352774 5.012127 -0.0624008823
## Dec 1950 -0.10063625 5.031094  0.0111846224
## Jan 1951 -0.09164042 5.050061  0.0183131352
## Feb 1951 -0.11402828 5.065044  0.0596196836
## Mar 1951  0.01586585 5.080027  0.0858909418
## Apr 1951 -0.01402759 5.093932  0.0138460280
## May 1951 -0.01502478 5.107837  0.0546824937
## Jun 1951  0.10978976 5.121064 -0.0490698826
## Jul 1951  0.21640041 5.134291 -0.0573861680
## Aug 1951  0.20960587 5.146131 -0.0624323009
## Sep 1951  0.06747156 5.157972 -0.0105077415
## Oct 1951 -0.07024836 5.169854 -0.0120089320
## Nov 1951 -0.21352774 5.181735  0.0153990463
## Dec 1951 -0.10063625 5.194803  0.0178207135
## Jan 1952 -0.09164042 5.207871  0.0254326447
## Feb 1952 -0.11402828 5.220493  0.0864920261
## Mar 1952  0.01586585 5.233115  0.0137094563
## Apr 1952 -0.01402759 5.244400 -0.0318757882
## May 1952 -0.01502478 5.255686 -0.0311749995
## Jun 1952  0.10978976 5.266916  0.0077889001
## Jul 1952  0.21640041 5.278147 -0.0564679741
## Aug 1952  0.20960587 5.291899 -0.0125671875
## Sep 1952  0.06747156 5.305651 -0.0307885329
## Oct 1952 -0.07024836 5.323035 -0.0005129219
## Nov 1952 -0.21352774 5.340418  0.0206040218
## Dec 1952 -0.10063625 5.355790  0.0127045234
## Jan 1953 -0.09164042 5.371162 -0.0014064946
## Feb 1953 -0.11402828 5.381701  0.0104415885
## Mar 1953  0.01586585 5.392241  0.0557248228
## Apr 1953 -0.01402759 5.398479  0.0751345805
## May 1953 -0.01502478 5.404716  0.0440308724
## Jun 1953  0.10978976 5.406792 -0.0235205660
## Jul 1953  0.21640041 5.408869 -0.0493198945
## Aug 1953  0.20960587 5.407808 -0.0116118099
## Sep 1953  0.06747156 5.406747 -0.0061588541
## Oct 1953 -0.07024836 5.407020  0.0150868577
## Nov 1953 -0.21352774 5.407292 -0.0008072455
## Dec 1953 -0.10063625 5.412628 -0.0086865700
## Jan 1954 -0.09164042 5.417964 -0.0082032035
## Feb 1954 -0.11402828 5.425823 -0.0753528534
## Mar 1954  0.01586585 5.433683  0.0100370842
## Apr 1954 -0.01402759 5.442676 -0.0036988730
## May 1954 -0.01502478 5.451670  0.0186755182
## Jun 1954  0.10978976 5.463574  0.0025856037
## Jul 1954  0.21640041 5.475477  0.0185495056
## Aug 1954  0.20960587 5.488954 -0.0183873611
## Sep 1954  0.06747156 5.502431 -0.0130746073
## Oct 1954 -0.07024836 5.515678 -0.0117077856
## Nov 1954 -0.21352774 5.528925 -0.0021914704
## Dec 1954 -0.10063625 5.543178 -0.0088199260
## Jan 1955 -0.09164042 5.557431  0.0231469788
## Feb 1955 -0.11402828 5.572621 -0.0075538774
## Mar 1955  0.01586585 5.587810 -0.0164272509
## Apr 1955 -0.01402759 5.602576  0.0061625730
## May 1955 -0.01502478 5.617343 -0.0038959909
## Jun 1955  0.10978976 5.631685  0.0110981305
## Jul 1955  0.21640041 5.646027  0.0347266908
## Aug 1955  0.20960587 5.660026 -0.0203074185
## Sep 1955  0.06747156 5.674026  0.0015057273
## Oct 1955 -0.07024836 5.687411 -0.0040342159
## Nov 1955 -0.21352774 5.700795 -0.0192075831
## Dec 1955 -0.10063625 5.713683  0.0145740752
## Jan 1956 -0.09164042 5.726571  0.0140435478
## Feb 1956 -0.11402828 5.738688 -0.0006422520
## Mar 1956  0.01586585 5.750805 -0.0077690470
## Apr 1956 -0.01402759 5.761271 -0.0010403672
## May 1956 -0.01502478 5.771737  0.0053388421
## Jun 1956  0.10978976 5.780581  0.0338845974
## Jul 1956  0.21640041 5.789426  0.0176216235
## Aug 1956  0.20960587 5.797448 -0.0031667752
## Sep 1956  0.06747156 5.805470 -0.0008241663
## Oct 1956 -0.07024836 5.813734 -0.0199006689
## Nov 1956 -0.21352774 5.821998 -0.0063513051
## Dec 1956 -0.10063625 5.831654 -0.0074325201
## Jan 1957 -0.09164042 5.841310  0.0029031831
## Feb 1957 -0.11402828 5.852625 -0.0314869189
## Mar 1957  0.01586585 5.863941 -0.0048761755
## Apr 1957 -0.01402759 5.875005 -0.0087747176
## May 1957 -0.01502478 5.886069  0.0010740550
## Jun 1957  0.10978976 5.894711  0.0405045167
## Jul 1957  0.21640041 5.903354  0.0222834352
## Aug 1957  0.20960587 5.907786  0.0289376116
## Sep 1957  0.06747156 5.912218  0.0217253156
## Oct 1957 -0.07024836 5.912909  0.0066639927
## Nov 1957 -0.21352774 5.913600  0.0202392244
## Dec 1957 -0.10063625 5.914570  0.0031777723
## Jan 1958 -0.09164042 5.915539  0.0050470568
## Feb 1958 -0.11402828 5.918512 -0.0424324225
## Mar 1958  0.01586585 5.921485 -0.0457068326
## Apr 1958 -0.01402759 5.924977 -0.0587474166
## May 1958 -0.01502478 5.928470 -0.0190421600
## Jun 1958  0.10978976 5.932704  0.0328523706
## Jul 1958  0.21640041 5.936938  0.0431056910
## Aug 1958  0.20960587 5.943328  0.0716243517
## Sep 1958  0.06747156 5.949718 -0.0157750808
## Oct 1958 -0.07024836 5.957409 -0.0038387222
## Nov 1958 -0.21352774 5.965101 -0.0150005051
## Dec 1958 -0.10063625 5.973333 -0.0526139823
## Jan 1959 -0.09164042 5.981566 -0.0038213288
## Feb 1959 -0.11402828 5.992040 -0.0432006658
## Mar 1959  0.01586585 6.002514 -0.0120262807
## Apr 1959 -0.01402759 6.015640 -0.0201986959
## May 1959 -0.01502478 6.028767  0.0265120912
## Jun 1959  0.10978976 6.042198  0.0049914005
## Jul 1959  0.21640041 6.055628  0.0342466268
## Aug 1959  0.20960587 6.065881  0.0506625860
## Sep 1959  0.06747156 6.076134 -0.0058783006
## Oct 1959 -0.07024836 6.084145 -0.0050832771
## Nov 1959 -0.21352774 6.092156  0.0130161013
## Dec 1959 -0.10063625 6.100500  0.0040231864
## Jan 1960 -0.09164042 6.108844  0.0158822334
## Feb 1960 -0.11402828 6.117934 -0.0351985510
## Mar 1960  0.01586585 6.127024 -0.1050193083
## Apr 1960 -0.01402759 6.135814  0.0116112609
## May 1960 -0.01502478 6.144604  0.0273994037
## Jun 1960  0.10978976 6.152986  0.0194908174
## Jul 1960  0.21640041 6.161368  0.0551717057
## Aug 1960  0.20960587 6.170124  0.0271500533
## Sep 1960  0.06747156 6.178880 -0.0158702714
## Oct 1960 -0.07024836 6.187594  0.0160525773
## Nov 1960 -0.21352774 6.196307 -0.0166330133
## Dec 1960 -0.10063625 6.204752 -0.0356905175
exp(fit$time.series)
##           seasonal    trend remainder
## Jan 1949 0.9124332 125.1344 0.9809347
## Feb 1949 0.8922327 125.2571 1.0558486
## Mar 1949 1.0159924 125.3798 1.0362293
## Apr 1949 0.9860703 125.6345 1.0412930
## May 1949 0.9850875 125.8897 0.9757094
## Jun 1949 1.1160434 126.2377 0.9582166
## Jul 1949 1.2415994 126.5866 0.9416561
## Aug 1949 1.2331919 126.9088 0.9456692
## Sep 1949 1.0697998 127.2318 0.9991729
## Oct 1949 0.9321623 127.8533 0.9984898
## Nov 1949 0.8077298 128.4777 1.0021654
## Dec 1949 0.9042619 129.6173 1.0067574
## Jan 1950 0.9124332 130.7670 0.9638262
## Feb 1950 0.8922327 132.0634 1.0693259
## Mar 1950 1.0159924 133.3726 1.0405479
## Apr 1950 0.9860703 134.7143 1.0162770
## May 1950 0.9850875 136.0695 0.9325546
## Jun 1950 1.1160434 137.7450 0.9692354
## Jul 1950 1.2415994 139.4411 0.9819209
## Aug 1950 1.2331919 141.8003 0.9721673
## Sep 1950 1.0697998 144.1995 1.0242146
## Oct 1950 0.9321623 147.1809 0.9694128
## Nov 1950 0.8077298 150.2239 0.9395062
## Dec 1950 0.9042619 153.1004 1.0112474
## Jan 1951 0.9124332 156.0320 1.0184818
## Feb 1951 0.8922327 158.3874 1.0614328
## Mar 1951 1.0159924 160.7784 1.0896875
## Apr 1951 0.9860703 163.0296 1.0139423
## May 1951 0.9850875 165.3124 1.0562052
## Jun 1951 1.1160434 167.5135 0.9521146
## Jul 1951 1.2415994 169.7439 0.9442294
## Aug 1951 1.2331919 171.7657 0.9394767
## Sep 1951 1.0697998 173.8116 0.9895473
## Oct 1951 0.9321623 175.8891 0.9880629
## Nov 1951 0.8077298 177.9914 1.0155182
## Dec 1951 0.9042619 180.3327 1.0179804
## Jan 1952 0.9124332 182.7047 1.0257588
## Feb 1952 0.8922327 185.0254 1.0903427
## Mar 1952 1.0159924 187.3755 1.0138039
## Apr 1952 0.9860703 189.5022 0.9686269
## May 1952 0.9850875 191.6529 0.9693059
## Jun 1952 1.1160434 193.8174 1.0078193
## Jul 1952 1.2415994 196.0063 0.9450968
## Aug 1952 1.2331919 198.7204 0.9875114
## Sep 1952 1.0697998 201.4722 0.9696806
## Oct 1952 0.9321623 205.0051 0.9994872
## Nov 1952 0.8077298 208.5999 1.0208178
## Dec 1952 0.9042619 211.8312 1.0127856
## Jan 1953 0.9124332 215.1126 0.9985945
## Feb 1953 0.8922327 217.3918 1.0104963
## Mar 1953 1.0159924 219.6952 1.0573067
## Apr 1953 0.9860703 221.0698 1.0780292
## May 1953 0.9850875 222.4530 1.0450146
## Jun 1953 1.1160434 222.9154 0.9767539
## Jul 1953 1.2415994 223.3787 0.9518766
## Aug 1953 1.2331919 223.1419 0.9884553
## Sep 1953 1.0697998 222.9054 0.9938601
## Oct 1953 0.9321623 222.9661 1.0152012
## Nov 1953 0.8077298 223.0268 0.9991931
## Dec 1953 0.9042619 224.2200 0.9913510
## Jan 1954 0.9124332 225.4196 0.9918304
## Feb 1954 0.8922327 227.1983 0.9274162
## Mar 1954 1.0159924 228.9910 1.0100876
## Apr 1954 0.9860703 231.0598 0.9963080
## May 1954 0.9850875 233.1473 1.0188510
## Jun 1954 1.1160434 235.9391 1.0025889
## Jul 1954 1.2415994 238.7644 1.0187226
## Aug 1954 1.2331919 242.0040 0.9817807
## Sep 1954 1.0697998 245.2875 0.9870105
## Oct 1954 0.9321623 248.5585 0.9883605
## Nov 1954 0.8077298 251.8730 0.9978109
## Dec 1954 0.9042619 255.4887 0.9912189
## Jan 1955 0.9124332 259.1563 1.0234169
## Feb 1955 0.8922327 263.1227 0.9924746
## Mar 1955 1.0159924 267.1499 0.9837069
## Apr 1955 0.9860703 271.1240 1.0061816
## May 1955 0.9850875 275.1572 0.9961116
## Jun 1955 1.1160434 279.1320 1.0111599
## Jul 1955 1.2415994 283.1642 1.0353367
## Aug 1955 1.2331919 287.1562 0.9798974
## Sep 1955 1.0697998 291.2045 1.0015069
## Oct 1955 0.9321623 295.1284 0.9959739
## Nov 1955 0.8077298 299.1052 0.9809757
## Dec 1955 0.9042619 302.9850 1.0146808
## Jan 1956 0.9124332 306.9151 1.0141426
## Feb 1956 0.8922327 310.6566 0.9993580
## Mar 1956 1.0159924 314.4437 0.9922611
## Apr 1956 0.9860703 317.7520 0.9989602
## May 1956 0.9850875 321.0951 1.0053531
## Jun 1956 1.1160434 323.9475 1.0344652
## Jul 1956 1.2415994 326.8252 1.0177778
## Aug 1956 1.2331919 329.4577 0.9968382
## Sep 1956 1.0697998 332.1114 0.9991762
## Oct 1956 0.9321623 334.8672 0.9802960
## Nov 1956 0.8077298 337.6460 0.9936688
## Dec 1956 0.9042619 340.9221 0.9925950
## Jan 1957 0.9124332 344.2299 1.0029074
## Feb 1957 0.8922327 348.1472 0.9690036
## Mar 1957 1.0159924 352.1091 0.9951357
## Apr 1957 0.9860703 356.0264 0.9912637
## May 1957 0.9850875 359.9872 1.0010746
## Jun 1957 1.1160434 363.1119 1.0413360
## Jul 1957 1.2415994 366.2637 1.0225336
## Aug 1957 1.2331919 367.8907 1.0293604
## Sep 1957 1.0697998 369.5249 1.0219630
## Oct 1957 0.9321623 369.7803 1.0066862
## Nov 1957 0.8077298 370.0360 1.0204454
## Dec 1957 0.9042619 370.3949 1.0031828
## Jan 1958 0.9124332 370.7541 1.0050598
## Feb 1958 0.8922327 371.8580 0.9584552
## Mar 1958 1.0159924 372.9652 0.9553220
## Apr 1958 0.9860703 374.2700 0.9429449
## May 1958 0.9850875 375.5794 0.9811380
## Jun 1958 1.1160434 377.1730 1.0333980
## Jul 1958 1.2415994 378.7734 1.0440482
## Aug 1958 1.2331919 381.2015 1.0742517
## Sep 1958 1.0697998 383.6453 0.9843487
## Oct 1958 0.9321623 386.6073 0.9961686
## Nov 1958 0.8077298 389.5922 0.9851114
## Dec 1958 0.9042619 392.8128 0.9487462
## Jan 1959 0.9124332 396.0600 0.9961860
## Feb 1959 0.8922327 400.2301 0.9577192
## Mar 1959 1.0159924 404.4441 0.9880457
## Apr 1959 0.9860703 409.7882 0.9800039
## May 1959 0.9850875 415.2029 1.0268667
## Jun 1959 1.1160434 420.8169 1.0050039
## Jul 1959 1.2415994 426.5068 1.0348398
## Aug 1959 1.2331919 430.9021 1.0519679
## Sep 1959 1.0697998 435.3428 0.9941389
## Oct 1959 0.9321623 438.8444 0.9949296
## Nov 1959 0.8077298 442.3741 1.0131012
## Dec 1959 0.9042619 446.0808 1.0040313
## Jan 1960 0.9124332 449.8186 1.0160090
## Feb 1960 0.8922327 453.9261 0.9654137
## Mar 1960 1.0159924 458.0711 0.9003071
## Apr 1960 0.9860703 462.1153 1.0116789
## May 1960 0.9850875 466.1952 1.0277782
## Jun 1960 1.1160434 470.1191 1.0196820
## Jul 1960 1.2415994 474.0762 1.0567220
## Aug 1960 1.2331919 478.2454 1.0275220
## Sep 1960 1.0697998 482.4514 0.9842550
## Oct 1960 0.9321623 486.6737 1.0161821
## Nov 1960 0.8077298 490.9329 0.9835046
## Dec 1960 0.9042619 495.0963 0.9649389
par(mfrow=c(2,1))
library(forecast)
monthplot(AirPassengers, xlab="",  ylab="")  
seasonplot(AirPassengers, year.labels="TRUE", main="")

par(opar)

Listing 15.4 - Simple exponential smoothing

library(forecast)
fit <- HoltWinters(nhtemp, beta=FALSE, gamma=FALSE)      
fit
## Holt-Winters exponential smoothing without trend and without seasonal component.
## 
## Call:
## HoltWinters(x = nhtemp, beta = FALSE, gamma = FALSE)
## 
## Smoothing parameters:
##  alpha: 0.1860813
##  beta : FALSE
##  gamma: FALSE
## 
## Coefficients:
##       [,1]
## a 51.87641
forecast(fit, 1)  
##      Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 1972       51.87641 50.42279 53.33002 49.65329 54.09952
plot(forecast(fit, 1), xlab="Year", 
     ylab=expression(paste("Temperature (", degree*F,")",)),
     main="New Haven Annual Mean Temperature") 

Listing 15.5 - Exponential smoothing with level, slope, and seasonal components

fit <- HoltWinters(log(AirPassengers))      
fit
## Holt-Winters exponential smoothing with trend and additive seasonal component.
## 
## Call:
## HoltWinters(x = log(AirPassengers))
## 
## Smoothing parameters:
##  alpha: 0.3266015
##  beta : 0.005744138
##  gamma: 0.8206654
## 
## Coefficients:
##             [,1]
## a    6.172308435
## b    0.008981893
## s1  -0.073201087
## s2  -0.140973564
## s3  -0.036703294
## s4   0.014522733
## s5   0.032554237
## s6   0.154873570
## s7   0.294317062
## s8   0.276063997
## s9   0.088237657
## s10 -0.032657089
## s11 -0.198012716
## s12 -0.102863837
pred <- forecast(fit, 5)                                  
pred
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## Jan 1961       6.108089 6.057867 6.158312 6.031281 6.184898
## Feb 1961       6.049299 5.996436 6.102161 5.968452 6.130145
## Mar 1961       6.162551 6.107146 6.217956 6.077816 6.247285
## Apr 1961       6.222759 6.164896 6.280622 6.134265 6.311252
## May 1961       6.249772 6.189525 6.310019 6.157633 6.341912
plot(pred, main="Forecast for Air Travel", 
     ylab="Log(AirPassengers)", xlab="Time")       

pred$mean <- exp(pred$mean)
pred$lower <- exp(pred$lower)
pred$upper <- exp(pred$upper)
p <- cbind(pred$mean, pred$lower, pred$upper)
dimnames(p)[[2]] <- c("mean", "Lo 80", "Lo 95", "Hi 80", "Hi 95")
p
##              mean    Lo 80    Lo 95    Hi 80    Hi 95
## Jan 1961 449.4790 427.4626 416.2477 472.6295 485.3634
## Feb 1961 423.8157 401.9936 390.9003 446.8224 459.5027
## Mar 1961 474.6372 449.0552 436.0759 501.6767 516.6085
## Apr 1961 504.0920 475.7516 461.3999 534.1206 550.7342
## May 1961 517.8948 487.6146 472.3087 550.0553 567.8808

Listing 15.6 - Automatic exponential forecasting with ets()

library(forecast)
fit <- ets(JohnsonJohnson)
fit
## ETS(M,A,A) 
## 
## Call:
##  ets(y = JohnsonJohnson) 
## 
##   Smoothing parameters:
##     alpha = 0.2776 
##     beta  = 0.0636 
##     gamma = 0.5867 
## 
##   Initial states:
##     l = 0.6276 
##     b = 0.0165 
##     s = -0.2293 0.1913 -0.0074 0.0454
## 
##   sigma:  0.0921
## 
##      AIC     AICc      BIC 
## 163.6392 166.0716 185.5165
plot(forecast(fit), main="Johnson and Johnson Forecasts", 
     ylab="Quarterly Earnings (Dollars)", xlab="Time")

Listing 15.7 - Transforming the time series and assessing stationarity

library(forecast)
library(tseries)
## Warning: package 'tseries' was built under R version 3.5.1
plot(Nile)

ndiffs(Nile)
## [1] 1
dNile <- diff(Nile)                                              
plot(dNile)

adf.test(dNile)
## Warning in adf.test(dNile): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  dNile
## Dickey-Fuller = -6.5924, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary

Listing 15.8 - Fit an ARIMA model

fit <- arima(Nile, order=c(0,1,1))                                 
fit
## 
## Call:
## arima(x = Nile, order = c(0, 1, 1))
## 
## Coefficients:
##           ma1
##       -0.7329
## s.e.   0.1143
## 
## sigma^2 estimated as 20600:  log likelihood = -632.55,  aic = 1269.09
accuracy(fit)
##                    ME     RMSE      MAE       MPE     MAPE     MASE
## Training set -11.9358 142.8071 112.1752 -3.574702 12.93594 0.841824
##                   ACF1
## Training set 0.1153593

Listing 15.9 - Evaluating the model fit

qqnorm(fit$residuals)     
qqline(fit$residuals)

Box.test(fit$residuals, type="Ljung-Box")
## 
##  Box-Ljung test
## 
## data:  fit$residuals
## X-squared = 1.3711, df = 1, p-value = 0.2416

Listing 15.10 - Forecasting with an ARIMA model

forecast(fit, 3)
##      Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 1971       798.3673 614.4307 982.3040 517.0605 1079.674
## 1972       798.3673 607.9845 988.7502 507.2019 1089.533
## 1973       798.3673 601.7495 994.9851 497.6663 1099.068
plot(forecast(fit, 3), xlab="Year", ylab="Annual Flow")

Listing 15.11 - Automated ARIMA forecasting

library(forecast)
fit <- auto.arima(sunspots)
fit
## Series: sunspots 
## ARIMA(2,1,2) 
## 
## Coefficients:
##          ar1      ar2      ma1     ma2
##       1.3467  -0.3963  -1.7710  0.8103
## s.e.  0.0303   0.0287   0.0205  0.0194
## 
## sigma^2 estimated as 243.8:  log likelihood=-11745.5
## AIC=23500.99   AICc=23501.01   BIC=23530.71
forecast(fit, 3)
##          Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## Jan 1984       40.43784 20.42717 60.44850 9.834167 71.04150
## Feb 1984       41.35311 18.26341 64.44281 6.040458 76.66576
## Mar 1984       39.79670 15.23663 64.35677 2.235319 77.35808
accuracy(fit)
##                       ME     RMSE      MAE MPE MAPE      MASE        ACF1
## Training set -0.02672716 15.60055 11.02575 NaN  Inf 0.4775401 -0.01055012