Outline Time series and forecasting in R

advertisement
Time series and forecasting in R
1
Time series and forecasting in R
2
Outline
Time series and forecasting
in R
1
Time series objects
2
Basic time series functionality
3
The forecast package
4
Exponential smoothing
5
ARIMA modelling
6
More from the forecast package
7
Time series packages on CRAN
Rob J Hyndman
29 June 2008
Time series and forecasting in R
Time series objects
4
Time series and forecasting in R
Australian GDP
Time series objects
5
Australian GDP
Time series and forecasting in R
Time series objects
> plot(ausgdp)
6500
6000
4500
5000
5500
ausgdp
7000
7500
ausgdp <- ts(scan("gdp.dat"),frequency=4,
start=1971+2/4)
Class: ts
Print and plotting methods available.
> ausgdp
Qtr1 Qtr2 Qtr3 Qtr4
1971
4612 4651
1972 4645 4615 4645 4722
1973 4780 4830 4887 4933
1974 4921 4875 4867 4905
1975 4938 4934 4942 4979
1976 5028 5079 5112 5127
1977 5130 5101 5072 5069
1978 5100 5166 5244 5312
1979 5349 5370 5388 5396
1980 5388 5403 5442 5482
1975
1980
1985
1990
1995
Time
6
Time series and forecasting in R
7
Australian beer production
Apr
144
150
154
126
127
May
155
129
137
131
151
Jun
125
131
129
125
130
Jul
153
145
128
127
119
Aug
146
137
140
143
153
Sep
138
138
143
143
Oct
190
168
151
160
Nov
192
176
177
190
Dec
192
188
184
182
beer
Mar
152
163
150
164
152
140
Feb
148
133
143
134
136
120
> beer
Jan
1991 164
1992 147
1993 139
1994 151
1995 138
160
180
Australian beer production
Time series objects
> plot(beer)
1991
1992
1993
1994
1995
Time
Time series and forecasting in R
Basic time series functionality
Lag plots
9
Time series and forecasting in R
Basic time series functionality
Lag plots
> lag.plot(beer,lags=12)
200
100
12 47
11
24
36
48
35
23
4
10
11
12
47
24
36
23
35
22
39
1
15
46
528
3
373416
227
13
26 45 4 33
25
2129 9 49
38 50
14
17 41 30
40 52
35
7
19
18
42
44
32
20
31
8
43
6
15 39
1
49
46
5
3
28
16
8
32
4
29
41 17
40
lag 6
2335
46
5
7
37
13
8
19
26
45
4433
329
21 25 2920
38 14
18
3041
17
31
43
642
34
15
39
27
28 3
16
2
4
8
45 33444 19
32
21
20
beer
1
5
37
2
13
26
9
29
18
41
17
43
6
37
26
25
38 14
lag 10
100
120
140
38
14
lag 9
10 11
35
1
28
4
lag 11
160
12
24
36
23
22
39 15
5
73
27 34 216
8
19
33 26
45
44
32
29
20 921
38
14
4130 18
17
31 43
40
6
42
3
2
27
13
30
6
36
46
30 31
42 40
28
7
4 4419
25
41 17 18
40
42
11 12
24
10
23
34
16 3 27
5
34
16
8
33 45
32
2192920
31
43
40
36
7 28
39 151
46
lag 8
12
24
35
23
22
39
15
22
1
22
1
lag 7
11
10
10
47
3
11
12 10 47
24
36
22
37 27
2
13
19
26
44
25 2021
949
38
14
18
30
31
43
42 6
15 39
5
7 28
16
272
8 19 13
4
45
33
4426
25 32 20 21
9
29
50
14 38
18
17 30 41
31 40
43
6
42
35
23
347
beer
46
34
37
10 12 11
24
36 48
47
39 15
beer
180
160
beer
46
lag 5
12
1
120
10
48
23
5
283 51
7
34
16
27
13
8 2
19
4
26 33
45
44
32
25
50 38499 2021 29
14
41 17 18
30 43
31
40
426
22
33
45
lag 3
11
12
24
36 48
35 23
37
lag 4
11
10
47
24
48 36
3523
39 15
1
46
5
7
328
51
37
53
16 34
27
13 2
8
19
4
26
45
33 44
32
25
49
21 9
29
20
50
38
14
18 41
30 31 43
52 40 17
6 42
22
beer
beer
36
48
51
11
200
36
37
13
25
180
35
22
39
115
160
120
39
1
15
46
5
28 7
51 3 37
34
16 27
2
13
8
19
26 44
33
45
32
25
49
9
20 21
1830 1454
17
31
43
426
29
50
38
41
40 52
lag 2
12
47
24
180
12
180
53
9
160
10
24
48
23
22
285
3
37 7 16 3427
2
19 2681333 4
44
32
29 92021 25
38 14
18
41
31 17
43 30
40
6
42
140
140
34
lag 1
140
35
160
46
5
28 37
51
5337
16
227
1319
8
33 4 45
44 26
32
21
29 49
20 25 50
38
14
18
3143 52
6
55
54 413017
4240
140
1147
140
115
beer
160
beer
39
120
10
22
120
11
10
3523
120
180
47
22
180
180
36
beer
160
12
24
48
beer
140
beer
120
beer
100
lag 12
200
> lag.plot(beer,lags=12,do.lines=FALSE)
100
120
140
160
180
200
100
120
140
160
180
200
lag.plot(x, lags = 1, layout = NULL,
set.lags = 1:lags, main = NULL,
asp = 1, diag = TRUE,
diag.col = "gray", type = "p",
oma = NULL, ask = NULL,
do.lines = (n <= 150), labels = do.lines,
...)
10
Time series and forecasting in R
Basic time series functionality
11
Time series and forecasting in R
12
0.4
PACF
1.0
ACF
Basic time series functionality
> pacf(beer)
0.2
0.0
Partial ACF
0.4
0.2
−0.4
−0.2
−0.2
0.0
ACF
0.6
0.8
> acf(beer)
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
0.2
0.4
0.6
Lag
0.8
1.0
1.2
1.4
Lag
Time series and forecasting in R
Basic time series functionality
13
Time series and forecasting in R
Basic time series functionality
14
Spectrum
Raw periodogram
500.0
ACF/PACF
100.0
20.0
0.2
0.5
2.0
ARMAacf(ar = numeric(0), ma = numeric(0), lag.max = r,
pacf = FALSE)
spectrum
pacf(x, lag.max, plot, na.action, ...)
5.0
acf(x, lag.max = NULL,
type = c("correlation", "covariance", "partial"),
plot = TRUE, na.action = na.fail, demean = TRUE, ...)
> spectrum(beer)
0
1
2
3
4
5
6
frequency
Time series and forecasting in R
Basic time series functionality
15
Time series and forecasting in R
Spectrum
Basic time series functionality
16
Spectrum
500 1000
AR(12) spectrum
> spectrum(beer,method="ar")
spectrum(x, ..., method = c("pgram", "ar"))
100
50
spec.ar(x, n.freq, order = NULL, plot = TRUE,
na.action = na.fail,
method = "yule-walker", ...)
10
20
spectrum
200
spec.pgram(x, spans = NULL, kernel, taper = 0.1,
pad = 0, fast = TRUE, demean = FALSE,
detrend = TRUE, plot = TRUE,
na.action = na.fail, ...)
0
1
2
3
4
5
6
frequency
Time series and forecasting in R
Basic time series functionality
17
Time series and forecasting in R
Classical decomposition
STL decomposition
160
20
0
−20
152
1991
1992
1993
1994
Time
1995
15
−15
−5
5
remainder
0 10 −20
146
0
20
trend
158
40
146 150 154
seasonal
130
120
160
data
190
plot(stl(beer,s.window="periodic"))
−20
seasonal
trend
observed
decompose(beer)
Decomposition of additive time series
random
Basic time series functionality
1991
1992
1993
1994
time
1995
18
Time series and forecasting in R
Basic time series functionality
19
Time series and forecasting in R
Decomposition
21
forecast package
> forecast(beer)
Point Forecast
Sep 1995
138.5042
Oct 1995
169.1987
Nov 1995
181.6725
Dec 1995
178.5394
Jan 1996
144.0816
Feb 1996
135.7967
Mar 1996
151.4813
Apr 1996
138.9345
May 1996
138.5279
Jun 1996
127.0269
Jul 1996
134.9452
Aug 1996
145.3088
Sep 1996
139.7348
Oct 1996
170.6709
Nov 1996
183.2204
Dec 1996
180.0290
Jan 1997
145.2589
Feb 1997
136.8833
Mar 1997
152.6684
Apr 1997
140.0008
May 1997
139.5691
Time series and forecasting in R
Jun 1997
127.9620
Jul 1997
135.9181
Aug 1997
146.3349
decompose(x, type = c("additive", "multiplicative"),
filter = NULL)
stl(x, s.window, s.degree = 0,
t.window = NULL, t.degree = 1,
l.window = nextodd(period), l.degree = t.degree,
s.jump = ceiling(s.window/10),
t.jump = ceiling(t.window/10),
l.jump = ceiling(l.window/10),
robust = FALSE,
inner = if(robust) 1 else 2,
outer = if(robust) 15 else 0,
na.action = na.fail)
Time series and forecasting in R
The forecast package
22
forecast package
Lo 80
128.2452
156.6506
168.1640
165.2049
133.2492
125.4937
139.8517
128.1106
127.5448
116.7486
123.7716
132.9658
127.4679
155.2397
166.1298
162.6798
130.7803
122.7595
136.3514
124.4953
123.5476
112.7364
119.1567
127.6354
forecast package
Forecasts from ETS(M,Ad,M)
Hi 80
148.7632
181.7468
195.1810
191.8738
154.9140
146.0996
163.1110
149.7584
149.5110
137.3052
146.1187
157.6518
152.0018
186.1020
200.3110
197.3783
159.7374
151.0071
168.9854
155.5064
155.5906
143.1876
152.6795
165.0344
Lo 95
122.8145
150.0081
161.0131
158.1461
127.5148
120.0396
133.6953
122.3808
121.7307
111.3076
117.8567
126.4318
120.9741
147.0709
157.0826
153.4957
123.1159
115.2828
127.7137
116.2871
115.0663
104.6764
110.2837
117.7365
Hi 95
154.1940
188.3894
202.3320
198.9327
160.6483
151.5537
169.2673
155.4882
155.3250
142.7462
152.0337
164.1858
158.4955
194.2708
209.3582
206.5624
167.4019
158.4838
177.6231
163.7145
164.0719
The forecast package
151.2476
161.5525
174.9332
23
> summary(forecast(beer))
> plot(forecast(beer))
Forecast method: ETS(M,Ad,M)
Smoothing
alpha =
beta =
gamma =
phi
=
140
160
180
200
The forecast package
parameters:
0.0267
0.0232
0.025
0.98
100
120
Initial states:
l = 162.5752
b = -0.1598
s = 1.1979 1.2246 1.1452 0.9354 0.9754 0.9068
0.8523 0.9296 0.9342 1.0160 0.9131 0.9696
1991
1992
1993
1994
1995
1996
sigma:
1997
0.0578
AIC
AICc
BIC
499.0295 515.1347 533.4604
Time series and forecasting in R
The forecast package
In-sample error measures:
ME
RMSE
MAE
MPE
0.07741197 8.41555052 7.03312900 -0.29149125
24
Time series and forecasting in R
forecast package
Exponential smoothing
Classic Reference
Makridakis, Wheelwright and
Hyndman (1998) Forecasting:
methods and applications, 3rd ed.,
Wiley: NY.
Exponential smoothing
Until recently, there has been no stochastic
modelling framework incorporating likelihood
calculation, prediction intervals, etc.
Ord, Koehler & Snyder (JASA, 1997) and
Hyndman, Koehler, Snyder and Grose (IJF,
2002) showed that all ES methods (including
non-linear methods) are optimal forecasts from
innovation state space models.
Hyndman et al. (2008) provides a
comprehensive and up-to-date survey of the
area.
The forecast package implements the
framework of HKSO.
Rob J. Hyndman · Anne B. Koehler · J. Keith Ord · Ralph D. Snyder
Forecasting with Exponential Smoothing
Exponential smoothing methods have been around since the 1950s, and are the most popular
forecasting methods used in business and industry. Recently, exponential smoothing has been
revolutionized with the introduction of a complete modeling framework incorporating
inno-vations state space models, likelihood calculation, prediction intervals and procedures for
model selection. In this book, all of the important results for this framework are brought together
in a coherent manner with consistent notation. In addition, many new results and extensions are
introduced and several application areas are examined in detail.
J. Keith Ord is a Professor in the McDonough School of Business, Georgetown University,
Washington DC. He has authored over 100 research papers in statistics and forecasting, and is
a co-author of Kendall's Advanced Theory of Statistics.
Ralph D. Snyder is an Associate Professor in the Department of Econometrics and Business
Statistics at Monash University, Australia. He has extensive publications on business forecasting
and inventory management. He has played a leading role in the establishment of the class of
innovations state space models for exponential smoothing.
ISBN 9-783-540-71916-8
Springer Series in Statistics
Rob J. Hyndman · Anne B. Koehler
J. Keith Ord · Ralph D. Snyder
1
Rob J. Hyndman is a Professor of Statistics and Director of the Business and Economic Forecasting
Unit at Monash University, Australia. He is Editor-in-Chief of the International Journal
of Forecasting, author of over 100 research papers in statistical science, and received the 2007
Moran medal from the Australian Academy of Science for his contributions to statistical research.
Anne B. Koehler is a Professor of Decision Sciences and the Panuska Professor of Business
Administration at Miami University, Ohio. She has numerous publications, many of which are
on forecasting models for seasonal time series and exponential smoothing methods.
Current Reference
Hyndman, Koehler, Ord and
Snyder (2008) Forecasting with
Forecasting
with Exponential
exponential smoothing: the state
Smoothing
space approach, Springer-Verlag:
Berlin.
Hyndman · Koehler · Ord · Snyder
Exponential smoothing
Springer Series in Statistics
Forecasting with Exponential Smoothing
Automatic exponential smoothing state space
modelling.
Automatic ARIMA modelling
Forecasting intermittent demand data using
Croston’s method
Forecasting using Theta method
Forecasting methods for most time series
modelling functions including arima(), ar(),
StructTS(), ets(), and others.
Part of the forecasting bundle along with
fma, expsmooth and Mcomp.
Time series and forecasting in R
MAPE
MASE
Exponential smoothing 26
4.78826138
0.43512047
The State Space Approach
13
27
Time series and forecasting in R
Exponential smoothing
Exponential smoothing
N
(None)
Trend
Component
Seasonal Component
A
M
(Additive) (Multiplicative)
N
(None)
N,N
N,A
N,M
A
(Additive)
A,N
A,A
A,M
Ad
M
(Additive damped)
Ad ,N
(Multiplicative)
M,N
Ad ,A
M,A
Ad ,M
M,M
Md
(Multiplicative damped)
Md ,N
Md ,A
Md ,M
General notation ETS(Error,Trend,Seasonal)
ExponenTial Smoothing
ETS(A,N,N):
ETS(A,A,N):
ETS(A,A,A):
Simple exponential smoothing with additive errors
Holt’s linear method with additive errors
Additive Holt-Winters’ method with
28
Time series and forecasting in R
Exponential smoothing
29
Time series and forecasting in R
Exponential smoothing
Innovations state space models
Innovation state space models
No trend or seasonality
and multiplicative errors
Example: ETS(M,N,N)
Let xt = (`t , bt , st , st−1 , . . . , st−m+1 ) and εt ∼ N(0, σ 2 ).
iid
Example: Holt-Winters’ multiplicative
seasonal method
Example: ETS(M,A,M)
yt = `t−1 (1 + εt )
`t = αyt + (1 − α)`t−1
= `t−1 (1 + αεt )
0≤α≤1
εt is white noise with mean zero.
Yt
`t
bt
st
All exponential smoothing models can be
written using analogous state space equations.
where 0 ≤ α ≤ 1, 0 ≤ β ≤ α, 0 ≤ γ ≤ 1 − α
and m is the period of seasonality.
Time series and forecasting in R
Exponential smoothing
31
= (`t−1 + bt−1 )st−m (1 + εt )
= α(yt /st−m ) + (1 − α)(`t−1 + bt−1 )
= β(`t − `t−1 ) + (1 − β)bt−1
= γ(yt /(`t−1 + bt−1 )) + (1 − γ)st−m
Time series and forecasting in R
Exponential smoothing
Exponential smoothing
Exponential smoothing
From Hyndman et al. (2008):
Apply each of 30 methods that are appropriate
to the data. Optimize parameters and initial
values using MLE (or some other criterion).
Select best method using AIC:
fit <- ets(beer)
fit2 <- ets(beer,model="MNM",damped=FALSE)
fcast1 <- forecast(fit, h=24)
fcast2 <- forecast(fit2, h=24)
AIC = −2 log(Likelihood) + 2p
Exponential smoothing
33
Exponential smoothing
Exponential smoothing
34
Exponential smoothing
36
> fit2
ETS(M,N,M)
parameters:
0.0267
0.0232
0.025
0.98
Smoothing parameters:
alpha = 0.247
gamma = 0.01
Initial states:
l = 168.1208
s = 1.2417 1.2148 1.1388 0.9217 0.9667 0.8934
0.8506 0.9182 0.9262 1.049 0.9047 0.9743
Initial states:
l = 162.5752
b = -0.1598
s = 1.1979 1.2246 1.1452 0.9354 0.9754 0.9068
0.8523 0.9296 0.9342 1.016 0.9131 0.9696
sigma:
Time series and forecasting in R
Exponential smoothing
> fit
ETS(M,Ad,M)
Smoothing
alpha =
beta =
gamma =
phi
=
32
ets(y, model="ZZZ", damped=NULL, alpha=NULL, beta=NULL,
gamma=NULL, phi=NULL, additive.only=FALSE,
lower=c(rep(0.01,3), 0.8), upper=c(rep(0.99,3),0.98),
opt.crit=c("lik","amse","mse","sigma"), nmse=3,
bounds=c("both","usual","admissible"),
ic=c("aic","aicc","bic"), restrict=TRUE)
where p = # parameters.
Produce forecasts using best method.
Obtain prediction intervals using underlying
state space model.
Method performed very well in M3 competition.
Time series and forecasting in R
30
sigma:
0.0578
0.0604
AIC
AICc
BIC
500.0439 510.2878 528.3988
AIC
AICc
BIC
499.0295 515.1347 533.4604
Time series and forecasting in R
Exponential smoothing
35
Time series and forecasting in R
Exponential smoothing
Exponential smoothing
ets() function
Automatically chooses a model by default using
the AIC
Can handle any combination of trend,
seasonality and damping
Produces prediction intervals for every model
Ensures the parameters are admissible
(equivalent to invertible)
Produces an object of class ets.
ets objects
Methods: coef(), plot(),
summary(), residuals(), fitted(),
simulate() and forecast()
plot() function shows time plots of the
original time series along with the
extracted components (level, growth and
seasonal).
Time series and forecasting in R
Exponential smoothing
37
Exponential smoothing
Time series and forecasting in R
Exponential smoothing
38
Goodness-of-fit
160
155
120
> accuracy(fit)
ME
RMSE
0.0774 8.4156
0.0
MAE
MPE
7.0331 -0.2915
MAPE
4.7883
MASE
0.4351
> accuracy(fit2)
ME
RMSE
MAE
MPE
-1.3884 9.0015 7.3303 -1.1945
MAPE
5.0237
MASE
0.4535
1.1
0.9
season
−1.0
slope
0.5
145
level
observed
plot(fit)
Decomposition by ETS(M,Ad,M) method
1991
1992
1993
1994
1995
Time
Time series and forecasting in R
Exponential smoothing
39
Forecast intervals
Time series and forecasting in R
Exponential smoothing
40
Exponential smoothing
200
Forecasts from ETS(M,Ad,M)
160
180
ets() function also allows refitting model to new
data set.
140
> usfit <- ets(usnetelec[1:45])
> test <- ets(usnetelec[46:55], model = usfit)
100
120
> accuracy(test)
ME
RMSE
MAE
MPE
-4.3057 58.1668 43.5241 -0.1023
1992
1993
1994
1995
1996
MASE
0.5206
> accuracy(forecast(usfit,10), usnetelec[46:55])
ME
RMSE
MAE
MPE
MAPE
MASE
ACF1 Theil’s U
46.36580 65.55163 49.83883 1.25087 1.35781 0.72895 0.08899
0.73725
> plot(forecast(fit,level=c(50,80,95)))
1991
MAPE
1.1758
1997
180
200
Forecasts from ETS(M,Ad,M)
Time series and forecasting in R
Exponential smoothing
41
42
forecast class contains
Original series
Point forecasts
Prediction intervals
Forecasting method used
Forecasting model information
Residuals
One-step forecasts for observed data
100
120
140
forecast() function
Takes either a time series as its main
argument, or a time series model.
> Methods
plot(forecast(fit,fan=TRUE))
for objects of class ts, ets,
1991
1992
1993
1994
1995
1996
1997
arima, HoltWinters, StructTS, ar
and others.
If argument is ts, it uses ets model.
Calls predict() when appropriate.
Output as class forecast.
Time series and forecasting in R
Exponential smoothing
forecast package
160
forecast package
Time series and forecasting in R
ARIMA modelling
ARIMA modelling
The arima() function in the stats package
provides seasonal and non-seasonal ARIMA
model estimation including covariates.
However, it does not allow a constant unless
the model is stationary
It does not return everything required for
forecast()
It does not allow re-fitting a model to new data.
So I prefer the Arima() function in the
forecast package which acts as a wrapper to
arima().
Even better, the auto.arima() function in the
forecast package.
Methods applying to the forecast class:
print
plot
summary
44
Time series and forecasting in R
ARIMA modelling
ARIMA modelling
> fit <- auto.arima(beer)
> fit
Series: beer
ARIMA(0,0,0)(1,0,0)[12] with non-zero mean
Coefficients:
sar1 intercept
0.8431
152.1132
s.e. 0.0590
5.1921
sigma^2 estimated as 122.1: log likelihood = -221.44
AIC = 448.88
AICc = 449.34
BIC = 454.95
45
Time series and forecasting in R
ARIMA modelling
46
How does auto.arima() work?
ARIMA modelling
47
How does auto.arima() work?
AIC = −2 log(L) + 2(p + q + P + Q + k)
where L is the maximised likelihood fitted to the differenced data,
k = 1 if c 6= 0 and k = 0 otherwise.
A seasonal ARIMA process
Φ(B m )φ(B)(1 − B m )D (1 − B)d yt = c + Θ(B m )θ(B)εt
Step 1: Select current model (with smallest AIC) from:
ARIMA(2, d, 2)(1, D, 1)m
ARIMA(0, d, 0)(0, D, 0)m
ARIMA(1, d, 0)(1, D, 0)m
if seasonal
ARIMA(0, d, 1)(0, D, 1)m
Step 2: Consider variations of current model:
• vary one of p, q, P, Q from current model by ±1
• p, q both vary from current model by ±1.
• P, Q both vary from current model by ±1.
• Include/exclude c from current model
Model with lowest AIC becomes current model.
Repeat Step 2 until no lower AIC can be found.
Need to select appropriate orders: p, q, P, Q, D, d
Use Hyndman and Khandakar (JSS, 2008)
algorithm:
Select no. differences d and D via unit root
tests.
Select p, q, P, Q by minimising AIC.
Use stepwise search to traverse model space.
Time series and forecasting in R
Time series and forecasting in R
ARIMA modelling
48
ARIMA modelling
Time series and forecasting in R
ARIMA modelling
49
ARIMA vs ETS
Forecasts from ARIMA(0,0,0)(1,0,0)[12] with non−zero mean
Myth that ARIMA models more general than
exponential smoothing.
Linear exponential smoothing models all special
cases of ARIMA models.
Non-linear exponential smoothing models have
no equivalent ARIMA counterparts.
Many ARIMA models which have no
exponential smoothing counterparts.
ETS models all non-stationary. Models with
seasonality or non-damped trend (or both)
have two unit roots; all other models—that is,
non-seasonal models with either no trend or
damped trend—have one unit root.
100
120
140
160
180
200
> plot(forecast(fit))
1991
1992
1993
1994
1995
1996
1997
Forecasts from ETS(M,Ad,M)
180
200
> plot(forecast(beer))
Time series and forecasting in R
More from the forecast package
51
More from the forecast package
52
Other plotting functions
160
Other forecasting functions
Time series and forecasting in R
120
140
croston() implements Croston’s (1972) method for
intermittent demand forecasting.
theta() provides forecasts from the Theta
method.
splinef() gives cubic-spline forecasts, based on
1991
1992
1995
1996
1997
fitting1993
a cubic1994
spline to
the historical
data and extrapolating it linearly.
meanf() returns forecasts based on the historical
mean.
rwf() gives “naı̈ve” forecasts equal to the most
recent observation assuming a random
walk model.
100
tsdisplay() provides a time plot along with an ACF
and PACF.
seasonplot() produces a seasonal plot.
Time series and forecasting in R
More from the forecast package
tsdisplay
53
Time series and forecasting in R
More from the forecast package
seasonplot
> tsdisplay(beer)
●
> seasonplot(beer)
●
●
●
180
●
●
●
●
●
●
●
●
180
●
●
●
●
●
●
●
●
●
●
●
●
140
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
120
●
●
●
●
●
●
●
●
●
●
●
●
●
160
160
●
●
●
●
●
1991
1992
1993
1994
1995
●
●
●
●
●
●
10
Lag
15
●
●
●
●
●
●
●
●
●
●
●
Feb
Mar
Apr
May
Jun
Jul
Month
5
●
●
120
−0.4
15
●
●
●
●
0.4
PACF
0.0
−0.4
10
Lag
●
●
●
Jan
5
●
●
●
●
●
●
●
●
0.0
0.4
140
●
ACF
●
●
●
●
Aug
Sep
Oct
Nov
Dec
54
Time series and forecasting in R
Time series packages on CRAN
56
Time series packages on CRAN
58
Forecasting and univariate
modelling
Methods for linear time series analysis
Bayesian analysis of Dynamic Linear Models.
Time series analysis and control
ARMA Modelling
ARCH/GARCH modelling
Bias-corrected forecasting and bootstrap
prediction intervals for autoregressive
time series
gsarima Generalized SARIMA time series simulation
bayesGARCH Bayesian Estimation of the
GARCH(1,1) Model with t innovations
Time series packages on CRAN
60
nlts R functions for (non)linear time
series analysis
tseriesChaos Nonlinear time series analysis
RTisean Algorithms for time series analysis
from nonlinear dynamical systems
theory.
tsDyn Time series analysis based on
dynamical systems theory
BAYSTAR Bayesian analysis of threshold
autoregressive models
fNonlinear Nonlinear and Chaotic Time Series
Modelling
bentcableAR Bent-Cable autoregression
59
Time series and forecasting in R
Time series packages on CRAN
61
Unit roots and cointegration
robfilter Robust time series filters
mFilter Miscellaneous time series filters useful for
smoothing and extracting trend and
cyclical components.
ArDec Autoregressive decomposition
wmtsa Wavelet methods for time series analysis
based on Percival and Walden (2000)
wavelets Computing wavelet filters, wavelet
transforms and multiresolution analyses
signalextraction Real-time signal extraction
(direct filter approach)
bspec Bayesian inference on the discrete power
spectrum of time series
Nonlinear time series analysis
Time series packages on CRAN
boot Bootstrapping, including the block
bootstrap with several variants.
meboot Maximum Entropy Bootstrap for Time
Series
Decomposition and filtering
Time series packages on CRAN
Time series and forecasting in R
Resampling and simulation
ltsa
dlm
timsac
fArma
fGarch
BootPR
Time series and forecasting in R
57
forecast Lots of univariate time series methods
including automatic ARIMA modelling,
exponential smoothing via state space
models, and the forecast class for
consistent handling of time series
forecasts. Part of the forecasting
bundle.
tseries GARCH models and unit root tests.
FitAR Subset AR model fitting
partsm Periodic autoregressive time series models
pear Periodic autoregressive time series models
stats Contains substantial time series
capabilities including the ts class for
regularly spaced time series. Also ARIMA
modelling, structural models, time series
plots, acf and pacf graphs, classical
decomposition and STL decomposition.
Time series and forecasting in R
Time series packages on CRAN
Forecasting and univariate
modelling
Basic facilities
Time series and forecasting in R
Time series and forecasting in R
tseries Unit root tests and methods for
computational finance.
urca Unit root and cointegration tests
uroot Unit root tests including methods for
seasonal time series
62
Time series and forecasting in R
Time series packages on CRAN
Dynamic regression models
dynlm Dynamic linear models and time series
regression
dyn Time series regression
tpr Regression models with time-varying
coefficients.
63
Time series and forecasting in R
Time series packages on CRAN
64
Multivariate time series models
Time series packages on CRAN
65
far Modelling Functional AutoRegressive
processes
66
Continuous time data
Time series and forecasting in R
Time series packages on CRAN
67
Irregular time series
zoo Infrastructure for both regularly and
irregularly spaced time series.
its Another implementation of irregular
time series.
fCalendar Chronological and Calendarical
Objects
fSeries Financial Time Series Objects
xts Provides for uniform handling of R’s
different time-based data classes
cts Continuous time autoregressive models
sde Simulation and inference for stochastic
differential equations.
Time series and forecasting in R
Time series packages on CRAN
Functional data
mAr Multivariate AutoRegressive analysis
vars VAR and VEC models
MSBVAR Markov-Switching Bayesian Vector
Autoregression Models
tsfa Time series factor analysis
dse Dynamic system equations including
multivariate ARMA and state space
models.
brainwaver Wavelet analysis of multivariate
time series
Time series and forecasting in R
Time series and forecasting in R
Time series packages on CRAN
Time series data
fma Data from Makridakis, Wheelwright and
Hyndman (1998) Forecasting: methods and
applications. Part of the forecasting bundle.
expsmooth Data from Hyndman, Koehler, Ord and Snyder
(2008) Forecasting with exponential smoothing.
Part of the forecasting bundle.
Mcomp Data from the M-competition and
M3-competition. Part of the forecasting bundle.
FinTS R companion to Tsay (2005) Analysis of financial
time series containing data sets, functions and
script files required to work some of the examples.
TSA R functions and datasets from Cryer and Chan
(2008) Time series analysis with applications in R
TSdbi Common interface to time series databases
fame Interface for FAME time series databases
fEcofin Ecofin - Economic and Financial Data Sets
68
Time series and forecasting in R
Time series packages on CRAN
Miscellaneous
hydrosanity Graphical user interface for exploring
hydrological time series
pastecs Regulation, decomposition and
analysis of space-time series.
RSEIS Seismic time series analysis tools
paleoTS Modeling evolution in
paleontological time-series
GeneTS Microarray Time Series and Network
Analysis
fractal Fractal Time Series Modeling and
Analysis
69
Download