Forecasting: principles and practice · 2018. 7. 26. · Forecasting: principles and practice Rob J...

Preview:

Citation preview

1

Forecasting:principles andpractice

Rob J Hyndman

2 ARIMA models

Outline

1 Stationarity and differencing

2 Backshift notation

3 Autoregressive models

4 Moving Average models

5 Non-seasonal ARIMA models

6 Seasonal ARIMA models

7 Lab Session 3

2

Stationarity

DefinitionIf {yt} is a stationary time series, then for all s, thedistribution of (yt, . . . , yt+s) does not depend on t.

A stationary series is:roughly horizontalconstant varianceno patterns predictable in the long-term

Transformations (e.g., logs) can help to stabilizethe variance.Differences can help to stabilize the mean.

3

Stationarity

DefinitionIf {yt} is a stationary time series, then for all s, thedistribution of (yt, . . . , yt+s) does not depend on t.

A stationary series is:roughly horizontalconstant varianceno patterns predictable in the long-term

Transformations (e.g., logs) can help to stabilizethe variance.Differences can help to stabilize the mean.

3

Stationarity

DefinitionIf {yt} is a stationary time series, then for all s, thedistribution of (yt, . . . , yt+s) does not depend on t.

A stationary series is:roughly horizontalconstant varianceno patterns predictable in the long-term

Transformations (e.g., logs) can help to stabilizethe variance.Differences can help to stabilize the mean. 3

Stationary?dj %>% autoplot() +ylab("Dow Jones Index") + xlab("Day")

3600

3700

3800

3900

4000

0 50 100 150 200 250 300

Day

Dow

Jon

es In

dex

4

Stationary?dj %>% diff() %>% autoplot() +ylab("Change in Dow Jones Index") + xlab("Day")

−100

−50

0

50

0 50 100 150 200 250 300

Day

Cha

nge

in D

ow J

ones

Inde

x

5

Stationary?hsales %>% autoplot() +

xlab("Year") + ylab("Total sales") +ggtitle("Sales of new one-family houses, USA")

40

60

80

1975 1980 1985 1990 1995

Year

Tota

l sal

es

Sales of new one−family houses, USA

6

Stationary?hsales %>% diff(lag=12) %>% autoplot() +xlab("Year") + ylab("Total sales") +ggtitle("Seasonal differences of sales of new one-family houses, USA")

−20

0

20

1975 1980 1985 1990 1995

Year

Tota

l sal

es

Seasonal differences of sales of new one−family houses, USA

7

Stationary?hsales %>% diff(lag=12) %>% diff(lag=1) %>% autoplot() +xlab("Year") + ylab("Total sales") +ggtitle("Seasonal differences of sales of new one-family houses, USA")

−10

0

10

1975 1980 1985 1990 1995

Year

Tota

l sal

es

Seasonal differences of sales of new one−family houses, USA

8

Electricity production

usmelec %>% autoplot()

200

300

400

1980 1990 2000 2010

Time

.

9

Electricity production

usmelec %>% log() %>% autoplot()

5.1

5.4

5.7

6.0

1980 1990 2000 2010

Time

.

10

Electricity production

usmelec %>% log() %>% diff(lag=12) %>%autoplot()

0.0

0.1

1980 1990 2000 2010

Time

.

11

Electricity production

usmelec %>% log() %>% diff(lag=12) %>%diff(lag=1) %>% autoplot()

−0.15

−0.10

−0.05

0.00

0.05

0.10

1980 1990 2000 2010

Time

.

12

Outline

1 Stationarity and differencing

2 Backshift notation

3 Autoregressive models

4 Moving Average models

5 Non-seasonal ARIMA models

6 Seasonal ARIMA models

7 Lab Session 3

13

Backshift notation

Backward shift operator

Shift back one periodByt = yt−1

Shift back two periods:B(Byt) = B2yt = yt−2

Shift back 12 periodsB12yt = yt−12

14

Backshift notation

Backward shift operator

Shift back one periodByt = yt−1

Shift back two periods:B(Byt) = B2yt = yt−2

Shift back 12 periodsB12yt = yt−12

14

Backshift notation

Backward shift operator

Shift back one periodByt = yt−1

Shift back two periods:B(Byt) = B2yt = yt−2

Shift back 12 periodsB12yt = yt−12 14

Backshift notation

First differencesy′t = yt − yt−1 = yt − Byt = (1− B)yt .

Second-order differences (i.e., first differences offirst differences):

y′′t = (1− B)2yt .

