Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex...

74
Forecasting using R 1 Forecasting using R Rob J Hyndman 3.4 Advanced methods

Transcript of Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex...

Page 1: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Forecasting using R 1

Forecasting using R

Rob J Hyndman

3.4 Advanced methods

Page 2: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Outline

1 Vector autoregressions

2 Time series with complex seasonality

3 Lab session 17

4 Neural network models

5 Lab session 18

6 Lab session 19

Forecasting using R Vector autoregressions 2

Page 3: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Vector autoregressions

Dynamic regression assumes a unidirectionalrelationship: forecast variable influenced by predictorvariables, but not vice versa.Vector AR allow for feedback relationships. All variablestreated symmetrically.i.e., all variables are now treated as “endogenous”.

Personal consumption may be affected by disposableincome, and vice-versa.e.g., Govt stimulus package in Dec 2008 increasedChristmas spending which increased incomes.

Forecasting using R Vector autoregressions 3

Page 4: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Vector autoregressions

Dynamic regression assumes a unidirectionalrelationship: forecast variable influenced by predictorvariables, but not vice versa.Vector AR allow for feedback relationships. All variablestreated symmetrically.i.e., all variables are now treated as “endogenous”.

Personal consumption may be affected by disposableincome, and vice-versa.e.g., Govt stimulus package in Dec 2008 increasedChristmas spending which increased incomes.

Forecasting using R Vector autoregressions 3

Page 5: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Vector autoregressionsVAR(1)

y1,t = c1 + φ11,1y1,t−1 + φ12,1y2,t−1 + e1,ty2,t = c2 + φ21,1y1,t−1 + φ22,1y2,t−1 + e2,t

Forecasts:

y1,T+1|T = c1 + φ11,1y1,T + φ12,1y2,Ty2,T+1|T = c2 + φ21,1y1,T + φ22,1y2,T.

y1,T+2|T = c1 + φ11,1y1,T+1 + φ12,1y2,T+1

y2,T+2|T = c2 + φ21,1y1,T+1 + φ22,1y2,T+1.

Forecasting using R Vector autoregressions 4

Page 6: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Vector autoregressionsVAR(1)

y1,t = c1 + φ11,1y1,t−1 + φ12,1y2,t−1 + e1,ty2,t = c2 + φ21,1y1,t−1 + φ22,1y2,t−1 + e2,t

Forecasts:

y1,T+1|T = c1 + φ11,1y1,T + φ12,1y2,Ty2,T+1|T = c2 + φ21,1y1,T + φ22,1y2,T.

y1,T+2|T = c1 + φ11,1y1,T+1 + φ12,1y2,T+1

y2,T+2|T = c2 + φ21,1y1,T+1 + φ22,1y2,T+1.

Forecasting using R Vector autoregressions 4

Page 7: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VARs are useful when

forecasting a collection of related variables where noexplicit interpretation is required;testing whether one variable is useful in forecastinganother (the basis of Granger causality tests);impulse response analysis, where the response ofone variable to a sudden but temporary change inanother variable is analysed;forecast error variance decomposition, where theproportion of the forecast variance of one variable isattributed to the effect of other variables.

Forecasting using R Vector autoregressions 5

Page 8: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VARs are useful when

forecasting a collection of related variables where noexplicit interpretation is required;testing whether one variable is useful in forecastinganother (the basis of Granger causality tests);impulse response analysis, where the response ofone variable to a sudden but temporary change inanother variable is analysed;forecast error variance decomposition, where theproportion of the forecast variance of one variable isattributed to the effect of other variables.

Forecasting using R Vector autoregressions 5

Page 9: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VARs are useful when

forecasting a collection of related variables where noexplicit interpretation is required;testing whether one variable is useful in forecastinganother (the basis of Granger causality tests);impulse response analysis, where the response ofone variable to a sudden but temporary change inanother variable is analysed;forecast error variance decomposition, where theproportion of the forecast variance of one variable isattributed to the effect of other variables.

Forecasting using R Vector autoregressions 5

Page 10: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VARs are useful when

forecasting a collection of related variables where noexplicit interpretation is required;testing whether one variable is useful in forecastinganother (the basis of Granger causality tests);impulse response analysis, where the response ofone variable to a sudden but temporary change inanother variable is analysed;forecast error variance decomposition, where theproportion of the forecast variance of one variable isattributed to the effect of other variables.

Forecasting using R Vector autoregressions 5

