Beruflich Dokumente
Kultur Dokumente
Forecasting using
Forecasting using R
Outline
3 ARIMA modelling in R
Forecasting using R
Autoregressive models
Autoregressive (AR) models:
yt = c + 1 yt1 + 2 yt2 + + p ytp + et ,
where et is white noise. This is a multiple regression
with lagged values of yt as predictors.
Forecasting using R
Autoregressive models
Autoregressive (AR) models:
yt = c + 1 yt1 + 2 yt2 + + p ytp + et ,
where et is white noise. This is a multiple regression
with lagged values of yt as predictors.
AR(2)
16
18
10
20
11
22
12
24
13
AR(1)
20
40
60
Forecasting using R
80
100
20
40
60
80
100
3
AR(1) model
yt = c + 1 yt1 + et
When 1 = 0, yt is equivalent to WN
When 1 = 1 and c = 0, yt is
equivalent to a RW
When 1 = 1 and c 6= 0, yt is
equivalent to a RW with drift
When 1 < 0, yt tends to oscillate
between positive and negative
values.
Forecasting using R
AR(1) model
yt = c + 1 yt1 + et
When 1 = 0, yt is equivalent to WN
When 1 = 1 and c = 0, yt is
equivalent to a RW
When 1 = 1 and c 6= 0, yt is
equivalent to a RW with drift
When 1 < 0, yt tends to oscillate
between positive and negative
values.
Forecasting using R
AR(1) model
yt = c + 1 yt1 + et
When 1 = 0, yt is equivalent to WN
When 1 = 1 and c = 0, yt is
equivalent to a RW
When 1 = 1 and c 6= 0, yt is
equivalent to a RW with drift
When 1 < 0, yt tends to oscillate
between positive and negative
values.
Forecasting using R
AR(1) model
yt = c + 1 yt1 + et
When 1 = 0, yt is equivalent to WN
When 1 = 1 and c = 0, yt is
equivalent to a RW
When 1 = 1 and c 6= 0, yt is
equivalent to a RW with drift
When 1 < 0, yt tends to oscillate
between positive and negative
values.
Forecasting using R
Forecasting using R
17
18
19
20
21
22
23
MA(1)
20
40
Forecasting using R
60
80
100
20
40
60
80
100
ARIMA models
Autoregressive Moving Average models:
yt = c + 1 yt1 + + p ytp
+ 1 et1 + + q etq + et .
Predictors include both lagged values of yt
and lagged errors.
ARMA models can be used for a huge range of
stationary time series.
They model the short-term dynamics.
An ARMA model applied to differenced data is
an ARIMA model.
Forecasting using R
ARIMA models
Autoregressive Moving Average models:
yt = c + 1 yt1 + + p ytp
+ 1 et1 + + q etq + et .
Predictors include both lagged values of yt
and lagged errors.
ARMA models can be used for a huge range of
stationary time series.
They model the short-term dynamics.
An ARMA model applied to differenced data is
an ARIMA model.
Forecasting using R
ARIMA models
Autoregressive Moving Average models:
yt = c + 1 yt1 + + p ytp
+ 1 et1 + + q etq + et .
Predictors include both lagged values of yt
and lagged errors.
ARMA models can be used for a huge range of
stationary time series.
They model the short-term dynamics.
An ARMA model applied to differenced data is
an ARIMA model.
Forecasting using R
ARIMA models
Autoregressive Moving Average models:
yt = c + 1 yt1 + + p ytp
+ 1 et1 + + q etq + et .
Predictors include both lagged values of yt
and lagged errors.
ARMA models can be used for a huge range of
stationary time series.
They model the short-term dynamics.
An ARMA model applied to differenced data is
an ARIMA model.
Forecasting using R
ARIMA models
Autoregressive Moving Average models:
yt = c + 1 yt1 + + p ytp
+ 1 et1 + + q etq + et .
Predictors include both lagged values of yt
and lagged errors.
ARMA models can be used for a huge range of
stationary time series.
They model the short-term dynamics.
An ARMA model applied to differenced data is
an ARIMA model.
Forecasting using R
ARIMA models
Autoregressive Integrated Moving Average
models
ARIMA(p, d, q) model
AR: p = order of the autoregressive part
I: d = degree of first differencing involved
MA: q = order of the moving average part.
White noise model: ARIMA(0,0,0)
Random walk: ARIMA(0,1,0) with no constant
Random walk with drift: ARIMA(0,1,0) with const.
AR(p): ARIMA(p,0,0)
MA(q): ARIMA(0,0,q)
Forecasting using R
ARIMA models
Autoregressive Integrated Moving Average
models
ARIMA(p, d, q) model
AR: p = order of the autoregressive part
I: d = degree of first differencing involved
MA: q = order of the moving average part.
White noise model: ARIMA(0,0,0)
Random walk: ARIMA(0,1,0) with no constant
Random walk with drift: ARIMA(0,1,0) with const.
AR(p): ARIMA(p,0,0)
MA(q): ARIMA(0,0,q)
Forecasting using R
ARIMA models
Autoregressive Integrated Moving Average
models
ARIMA(p, d, q) model
AR: p = order of the autoregressive part
I: d = degree of first differencing involved
MA: q = order of the moving average part.
White noise model: ARIMA(0,0,0)
Random walk: ARIMA(0,1,0) with no constant
Random walk with drift: ARIMA(0,1,0) with const.
AR(p): ARIMA(p,0,0)
MA(q): ARIMA(0,0,q)
Forecasting using R
ARIMA models
Autoregressive Integrated Moving Average
models
ARIMA(p, d, q) model
AR: p = order of the autoregressive part
I: d = degree of first differencing involved
MA: q = order of the moving average part.
White noise model: ARIMA(0,0,0)
Random walk: ARIMA(0,1,0) with no constant
Random walk with drift: ARIMA(0,1,0) with const.
AR(p): ARIMA(p,0,0)
MA(q): ARIMA(0,0,q)
Forecasting using R
ARIMA models
Autoregressive Integrated Moving Average
models
ARIMA(p, d, q) model
AR: p = order of the autoregressive part
I: d = degree of first differencing involved
MA: q = order of the moving average part.
White noise model: ARIMA(0,0,0)
Random walk: ARIMA(0,1,0) with no constant
Random walk with drift: ARIMA(0,1,0) with const.
AR(p): ARIMA(p,0,0)
MA(q): ARIMA(0,0,q)
Forecasting using R
US personal consumption
1
0
1
2
US consumption
1970
1980
1990
2000
2010
Year
Forecasting using R
US personal consumption
> fit <- auto.arima(usconsumption[,1], seasonal=FALSE)
ARIMA(0,0,3) with non-zero mean
Coefficients:
ma1
ma2
ma3 intercept
0.2542 0.2260 0.2695
0.7562
s.e. 0.0767 0.0779 0.0692
0.0844
sigma^2 estimated as 0.3856: log likelihood=-154.73
AIC=319.46
AICc=319.84
BIC=334.96
Forecasting using R
US personal consumption
> fit <- auto.arima(usconsumption[,1], seasonal=FALSE)
ARIMA(0,0,3) with non-zero mean
Coefficients:
ma1
ma2
ma3 intercept
0.2542 0.2260 0.2695
0.7562
s.e. 0.0767 0.0779 0.0692
0.0844
sigma^2 estimated as 0.3856: log likelihood=-154.73
AIC=319.46
AICc=319.84
BIC=334.96
0.3856.
9
US personal consumption
1.0
0.5
0.0
0.5
1.0
1.5
2.0
1995
Forecasting using R
2000
2005
2010
10
US personal consumption
1.0
0.5
0.0
0.5
1.0
1.5
2.0
1995
2000
2005
plot(forecast(fit,h=10),include=80)
Forecasting using R
2010
10
forecasts will
forecasts will
forecasts will
forecasts will
forecasts will
forecasts will
11
12
12
12
12
12
Outline
3 ARIMA modelling in R
Forecasting using R
13
e2t .
t 1
Forecasting using R
14
e2t .
t 1
Forecasting using R
14
e2t .
t 1
Forecasting using R
14
e2t .
t 1
Forecasting using R
14
Outline
3 ARIMA modelling in R
Forecasting using R
ARIMA modelling in R
15
+ 1 et1 + + q etq + et .
where yt0 has been differenced d times. We need to
select the appropriate orders: p, q, d
Forecasting using R
ARIMA modelling in R
16
+ 1 et1 + + q etq + et .
where yt0 has been differenced d times. We need to
select the appropriate orders: p, q, d
Hyndman and Khandakar (JSS, 2008)
algorithm:
Select no. differences d via unit root tests.
Select p, q by minimising AICc.
Use stepwise search to traverse model space.
Forecasting using R
ARIMA modelling in R
16
Forecasting using R
ARIMA modelling in R
17
Forecasting using R
ARIMA modelling in R
17
Forecasting using R
ARIMA modelling in R
17
Modelling procedure
8/ arima models
177
Use automated
algorithm.
3. If necessary, difference
the data until it appears
stationary. Use unit-root
tests if you are unsure.
4. Plot the ACF/PACF of
the differenced data and
try to determine possible candidate models.
5. Try your chosen model(s)
and use the AICc to
search for a better model.
6. Check the residuals
from your chosen model
by plotting the ACF of the
residuals, and doing a portmanteau test of the residuals.
no
Do the
residuals
look like
white
noise?
yes
7. Calculate forecasts.
Forecasting using R
casting usingmodelling
an ARIMA model.
ARIMA
in R
18
110
100
90
80
2000
2005
2010
Year
Forecasting using R
ARIMA modelling in R
19
ARIMA modelling in R
20
ARIMA modelling in R
20
ARIMA modelling in R
20
ar3
0.3730
0.0679
ma1
-0.4542
0.1993
Forecasting using R
ARIMA modelling in R
21
Acf(residuals(fit))
Box.test(residuals(fit), lag=24,
fitdf=4, type="Ljung")
Forecasting using R
ARIMA modelling in R
22
Acf(residuals(fit))
Box.test(residuals(fit), lag=24,
fitdf=4, type="Ljung")
Forecasting using R
ARIMA modelling in R
22
Acf(residuals(fit))
Box.test(residuals(fit), lag=24,
fitdf=4, type="Ljung")
Forecasting using R
ARIMA modelling in R
22
50
60
70
80
90
100
110
120
2000
Forecasting using R
2005
2010
ARIMA modelling in R
23
50
60
70
80
90
100
110
120
2000
> plot(forecast(fit))
Forecasting using R
2005
2010
ARIMA modelling in R
23
Prediction intervals
Prediction intervals increase in size with
forecast horizon.
Prediction intervals can be difficult to calculate
by hand
Calculations assume residuals are
uncorrelated and normally distributed.
Prediction intervals tend to be too narrow.
the uncertainty in the parameter estimates has not
been accounted for.
the ARIMA model assumes historical patterns will
not change during the forecast period.
the ARIMA model assumes uncorrelated future
errors
Forecasting using R
ARIMA modelling in R
24
Prediction intervals
Prediction intervals increase in size with
forecast horizon.
Prediction intervals can be difficult to calculate
by hand
Calculations assume residuals are
uncorrelated and normally distributed.
Prediction intervals tend to be too narrow.
the uncertainty in the parameter estimates has not
been accounted for.
the ARIMA model assumes historical patterns will
not change during the forecast period.
the ARIMA model assumes uncorrelated future
errors
Forecasting using R
ARIMA modelling in R
24
Prediction intervals
Prediction intervals increase in size with
forecast horizon.
Prediction intervals can be difficult to calculate
by hand
Calculations assume residuals are
uncorrelated and normally distributed.
Prediction intervals tend to be too narrow.
the uncertainty in the parameter estimates has not
been accounted for.
the ARIMA model assumes historical patterns will
not change during the forecast period.
the ARIMA model assumes uncorrelated future
errors
Forecasting using R
ARIMA modelling in R
24
Prediction intervals
Prediction intervals increase in size with
forecast horizon.
Prediction intervals can be difficult to calculate
by hand
Calculations assume residuals are
uncorrelated and normally distributed.
Prediction intervals tend to be too narrow.
the uncertainty in the parameter estimates has not
been accounted for.
the ARIMA model assumes historical patterns will
not change during the forecast period.
the ARIMA model assumes uncorrelated future
errors
Forecasting using R
ARIMA modelling in R
24
Prediction intervals
Prediction intervals increase in size with
forecast horizon.
Prediction intervals can be difficult to calculate
by hand
Calculations assume residuals are
uncorrelated and normally distributed.
Prediction intervals tend to be too narrow.
the uncertainty in the parameter estimates has not
been accounted for.
the ARIMA model assumes historical patterns will
not change during the forecast period.
the ARIMA model assumes uncorrelated future
errors
Forecasting using R
ARIMA modelling in R
24
Prediction intervals
Prediction intervals increase in size with
forecast horizon.
Prediction intervals can be difficult to calculate
by hand
Calculations assume residuals are
uncorrelated and normally distributed.
Prediction intervals tend to be too narrow.
the uncertainty in the parameter estimates has not
been accounted for.
the ARIMA model assumes historical patterns will
not change during the forecast period.
the ARIMA model assumes uncorrelated future
errors
Forecasting using R
ARIMA modelling in R
24
Prediction intervals
Prediction intervals increase in size with
forecast horizon.
Prediction intervals can be difficult to calculate
by hand
Calculations assume residuals are
uncorrelated and normally distributed.
Prediction intervals tend to be too narrow.
the uncertainty in the parameter estimates has not
been accounted for.
the ARIMA model assumes historical patterns will
not change during the forecast period.
the ARIMA model assumes uncorrelated future
errors
Forecasting using R
ARIMA modelling in R
24