dth-order differences:(1− B)dyt.

Seasonal difference followed by first difference:(1− B)(1− Bm)yt .

15

Backshift notation

First differencesy′t = yt − yt−1 = yt − Byt = (1− B)yt .

Second-order differences (i.e., first differences offirst differences):

y′′t = (1− B)2yt .

dth-order differences:(1− B)dyt.

Seasonal difference followed by first difference:(1− B)(1− Bm)yt .

15

Backshift notation

First differencesy′t = yt − yt−1 = yt − Byt = (1− B)yt .

Second-order differences (i.e., first differences offirst differences):

y′′t = (1− B)2yt .

dth-order differences:(1− B)dyt.

Seasonal difference followed by first difference:(1− B)(1− Bm)yt .

15

Backshift notation

First differencesy′t = yt − yt−1 = yt − Byt = (1− B)yt .

Second-order differences (i.e., first differences offirst differences):

y′′t = (1− B)2yt .

dth-order differences:(1− B)dyt.

Seasonal difference followed by first difference:(1− B)(1− Bm)yt .

15

Outline

1 Stationarity and differencing

2 Backshift notation

3 Autoregressive models

4 Moving Average models

5 Non-seasonal ARIMA models

6 Seasonal ARIMA models

7 Lab Session 3

16

Autoregressive models

Autoregressive (AR) models:

yt = c + φ1yt−1 + φ2yt−2 + · · · + φpyt−p + εt(1− φ1B− · · · − φpBp)yt = c + εt

where εt is white noise. This is a multiple regressionwith lagged values of yt as predictors.

8

10

12

0 20 40 60 80 100

Time

AR(1)

15.0

17.5

20.0

22.5

25.0

0 20 40 60 80 100

Time

AR(2)

17

Stationarity conditions

We normally restrict autoregressive models tostationary data, and then some constraints on thevalues of the parameters are required.General condition for stationarityComplex roots of 1− φ1z− φ2z2 − · · · − φpzp lieoutside the unit circle on the complex plane.

For p = 1: −1 < φ1 < 1.For p = 2:−1 < φ2 < 1 φ2 + φ1 < 1 φ2 − φ1 < 1.More complicated conditions hold for p ≥ 3.

18

Stationarity conditions

We normally restrict autoregressive models tostationary data, and then some constraints on thevalues of the parameters are required.General condition for stationarityComplex roots of 1− φ1z− φ2z2 − · · · − φpzp lieoutside the unit circle on the complex plane.

For p = 1: −1 < φ1 < 1.For p = 2:−1 < φ2 < 1 φ2 + φ1 < 1 φ2 − φ1 < 1.More complicated conditions hold for p ≥ 3.

18

Outline

1 Stationarity and differencing

2 Backshift notation

3 Autoregressive models

4 Moving Average models

5 Non-seasonal ARIMA models

6 Seasonal ARIMA models

7 Lab Session 3

19

Moving Average (MA) models

Moving Average (MA) models:

yt = c + εt + θ1εt−1 + θ2εt−2 + · · · + θqεt−qyt = c + (1 + θ1B + · · · + θqBq)εt

where εt is white noise. This is a multiple regressionwith past errors as predictors.

18

20

22

0 20 40 60 80 100

Time

MA(1)

−5.0

−2.5

0.0

2.5

0 20 40 60 80 100

Time

MA(2)

20

Invertibility

Invertible models have property that distant pasthas negligible effect on forecasts. Requiresconsraints on MA parameters.

General condition for invertibilityComplex roots of 1 + θ1z + θ2z2 + · · · + θqzq lie outsidethe unit circle on the complex plane.

For q = 1: −1 < θ1 < 1.For q = 2:−1 < θ2 < 1 θ2 + θ1 > −1 θ1 − θ2 < 1.More complicated conditions hold for q ≥ 3.

21

Invertibility

Invertible models have property that distant pasthas negligible effect on forecasts. Requiresconsraints on MA parameters.

General condition for invertibilityComplex roots of 1 + θ1z + θ2z2 + · · · + θqzq lie outsidethe unit circle on the complex plane.

For q = 1: −1 < θ1 < 1.For q = 2:−1 < θ2 < 1 θ2 + θ1 > −1 θ1 − θ2 < 1.More complicated conditions hold for q ≥ 3.

21

Outline

1 Stationarity and differencing

2 Backshift notation

3 Autoregressive models

4 Moving Average models

5 Non-seasonal ARIMA models