Page 11: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VAR example> ar(usconsumption,order=3)$ar, , 1 consumption incomeconsumption 0.222 0.0424income 0.475 -0.2390

, , 2 consumption incomeconsumption 0.2001 -0.0977income 0.0288 -0.1097

, , 3 consumption incomeconsumption 0.235 -0.0238income 0.406 -0.0923

$var.predconsumption income

consumption 0.393 0.193income 0.193 0.735

Forecasting using R Vector autoregressions 6

Page 12: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VAR example

> library(vars)> VARselect(usconsumption, lag.max=8, type="const")$selectionAIC(n) HQ(n) SC(n) FPE(n)

5 1 1 5> var <- VAR(usconsumption, p=3, type="const")> serial.test(var, lags.pt=10, type="PT.asymptotic")Portmanteau Test (asymptotic)data: Residuals of VAR object varChi-squared = 33.3837, df = 28, p-value = 0.2219

Forecasting using R Vector autoregressions 7

Page 13: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VAR example> summary(var)VAR Estimation Results:=========================Endogenous variables: consumption, incomeDeterministic variables: constSample size: 161

Estimation results for equation consumption:============================================

Estimate Std. Error t value Pr(>|t|)consumption.l1 0.22280 0.08580 2.597 0.010326 *income.l1 0.04037 0.06230 0.648 0.518003consumption.l2 0.20142 0.09000 2.238 0.026650 *income.l2 -0.09830 0.06411 -1.533 0.127267consumption.l3 0.23512 0.08824 2.665 0.008530 **income.l3 -0.02416 0.06139 -0.394 0.694427const 0.31972 0.09119 3.506 0.000596 ***

Forecasting using R Vector autoregressions 8

Page 14: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VAR exampleEstimation results for equation income:=======================================

Estimate Std. Error t value Pr(>|t|)consumption.l1 0.48705 0.11637 4.186 4.77e-05 ***income.l1 -0.24881 0.08450 -2.945 0.003736 **consumption.l2 0.03222 0.12206 0.264 0.792135income.l2 -0.11112 0.08695 -1.278 0.203170consumption.l3 0.40297 0.11967 3.367 0.000959 ***income.l3 -0.09150 0.08326 -1.099 0.273484const 0.36280 0.12368 2.933 0.003865 **---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation matrix of residuals:consumption income

consumption 1.0000 0.3639income 0.3639 1.0000

Forecasting using R Vector autoregressions 9

Page 15: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VAR example

fcst <- forecast(var)plot(fcst, xlab="Year")

Forecasting using R Vector autoregressions 10

Page 16: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

VAR example

Forecasting using R Vector autoregressions 11

cons

umpt

ion

−2

−1

01

2

inco

me

−2

01

23

4

1970 1980 1990 2000 2010

Year

Forecasts from VAR(3)

Page 17: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Outline

1 Vector autoregressions

2 Time series with complex seasonality

3 Lab session 17

4 Neural network models

5 Lab session 18

6 Lab session 19

Forecasting using R Time series with complex seasonality 12

Page 18: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Examples

Forecasting using R Time series with complex seasonality 13

7

8

9

10

1995 2000 2005Year

Tho

usan

ds o

f bar

rels

per

day

US finished motor gasoline products

Page 19: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Examples

Forecasting using R Time series with complex seasonality 13

0

100

200

300

400

500

1 2 3 4 5 6 7 8 9 10 11 12 13Week

Num

ber

of c

alls

in 5

min

ute

inte

rval

Number of calls to large American bank (7am...9pm)

Page 20: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Examples

Forecasting using R Time series with complex seasonality 13

10000

15000

20000

25000

2000 2002 2004 2006 2008 2010Year

Ele

ctric

ity d

eman

d (M

W)

Turkish daily electricity demand

Page 21: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

TBATSTrigonometric terms for seasonalityBox-Cox transformations for heterogeneityARMA errors for short-term dynamicsTrend (possibly damped)Seasonal (including multiple and

non-integer periods)

Forecasting using R Time series with complex seasonality 14

Page 22: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

yt = observation at time t

y(ω)t =

