Professional Documents
Culture Documents
Forecasting using
Forecasting using R 1
Student award
To students who make the most contribution to
the class, as voted by their peers.
Contributions can be on Piazza or during the
webex online sessions.
Contribute questions, answers, comments,
code suggestions, etc.
Looking for engaged learners, not experts.
At end of course, all students to vote for best
contributor.
$100 to the top voted student and $50 to
the second student (plus t-shirts).
Forecasting using R 2
Time zones
Forecasting using R 3
Outline
1 White noise
3 Seasonal adjustment
−1
−2
−3
0 10 20 30 40 50
Time
Forecasting using R White noise 5
Example: White noise
White noise
2
well.)
x
−1
−2
−3
0 10 20 30 40 50
Time
Forecasting using R White noise 5
Example: White noise
White noise
2
well.)
x
−1
0 10 20 30 40 50
Time
Forecasting using R White noise 5
Example: White noise
r1 = 0.013
0.4
r2 = −0.163
r3 = 0.163
0.2
r4 = −0.259
ACF
0.0
r5 = −0.198
r6 = 0.064
r7 = −0.139 −0.2
r8 = −0.032
−0.4
r9 = 0.199 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0.4
T = 50 and so
0.2
critical √
values at
±1.96/ 50 =
ACF
0.0
±0.28.
−0.2
All autocorrelation
coefficients lie within −0.4
these limits, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Lag
90
80
0.0
−0.2
0 10 20 30 40
Lag
0
−50
−100
Day
−0.05
−0.15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Lag
0.15
0.10
0.05
ACF
−0.05
−0.15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Lag
0.15
0.10
0.05
ACF
−0.05
−0.15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Lag
1 White noise
3 Seasonal adjustment
Yt = f (St , Tt , Et )
where Yt = data at period t
St = seasonal component at period t
Tt = trend-cycle component at period t
Et = remainder (or irregular or error)
component at period t
Additive decomposition: Yt = St + Tt + Et .
Multiplicative decomposition: Yt = St × Tt × Et .
Yt = f (St , Tt , Et )
where Yt = data at period t
St = seasonal component at period t
Tt = trend-cycle component at period t
Et = remainder (or irregular or error)
component at period t
Additive decomposition: Yt = St + Tt + Et .
Multiplicative decomposition: Yt = St × Tt × Et .
Yt = f (St , Tt , Et )
where Yt = data at period t
St = seasonal component at period t
Tt = trend-cycle component at period t
Et = remainder (or irregular or error)
component at period t
Additive decomposition: Yt = St + Tt + Et .
Multiplicative decomposition: Yt = St × Tt × Et .
90
70
data
50
30
10
5
seasonal
0
−5
−10
60
trend
50
40
30
10
remainder
0
−10
1975 1980 1985 1990 1995
time
90
70
data
50
30
10
5
seasonal
0
−10 −5
60
trend
50
40
5 10
remainder
−5 0
−15
1975 1980 1985 1990 1995
time
60
50
40
30
60
50
40
30
50
30
Time
5
Seasonal
0
−10
50
30
−5
−15
Time
50
30
−5
−15
Time
90
70
data
50
30
10
5
seasonal
0
−10 −5
60
trend
50
40
5 10
remainder
−5 0
−15
1975 1980 1985 1990 1995
time
plot(decompose(hsales))
plot(stl(hsales,s.window="periodic"))
plot(stl(hsales,s.window=15))
100
90
80
70
60
100
90
80
70
60
120
100
data
80
60
10
5
seasonal
0
−10
−20
110
100
trend
90
80
6
4
remainder
2
0
−4
−8
2000 2005 2010
time
Forecasting using R Time series decomposition 34
Euro electrical equipment
120
fit <- stl(elecequip, s.window=5)
100
data
plot(fit)
80
60
10
5
seasonal
0
−10
−20
110
100
trend
90
80
6
4
remainder
2
0
−4
−8
2000 2005 2010
time
Forecasting using R Time series decomposition 35
Euro electrical equipment
15
10
5
Seasonal
0
−5
−10
−15
−20
J F M A M J J A S O N D
Seasonal sub-series plot of the seasonal component
Forecasting using R Time series decomposition 36
Euro electrical equipment
15
monthplot(fit$time.series[,"seasonal"],
10
ylab="Seasonal")
5
Seasonal
0
−5
−10
−15
−20
J F M A M J J A S O N D
Seasonal sub-series plot of the seasonal component
Forecasting using R Time series decomposition 37
Euro electrical equipment
120
100
data
80
60
10
5
seasonal
0
−5
−15
110
100
trend
90
80
10
5
remainder
0
−5
2000 2005 2010
time
Forecasting using R Time series decomposition 38
Euro electrical equipment
120
fit <- stl(elecequip, t.window=15,
100
data
s.window="periodic", robust=TRUE)
80
plot(fit)
60
10
5
seasonal
0
−5
−15
110
100
trend
90
80
10
5
remainder
0
−5
2000 2005 2010
time
Forecasting using R Time series decomposition 39
Euro electrical equipment
120
fit <- stl(elecequip, t.window=15,
100
data
s.window="periodic", robust=TRUE)
80
plot(fit)
60
10
5
seasonal
0
t.window
−5
controls
−15
wiggliness of
110
trend
100
trend
component.
90
80
10
s.window
5
remainder
controls
0
variation in
−5
seasonal
2000 2005 2010
component. time
Forecasting using R Time series decomposition 40
Euro electrical equipment
120
fit <- stl(elecequip, t.window=15,
100
data
s.window="periodic", robust=TRUE)
80
plot(fit)
60
10
5
seasonal
0
t.window
−5
controls
−15
wiggliness of
110
trend
100
trend
component.
90
80
10
s.window
5
remainder
controls
0
variation in
−5
seasonal
2000 2005 2010
component. time
Forecasting using R Time series decomposition 40
Outline
1 White noise
3 Seasonal adjustment
Yt − St = Tt + Et
Yt /St = Tt × Et
Yt − St = Tt + Et
Yt /St = Tt × Et
Yt − St = Tt + Et
Yt /St = Tt × Et
100
90
80
70
60
seasadj(obj)
where obj is the output from stl() or
decompose().
Example
plot(hsales,col="gray")
fit <- stl(hsales,s.window=15)
hsales.sa <- seasadj(fit)
lines(hsales.sa, col="red")
seasadj(obj)
where obj is the output from stl() or
decompose().
Example
plot(hsales,col="gray")
fit <- stl(hsales,s.window=15)
hsales.sa <- seasadj(fit)
lines(hsales.sa, col="red")
1 White noise
3 Seasonal adjustment
100
90
80
70
60
90
80
70
80
60
40