6 Seasonal ARIMA models

7 Lab Session 3

22

ARIMA models

Autoregressive Moving Average models:yt = c + φ1yt−1 + · · · + φpyt−p

+ θ1εt−1 + · · · + θqεt−q + εtφp(B)yt = θq(B)εt

Predictors include both lagged values of yt andlagged errors.φp(B) is a pth order polynomial in Bθq(B) is a qth order polynomial in B

Autoregressive Integrated Moving Average modelsCombine ARMA model with differencing.(1− B)dyt follows an ARMA model.

23

ARIMA models

Autoregressive Moving Average models:yt = c + φ1yt−1 + · · · + φpyt−p

+ θ1εt−1 + · · · + θqεt−q + εtφp(B)yt = θq(B)εt

Predictors include both lagged values of yt andlagged errors.φp(B) is a pth order polynomial in Bθq(B) is a qth order polynomial in B

Autoregressive Integrated Moving Average modelsCombine ARMA model with differencing.(1− B)dyt follows an ARMA model.

23

ARIMA models

Autoregressive Moving Average models:yt = c + φ1yt−1 + · · · + φpyt−p

+ θ1εt−1 + · · · + θqεt−q + εtφp(B)yt = θq(B)εt

Predictors include both lagged values of yt andlagged errors.φp(B) is a pth order polynomial in Bθq(B) is a qth order polynomial in B

Autoregressive Integrated Moving Average modelsCombine ARMA model with differencing.(1− B)dyt follows an ARMA model. 23

ARIMA models

Autoregressive Integrated Moving Average modelsARIMA(p, d, q) modelAR: p = order of the autoregressive partI: 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 constantRandom walk with drift: ARIMA(0,1,0) with const.AR(p): ARIMA(p,0,0)MA(q): ARIMA(0,0,q) 24

Backshift notation for ARIMA

ARIMA(p, 0, q) model:yt = c + φ1yt−1 + · · · + φpyt−p + θ1εt−1 + · · · + θqεt−q + εtyt = c + φ1Byt + · · · + φpBpyt + εt + θ1Bεt + · · · + θqBqεt

or (1− φ1B− · · · − φpBp)yt = c + (1 + θ1B + · · · + θqBq)εt

ARIMA(1,1,1) model:(1− φ1B) (1− B)yt = c + (1 + θ1B)εt↑ ↑ ↑

AR(1) First MA(1)difference

Written out:yt = c + yt−1 + φ1yt−1 − φ1yt−2 + θ1εt−1 + εt

25

Backshift notation for ARIMA

ARIMA(p, 0, q) model:yt = c + φ1yt−1 + · · · + φpyt−p + θ1εt−1 + · · · + θqεt−q + εtyt = c + φ1Byt + · · · + φpBpyt + εt + θ1Bεt + · · · + θqBqεt

or (1− φ1B− · · · − φpBp)yt = c + (1 + θ1B + · · · + θqBq)εt

ARIMA(1,1,1) model:(1− φ1B) (1− B)yt = c + (1 + θ1B)εt↑ ↑ ↑

AR(1) First MA(1)difference

Written out:yt = c + yt−1 + φ1yt−1 − φ1yt−2 + θ1εt−1 + εt

25

Backshift notation for ARIMA

ARIMA(p, 0, q) model:yt = c + φ1yt−1 + · · · + φpyt−p + θ1εt−1 + · · · + θqεt−q + εtyt = c + φ1Byt + · · · + φpBpyt + εt + θ1Bεt + · · · + θqBqεt

or (1− φ1B− · · · − φpBp)yt = c + (1 + θ1B + · · · + θqBq)εt

ARIMA(1,1,1) model:(1− φ1B) (1− B)yt = c + (1 + θ1B)εt↑ ↑ ↑

AR(1) First MA(1)difference

Written out:yt = c + yt−1 + φ1yt−1 − φ1yt−2 + θ1εt−1 + εt 25

R modelIntercept form

(1− φ1B− · · · − φpBp)(1− B)dyt = c + (1 + θ1B + · · · + θqBq)εt

Mean form

(1− φ1B− · · · − φpBp)(1− B)d(yt − µtd/d!) =(1 + θ1B + · · · + θqBq)εt

µ is the mean of (1− B)dyt.c = µ(1− φ1 − · · · − φp).R uses mean form.Including c equivalent to yt having dth orderpolynomial trend.

26

US personal consumptionautoplot(uschange[,"Consumption"]) +xlab("Year") + ylab("Quarterly percentage change") +ggtitle("US consumption")