{(yωt − 1)/ω if ω 6= 0;log yt if ω = 0.

y(ω)t = `t−1 + φbt−1 +M∑i=1

s(i)t−mi+ dt

`t = `t−1 + φbt−1 + αdtbt = (1− φ)b+ φbt−1 + βdt

dt =p∑

i=1

φidt−i +

q∑j=1

θjεt−j + εt

s(i)t =

ki∑j=1

s(i)j,t

Forecasting using R Time series with complex seasonality 15

s(i)j,t = s(i)j,t−1 cosλ(i)j + s∗(i)j,t−1 sinλ

(i)j + γ

(i)1 dt

s(i)j,t = −s(i)j,t−1 sinλ

(i)j + s∗(i)j,t−1 cosλ

(i)j + γ

(i)2 dt

Page 23: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

yt = observation at time t

y(ω)t =

{(yωt − 1)/ω if ω 6= 0;log yt if ω = 0.

y(ω)t = `t−1 + φbt−1 +M∑i=1

s(i)t−mi+ dt

`t = `t−1 + φbt−1 + αdtbt = (1− φ)b+ φbt−1 + βdt

dt =p∑

i=1

φidt−i +

q∑j=1

θjεt−j + εt

s(i)t =

ki∑j=1

s(i)j,t

Forecasting using R Time series with complex seasonality 15

s(i)j,t = s(i)j,t−1 cosλ(i)j + s∗(i)j,t−1 sinλ

(i)j + γ

(i)1 dt

s(i)j,t = −s(i)j,t−1 sinλ

(i)j + s∗(i)j,t−1 cosλ

(i)j + γ

(i)2 dt

Box-Cox transformation

Page 24: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

yt = observation at time t

y(ω)t =

{(yωt − 1)/ω if ω 6= 0;log yt if ω = 0.

y(ω)t = `t−1 + φbt−1 +M∑i=1

s(i)t−mi+ dt

`t = `t−1 + φbt−1 + αdtbt = (1− φ)b+ φbt−1 + βdt

dt =p∑

i=1

φidt−i +

q∑j=1

θjεt−j + εt

s(i)t =

ki∑j=1

s(i)j,t

Forecasting using R Time series with complex seasonality 15

s(i)j,t = s(i)j,t−1 cosλ(i)j + s∗(i)j,t−1 sinλ

(i)j + γ

(i)1 dt

s(i)j,t = −s(i)j,t−1 sinλ

(i)j + s∗(i)j,t−1 cosλ

(i)j + γ

(i)2 dt

Box-Cox transformation

M seasonal periods

Page 25: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

yt = observation at time t

y(ω)t =

{(yωt − 1)/ω if ω 6= 0;log yt if ω = 0.

y(ω)t = `t−1 + φbt−1 +M∑i=1

s(i)t−mi+ dt

`t = `t−1 + φbt−1 + αdtbt = (1− φ)b+ φbt−1 + βdt

dt =p∑

i=1

φidt−i +

q∑j=1

θjεt−j + εt

s(i)t =

ki∑j=1

s(i)j,t

Forecasting using R Time series with complex seasonality 15

s(i)j,t = s(i)j,t−1 cosλ(i)j + s∗(i)j,t−1 sinλ

(i)j + γ

(i)1 dt

s(i)j,t = −s(i)j,t−1 sinλ

(i)j + s∗(i)j,t−1 cosλ

(i)j + γ

(i)2 dt

Box-Cox transformation

M seasonal periods

global and local trend

Page 26: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

yt = observation at time t

y(ω)t =

{(yωt − 1)/ω if ω 6= 0;log yt if ω = 0.

y(ω)t = `t−1 + φbt−1 +M∑i=1

s(i)t−mi+ dt

`t = `t−1 + φbt−1 + αdtbt = (1− φ)b+ φbt−1 + βdt

dt =p∑

i=1

φidt−i +

q∑j=1

θjεt−j + εt

s(i)t =

ki∑j=1

s(i)j,t

Forecasting using R Time series with complex seasonality 15

s(i)j,t = s(i)j,t−1 cosλ(i)j + s∗(i)j,t−1 sinλ

(i)j + γ

(i)1 dt

s(i)j,t = −s(i)j,t−1 sinλ

(i)j + s∗(i)j,t−1 cosλ

(i)j + γ

(i)2 dt

Box-Cox transformation

M seasonal periods

global and local trend

ARMA error

Page 27: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

yt = observation at time t

y(ω)t =

{(yωt − 1)/ω if ω 6= 0;log yt if ω = 0.

y(ω)t = `t−1 + φbt−1 +M∑i=1

s(i)t−mi+ dt

`t = `t−1 + φbt−1 + αdtbt = (1− φ)b+ φbt−1 + βdt

dt =p∑

i=1

φidt−i +

q∑j=1

θjεt−j + εt

s(i)t =

ki∑j=1

s(i)j,t

Forecasting using R Time series with complex seasonality 15

s(i)j,t = s(i)j,t−1 cosλ(i)j + s∗(i)j,t−1 sinλ

(i)j + γ

(i)1 dt

s(i)j,t = −s(i)j,t−1 sinλ

(i)j + s∗(i)j,t−1 cosλ

(i)j + γ

(i)2 dt

Box-Cox transformation

M seasonal periods

global and local trend

ARMA error

Fourier-like seasonal terms

Page 28: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

yt = observation at time t

y(ω)t =

{(yωt − 1)/ω if ω 6= 0;log yt if ω = 0.

y(ω)t = `t−1 + φbt−1 +M∑i=1

s(i)t−mi+ dt

`t = `t−1 + φbt−1 + αdtbt = (1− φ)b+ φbt−1 + βdt

dt =p∑

i=1

φidt−i +

q∑j=1

θjεt−j + εt

s(i)t =

ki∑j=1

s(i)j,t

Forecasting using R Time series with complex seasonality 15

s(i)j,t = s(i)j,t−1 cosλ(i)j + s∗(i)j,t−1 sinλ

(i)j + γ

(i)1 dt

s(i)j,t = −s(i)j,t−1 sinλ

(i)j + s∗(i)j,t−1 cosλ

(i)j + γ

(i)2 dt

Box-Cox transformation

M seasonal periods

global and local trend

ARMA error

Fourier-like seasonal terms

TBATSTrigonometricBox-CoxARMATrendSeasonal

Page 29: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 16

7

8

9

10

1995 2000 2005Year

Tho

usan

ds o

f bar

rels

per

day

US finished motor gasoline products

Page 30: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 16

7

8

9

10

1995 2000 2005Year

Tho

usan

ds o

f bar

rels

per

day

Forecasts from TBATS(1, {0,0}, 1, {<52.1785714285714,9>})

Page 31: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 17

7

8

9

10

1995 2000 2005Year

Tho

usan

ds o

f bar

rels

per

day

Forecasts from TBATS(1, {0,0}, 1, {<52.1785714285714,9>})

fit <- tbats(gasoline)fcast <- forecast(fit)plot(fcast)

Page 32: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 18

0

100

200

300

400

500

1 2 3 4 5 6 7 8 9 10 11 12 13Week

Num

ber

of c

alls

in 5

min

ute

inte

rval

Number of calls to large American bank (7am...9pm)

Page 33: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 18

0

100

200

300

400

500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Week

Num

ber

of c

alls

in 5

min

ute

inte

rval

Forecasts from TBATS(1, {0,0}, −, {<169,15>, <845,3>})

Page 34: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 19

0

100

200

300

400

500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Week

Num

ber

of c

alls

in 5

min

ute

inte

rval

Forecasts from TBATS(1, {0,0}, −, {<169,15>, <845,3>})

fit <- tbats(calls)fcast <- forecast(fit)plot(fcast)

Page 35: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 20

10000

15000

20000

25000

2000 2002 2004 2006 2008 2010Year

Ele

ctric

ity d

eman

d (M

W)

Turkish daily electricity demand

Page 36: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 20

10000

15000

20000

25000

2000 2002 2004 2006 2008 2010Year

Ele

ctric

ity d

eman

d (M

W)

Forecasts from TBATS(0, {4,2}, 0.913, {<7,3>, <354.37,6>, <365.25,6>})

Page 37: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Complex seasonality

Forecasting using R Time series with complex seasonality 21

10000

15000

20000

25000

2000 2002 2004 2006 2008 2010Year

Ele

ctric

ity d

eman

d (M

W)

Forecasts from TBATS(0, {4,2}, 0.913, {<7,3>, <354.37,6>, <365.25,6>})

fit <- tbats(telec)fcast <- forecast(fit)plot(fcast)

Page 38: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

TBATSTrigonometric terms for seasonalityBox-Cox transformations for heterogeneityARMA errors for short-term dynamicsTrend (possibly damped)Seasonal (including multiple and non-integer periods)

Handles non-integer seasonality, multiple seasonalperiods.Entirely automatedPrediction intervals often too wideVery slow on long series

Forecasting using R Time series with complex seasonality 22

Page 39: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

TBATSTrigonometric terms for seasonalityBox-Cox transformations for heterogeneityARMA errors for short-term dynamicsTrend (possibly damped)Seasonal (including multiple and non-integer periods)

Handles non-integer seasonality, multiple seasonalperiods.Entirely automatedPrediction intervals often too wideVery slow on long series

Forecasting using R Time series with complex seasonality 22

Page 40: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

TBATSTrigonometric terms for seasonalityBox-Cox transformations for heterogeneityARMA errors for short-term dynamicsTrend (possibly damped)Seasonal (including multiple and non-integer periods)

Handles non-integer seasonality, multiple seasonalperiods.Entirely automatedPrediction intervals often too wideVery slow on long series

Forecasting using R Time series with complex seasonality 22

Page 41: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

TBATS model

TBATSTrigonometric terms for seasonalityBox-Cox transformations for heterogeneityARMA errors for short-term dynamicsTrend (possibly damped)Seasonal (including multiple and non-integer periods)

Handles non-integer seasonality, multiple seasonalperiods.Entirely automatedPrediction intervals often too wideVery slow on long series

Forecasting using R Time series with complex seasonality 22

Page 42: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Outline

1 Vector autoregressions

2 Time series with complex seasonality

3 Lab session 17

4 Neural network models

5 Lab session 18

6 Lab session 19

Forecasting using R Lab session 17 23

Page 43: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Lab Session 17

Forecasting using R Lab session 17 24

Page 44: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Outline

1 Vector autoregressions

2 Time series with complex seasonality

3 Lab session 17

4 Neural network models

5 Lab session 18

6 Lab session 19

Forecasting using R Neural network models 25

Page 45: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsSimplest version: linear regression

Input #1

Input #2

Input #3

Input #4

Output

Inputlayer

Outputlayer

Coefficients attached to predictors are called “weights”.Forecasts are obtained by a linear combination of inputs.Weights selected using a “learning algorithm” that minimises a“cost function”.

Forecasting using R Neural network models 26

Page 46: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsSimplest version: linear regression

Input #1

Input #2

Input #3

Input #4

Output

Inputlayer

Outputlayer

Coefficients attached to predictors are called “weights”.Forecasts are obtained by a linear combination of inputs.Weights selected using a “learning algorithm” that minimises a“cost function”.

Forecasting using R Neural network models 26

Page 47: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsSimplest version: linear regression

Input #1

Input #2

Input #3

Input #4

Output

Inputlayer

Outputlayer

Coefficients attached to predictors are called “weights”.Forecasts are obtained by a linear combination of inputs.Weights selected using a “learning algorithm” that minimises a“cost function”.

Forecasting using R Neural network models 26

Page 48: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsSimplest version: linear regression

Input #1

Input #2

Input #3

Input #4

Output

Inputlayer

Outputlayer

Coefficients attached to predictors are called “weights”.Forecasts are obtained by a linear combination of inputs.Weights selected using a “learning algorithm” that minimises a“cost function”.

Forecasting using R Neural network models 26

Page 49: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsNonlinear model with one hidden layer

Input #1

Input #2

Input #3

Input #4

Output

Hiddenlayer

Inputlayer

Outputlayer

Amultilayer feed-forward network where each layer of nodesreceives inputs from the previous layers.Inputs to each node combined using linear combination.Result modified by nonlinear function before being output.

Forecasting using R Neural network models 27

Page 50: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsNonlinear model with one hidden layer

Input #1

Input #2

Input #3

Input #4

Output

Hiddenlayer

Inputlayer

Outputlayer

Amultilayer feed-forward network where each layer of nodesreceives inputs from the previous layers.Inputs to each node combined using linear combination.Result modified by nonlinear function before being output.

Forecasting using R Neural network models 27

Page 51: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsNonlinear model with one hidden layer

Input #1

Input #2

Input #3

Input #4

Output

Hiddenlayer

Inputlayer

Outputlayer

Amultilayer feed-forward network where each layer of nodesreceives inputs from the previous layers.Inputs to each node combined using linear combination.Result modified by nonlinear function before being output.

Forecasting using R Neural network models 27

Page 52: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network modelsNonlinear model with one hidden layer

Input #1

Input #2

Input #3

Input #4

Output

Hiddenlayer

Inputlayer

Outputlayer

Amultilayer feed-forward network where each layer of nodesreceives inputs from the previous layers.Inputs to each node combined using linear combination.Result modified by nonlinear function before being output.

Forecasting using R Neural network models 27

Page 53: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network models

Inputs to hidden neuron j linearly combined:

zj = bj +4∑i=1

wi,jxi.

Modified using nonlinear function such as a sigmoid:

s(z) =1

1+ e−z,

This tends to reduce the effect of extreme input values,thus making the network somewhat robust to outliers.

Forecasting using R Neural network models 28

Page 54: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network models

Weights take random values to begin with, which arethen updated using the observed data.There is an element of randomness in thepredictions. So the network is usually trained severaltimes using different random starting points, and theresults are averaged.Number of hidden layers, and the number of nodesin each hidden layer, must be specified in advance.

Forecasting using R Neural network models 29

Page 55: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network models

Weights take random values to begin with, which arethen updated using the observed data.There is an element of randomness in thepredictions. So the network is usually trained severaltimes using different random starting points, and theresults are averaged.Number of hidden layers, and the number of nodesin each hidden layer, must be specified in advance.

Forecasting using R Neural network models 29

Page 56: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Neural network models

Weights take random values to begin with, which arethen updated using the observed data.There is an element of randomness in thepredictions. So the network is usually trained severaltimes using different random starting points, and theresults are averaged.Number of hidden layers, and the number of nodesin each hidden layer, must be specified in advance.

Forecasting using R Neural network models 29

Page 57: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR modelsLagged values of the time series can be used asinputs to a neural network.NNAR(p, k): p lagged inputs and k nodes in the singlehidden layer.NNAR(p, 0) model is equivalent to an ARIMA(p, 0, 0)model but without stationarity restrictions.Seasonal NNAR(p, P, k): inputs(yt−1, yt−2, . . . , yt−p, yt−m, yt−2m, yt−Pm) and kneurons in the hidden layer.NNAR(p, P, 0)m model is equivalent to anARIMA(p, 0, 0)(P,0,0)m model but withoutstationarity restrictions.

Forecasting using R Neural network models 30

Page 58: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR modelsLagged values of the time series can be used asinputs to a neural network.NNAR(p, k): p lagged inputs and k nodes in the singlehidden layer.NNAR(p, 0) model is equivalent to an ARIMA(p, 0, 0)model but without stationarity restrictions.Seasonal NNAR(p, P, k): inputs(yt−1, yt−2, . . . , yt−p, yt−m, yt−2m, yt−Pm) and kneurons in the hidden layer.NNAR(p, P, 0)m model is equivalent to anARIMA(p, 0, 0)(P,0,0)m model but withoutstationarity restrictions.

Forecasting using R Neural network models 30

Page 59: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR modelsLagged values of the time series can be used asinputs to a neural network.NNAR(p, k): p lagged inputs and k nodes in the singlehidden layer.NNAR(p, 0) model is equivalent to an ARIMA(p, 0, 0)model but without stationarity restrictions.Seasonal NNAR(p, P, k): inputs(yt−1, yt−2, . . . , yt−p, yt−m, yt−2m, yt−Pm) and kneurons in the hidden layer.NNAR(p, P, 0)m model is equivalent to anARIMA(p, 0, 0)(P,0,0)m model but withoutstationarity restrictions.

Forecasting using R Neural network models 30

Page 60: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR modelsLagged values of the time series can be used asinputs to a neural network.NNAR(p, k): p lagged inputs and k nodes in the singlehidden layer.NNAR(p, 0) model is equivalent to an ARIMA(p, 0, 0)model but without stationarity restrictions.Seasonal NNAR(p, P, k): inputs(yt−1, yt−2, . . . , yt−p, yt−m, yt−2m, yt−Pm) and kneurons in the hidden layer.NNAR(p, P, 0)m model is equivalent to anARIMA(p, 0, 0)(P,0,0)m model but withoutstationarity restrictions.

Forecasting using R Neural network models 30

Page 61: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR modelsLagged values of the time series can be used asinputs to a neural network.NNAR(p, k): p lagged inputs and k nodes in the singlehidden layer.NNAR(p, 0) model is equivalent to an ARIMA(p, 0, 0)model but without stationarity restrictions.Seasonal NNAR(p, P, k): inputs(yt−1, yt−2, . . . , yt−p, yt−m, yt−2m, yt−Pm) and kneurons in the hidden layer.NNAR(p, P, 0)m model is equivalent to anARIMA(p, 0, 0)(P,0,0)m model but withoutstationarity restrictions.

Forecasting using R Neural network models 30

Page 62: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR models in R

The nnetar() function fits an NNAR(p, P, k)m model.If p and P are not specified, they are automaticallyselected.For non-seasonal time series, default p = optimalnumber of lags (according to the AIC) for a linearAR(p) model.For seasonal time series, defaults are P = 1 and p ischosen from the optimal linear model fitted to theseasonally adjusted data.Default k = (p+ P+ 1)/2 (rounded to the nearestinteger).

Forecasting using R Neural network models 31

Page 63: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR models in R

The nnetar() function fits an NNAR(p, P, k)m model.If p and P are not specified, they are automaticallyselected.For non-seasonal time series, default p = optimalnumber of lags (according to the AIC) for a linearAR(p) model.For seasonal time series, defaults are P = 1 and p ischosen from the optimal linear model fitted to theseasonally adjusted data.Default k = (p+ P+ 1)/2 (rounded to the nearestinteger).

Forecasting using R Neural network models 31

Page 64: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR models in R

The nnetar() function fits an NNAR(p, P, k)m model.If p and P are not specified, they are automaticallyselected.For non-seasonal time series, default p = optimalnumber of lags (according to the AIC) for a linearAR(p) model.For seasonal time series, defaults are P = 1 and p ischosen from the optimal linear model fitted to theseasonally adjusted data.Default k = (p+ P+ 1)/2 (rounded to the nearestinteger).

Forecasting using R Neural network models 31

Page 65: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR models in R

The nnetar() function fits an NNAR(p, P, k)m model.If p and P are not specified, they are automaticallyselected.For non-seasonal time series, default p = optimalnumber of lags (according to the AIC) for a linearAR(p) model.For seasonal time series, defaults are P = 1 and p ischosen from the optimal linear model fitted to theseasonally adjusted data.Default k = (p+ P+ 1)/2 (rounded to the nearestinteger).

Forecasting using R Neural network models 31

Page 66: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR models in R

The nnetar() function fits an NNAR(p, P, k)m model.If p and P are not specified, they are automaticallyselected.For non-seasonal time series, default p = optimalnumber of lags (according to the AIC) for a linearAR(p) model.For seasonal time series, defaults are P = 1 and p ischosen from the optimal linear model fitted to theseasonally adjusted data.Default k = (p+ P+ 1)/2 (rounded to the nearestinteger).

Forecasting using R Neural network models 31

Page 67: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Sunspots

Surface of the sun contains magnetic regions thatappear as dark spots.These affect the propagation of radio waves and sotelecommunication companies like to predictsunspot activity in order to plan for any futuredifficulties.Sunspots follow a cycle of length between 9 and 14years.

Forecasting using R Neural network models 32

Page 68: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Sunspots

Surface of the sun contains magnetic regions thatappear as dark spots.These affect the propagation of radio waves and sotelecommunication companies like to predictsunspot activity in order to plan for any futuredifficulties.Sunspots follow a cycle of length between 9 and 14years.

Forecasting using R Neural network models 32

Page 69: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Sunspots

Surface of the sun contains magnetic regions thatappear as dark spots.These affect the propagation of radio waves and sotelecommunication companies like to predictsunspot activity in order to plan for any futuredifficulties.Sunspots follow a cycle of length between 9 and 14years.

Forecasting using R Neural network models 32

Page 70: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

NNAR(9,5) model for sunspots

Forecasting using R Neural network models 33

Forecasts from NNAR(9,5)

1900 1950 2000

050

010

0015

0020

0025

0030

00 fit <- nnetar(sunspotarea)plot(forecast(fit,h=20))

Page 71: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Outline

1 Vector autoregressions

2 Time series with complex seasonality

3 Lab session 17

4 Neural network models

5 Lab session 18

6 Lab session 19

Forecasting using R Lab session 18 34

Page 72: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Lab Session 18

Forecasting using R Lab session 18 35

Page 73: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Outline

1 Vector autoregressions

2 Time series with complex seasonality

3 Lab session 17

4 Neural network models

5 Lab session 18

6 Lab session 19

Forecasting using R Lab session 19 36

Page 74: Forecasting using R - Rob J. HyndmanOutline 1Vector autoregressions 2Time series with complex seasonality 3Lab session 17 4Neural network models 5Lab session 18 6Lab session 19 Forecasting

Lab Session 19

Forecasting using R Lab session 19 37