−2

−1

0

1

2

1970 1980 1990 2000 2010

Year

Qua

rter

ly p

erce

ntag

e ch

ange

US consumption

27

US personal consumption(fit <- auto.arima(uschange[,"Consumption"]))

## Series: uschange[, "Consumption"]

## ARIMA(2,0,2) with non-zero mean

##

## Coefficients:

## ar1 ar2 ma1 ma2 mean

## 1.391 -0.581 -1.180 0.558 0.746

## s.e. 0.255 0.208 0.238 0.140 0.084

##

## sigma^2 estimated as 0.351: log likelihood=-165.1

## AIC=342.3 AICc=342.8 BIC=361.7

ARIMA(2,0,2) model:yt = c + 1.391yt−1 − 0.581yt−2 − 1.180εt−1 + 0.558εt−2 + εt,

where c = 0.746× (1− 1.391 + 0.581) = 0.142 and εt ∼ N(0, 0.351).

28

US personal consumption(fit <- auto.arima(uschange[,"Consumption"]))

## Series: uschange[, "Consumption"]

## ARIMA(2,0,2) with non-zero mean

##

## Coefficients:

## ar1 ar2 ma1 ma2 mean

## 1.391 -0.581 -1.180 0.558 0.746

## s.e. 0.255 0.208 0.238 0.140 0.084

##

## sigma^2 estimated as 0.351: log likelihood=-165.1

## AIC=342.3 AICc=342.8 BIC=361.7

ARIMA(2,0,2) model:yt = c + 1.391yt−1 − 0.581yt−2 − 1.180εt−1 + 0.558εt−2 + εt,

where c = 0.746× (1− 1.391 + 0.581) = 0.142 and εt ∼ N(0, 0.351). 28

US personal consumption

fit %>% forecast(h=10) %>% autoplot(include=80)

−1

0

1

2

2000 2005 2010 2015 2020

Time

usch

ange

[, "C

onsu

mpt

ion"

]

level

80

95

Forecasts from ARIMA(2,0,2) with non−zero mean

29

Information criteria

Akaike’s Information Criterion (AIC):AIC = −2 log(L) + 2(p + q + k + 1),

where L is the likelihood of the data,k = 1 if c 6= 0 and k = 0 if c = 0.

Corrected AIC:

AICc = AIC +2(p + q + k + 1)(p + q + k + 2)

T − p− q− k− 2.

Good models are obtained by minimizing the AICc.

30

Information criteria

Akaike’s Information Criterion (AIC):AIC = −2 log(L) + 2(p + q + k + 1),

where L is the likelihood of the data,k = 1 if c 6= 0 and k = 0 if c = 0.

Corrected AIC:

AICc = AIC +2(p + q + k + 1)(p + q + k + 2)

T − p− q− k− 2.

Good models are obtained by minimizing the AICc.

30

Information criteria

Akaike’s Information Criterion (AIC):AIC = −2 log(L) + 2(p + q + k + 1),

where L is the likelihood of the data,k = 1 if c 6= 0 and k = 0 if c = 0.

Corrected AIC:

AICc = AIC +2(p + q + k + 1)(p + q + k + 2)

T − p− q− k− 2.

Good models are obtained by minimizing the AICc.

30

How does auto.arima() work?

A non-seasonal ARIMA process

φ(B)(1− B)dyt = c + θ(B)εtNeed to select appropriate orders: p, q, d

Hyndman and Khandakar (JSS, 2008) algorithm:

Select no. differences d and D via KPSS test andseasonal strength measure.Select p, q by minimising AICc.Use stepwise search to traverse model space.

31

How does auto.arima() work?

Step 1: Select values of d and D.

Step 2: Select current model (with smallest AICc) from:ARIMA(2, d, 2)ARIMA(0, d, 0)ARIMA(1, d, 0)ARIMA(0, d, 1)

Step 3: Consider variations of current model:vary one of p, q, from current model by±1;p, q both vary from current model by±1;Include/exclude c from current model.

Model with lowest AICc becomes current model.

Repeat Step 3 until no lower AICc can be found.

32

How does auto.arima() work?

Step 1: Select values of d and D.

Step 2: Select current model (with smallest AICc) from:ARIMA(2, d, 2)ARIMA(0, d, 0)ARIMA(1, d, 0)ARIMA(0, d, 1)

Step 3: Consider variations of current model:vary one of p, q, from current model by±1;p, q both vary from current model by±1;Include/exclude c from current model.

Model with lowest AICc becomes current model.

Repeat Step 3 until no lower AICc can be found. 32

Choosing an ARIMA model

autoplot(internet)

80

120

160

200

0 20 40 60 80 100

Time

inte

rnet

33

Choosing an ARIMA model

(fit <- auto.arima(internet))

## Series: internet## ARIMA(1,1,1)#### Coefficients:## ar1 ma1## 0.650 0.526## s.e. 0.084 0.090#### sigma^2 estimated as 10: log likelihood=-254.2## AIC=514.3 AICc=514.5 BIC=522.1

34

Choosing an ARIMA model

(fit <- auto.arima(internet, stepwise=FALSE,approximation=FALSE))

## Series: internet## ARIMA(3,1,0)#### Coefficients:## ar1 ar2 ar3## 1.151 -0.661 0.341## s.e. 0.095 0.135 0.094#### sigma^2 estimated as 9.66: log likelihood=-252## AIC=512 AICc=512.4 BIC=522.4

35

Choosing an ARIMA model

checkresiduals(fit, plot=TRUE)

−5

0

5

0 20 40 60 80 100

Residuals from ARIMA(3,1,0)

−0.2

−0.1

0.0

0.1

0.2

5 10 15 20

Lag

AC

F

0

5

10

15

20

−10 −5 0 5 10

residuals

coun

t

##

## Ljung-Box test

##

## data: Residuals from ARIMA(3,1,0)

## Q* = 4.5, df = 7, p-value = 0.7

##

## Model df: 3. Total lags used: 10

36

Choosing an ARIMA model

fit %>% forecast() %>% autoplot()

100

150

200

250

0 30 60 90

Time

inte

rnet

level

80

95

Forecasts from ARIMA(3,1,0)

37

Outline

1 Stationarity and differencing

2 Backshift notation

3 Autoregressive models

4 Moving Average models

5 Non-seasonal ARIMA models

6 Seasonal ARIMA models

7 Lab Session 3

38

Seasonal ARIMA models

ARIMA (p, d, q)︸ ︷︷ ︸ (P,D,Q)m︸ ︷︷ ︸↑ ↑

Non-seasonal part Seasonal part ofof the model of the model

wherem = number of observations per year.

39

Seasonal ARIMA models

E.g., ARIMA(1, 1, 1)(1, 1, 1)4 model (without constant)

(1−φ1B)(1−Φ1B4)(1−B)(1−B4)yt = (1+θ1B)(1+Θ1B4)εt.

6 6 6 6 6 6(Non-seasonal

AR(1)

)(SeasonalAR(1)

)(Non-seasonaldifference

)(

Seasonaldifference

)(Non-seasonal

MA(1)

)(SeasonalMA(1)

)

40

Seasonal ARIMA models

E.g., ARIMA(1, 1, 1)(1, 1, 1)4 model (without constant)(1−φ1B)(1−Φ1B4)(1−B)(1−B4)yt = (1+θ1B)(1+Θ1B4)εt.

6 6 6 6 6 6(Non-seasonal

AR(1)

)(SeasonalAR(1)

)(Non-seasonaldifference

)(

Seasonaldifference

)(Non-seasonal

MA(1)

)(SeasonalMA(1)

)

40

Seasonal ARIMA models

E.g., ARIMA(1, 1, 1)(1, 1, 1)4 model (without constant)(1−φ1B)(1−Φ1B4)(1−B)(1−B4)yt = (1+θ1B)(1+Θ1B4)εt.

6 6 6 6 6 6(Non-seasonal

AR(1)

)(SeasonalAR(1)

)(Non-seasonaldifference

)(

Seasonaldifference

)(Non-seasonal

MA(1)

)(SeasonalMA(1)

)

40

Seasonal ARIMA models

E.g., ARIMA(1, 1, 1)(1, 1, 1)4 model (without constant)(1−φ1B)(1−Φ1B4)(1−B)(1−B4)yt = (1+θ1B)(1+Θ1B4)εt.

All the factors can be multiplied out and the generalmodel written as follows:

yt = (1 + φ1)yt−1 − φ1yt−2 + (1 + Φ1)yt−4− (1 + φ1 + Φ1 + φ1Φ1)yt−5 + (φ1 + φ1Φ1)yt−6−Φ1yt−8 + (Φ1 + φ1Φ1)yt−9 − φ1Φ1yt−10+ εt + θ1εt−1 + Θ1εt−4 + θ1Θ1εt−5.

41

European quarterly retail trade

autoplot(euretail) +xlab("Year") + ylab("Retail index")

92

96

100

2000 2005 2010

Year

Ret

ail i

ndex

42

European quarterly retail trade

(fit <- auto.arima(euretail))

## Series: euretail## ARIMA(1,1,2)(0,1,1)[4]#### Coefficients:## ar1 ma1 ma2 sma1## 0.736 -0.466 0.216 -0.843## s.e. 0.224 0.199 0.210 0.188#### sigma^2 estimated as 0.159: log likelihood=-29.62## AIC=69.24 AICc=70.38 BIC=79.63

43

European quarterly retail trade

(fit <- auto.arima(euretail, stepwise=TRUE,approximation=FALSE))

## Series: euretail## ARIMA(1,1,2)(0,1,1)[4]#### Coefficients:## ar1 ma1 ma2 sma1## 0.736 -0.466 0.216 -0.843## s.e. 0.224 0.199 0.210 0.188#### sigma^2 estimated as 0.159: log likelihood=-29.62## AIC=69.24 AICc=70.38 BIC=79.63

44

European quarterly retail trade

checkresiduals(fit, test=FALSE)

−1.0

−0.5

0.0

0.5

1.0

2000 2005 2010

Residuals from ARIMA(1,1,2)(0,1,1)[4]

−0.2

−0.1

0.0

0.1

0.2

4 8 12 16

Lag

AC

F

0

5

10

−1.0 −0.5 0.0 0.5 1.0

residuals

coun

t

45

European quarterly retail trade

forecast(fit, h=36) %>% autoplot()

80

90

100

110

1995 2000 2005 2010 2015 2020

Time

eure

tail level

80

95

Forecasts from ARIMA(1,1,2)(0,1,1)[4]

46

Cortecosteroid drug salesH

02 sales (million scripts)

Log H02 sales

1995 2000 2005

0.50

0.75

1.00

1.25

−0.8

−0.4

0.0

Year

47

Cortecosteroid drug sales

(fit <- auto.arima(h02, lambda=0, max.order=9,

stepwise=FALSE, approximation=FALSE))

## Series: h02

## ARIMA(4,1,1)(2,1,2)[12]

## Box Cox transformation: lambda= 0

##

## Coefficients:

## ar1 ar2 ar3 ar4 ma1 sar1

## -0.042 0.210 0.202 -0.227 -0.742 0.621

## s.e. 0.217 0.181 0.114 0.081 0.207 0.242

## sar2 sma1 sma2

## -0.383 -1.202 0.496

## s.e. 0.118 0.249 0.214

##

## sigma^2 estimated as 0.00405: log likelihood=254.3

## AIC=-488.6 AICc=-487.4 BIC=-456.1

48

Cortecosteroid drug sales

checkresiduals(fit)

−0.2

−0.1

0.0

0.1

1995 2000 2005

Residuals from ARIMA(4,1,1)(2,1,2)[12]

−0.1

0.0

0.1

12 24 36

Lag

AC

F

0

10

20

30

−0.2 −0.1 0.0 0.1 0.2

residuals

coun

t

#### Ljung-Box test#### data: Residuals from ARIMA(4,1,1)(2,1,2)[12]## Q* = 16, df = 15, p-value = 0.4#### Model df: 9. Total lags used: 24

49

Understanding ARIMA models

Long-term forecastszero c = 0, d + D = 0non-zero constant c = 0, d + D = 1 c 6= 0, d + D = 0linear c = 0, d + D = 2 c 6= 0, d + D = 1quadratic c = 0, d + D = 3 c 6= 0, d + D = 2

Forecast variance and d + DThe higher the value of d + D, the more rapidlythe prediction intervals increase in size.For d + D = 0, the long-term forecast standarddeviation will go to the standard deviation of thehistorical data.

50

Prediction intervals

Prediction intervals increase in size withforecast horizon.Calculations assume residuals are uncorrelatedand normally distributed.Prediction intervals tend to be too narrow.

the uncertainty in the parameter estimates has notbeen accounted for.the ARIMA model assumes historical patterns willnot change during the forecast period.the ARIMA model assumes uncorrelated futureerrors

51

Outline

1 Stationarity and differencing

2 Backshift notation

3 Autoregressive models

4 Moving Average models

5 Non-seasonal ARIMA models

6 Seasonal ARIMA models

7 Lab Session 3

52

Lab Session 3

53

Recommended