Slide 1

Slide 1 text

Rob J Hyndman Forecasting big time series data using

Slide 2

Slide 2 text

Outline 1 Motivation 2 ETS forecasts 3 ARIMA forecasts 4 TBATS forecasts 5 Optimal forecast reconciliation 6 Future plans for forecasting in R Forecasting big time series data using R Motivation 2

Slide 3

Slide 3 text

Motivation Forecasting big time series data using R Motivation 3 Forecasting Google search traffic for the top few thousand searches by region.

Slide 4

Slide 4 text

Motivation Forecasting big time series data using R Motivation 4 Forecasting the government PBS expenditure for the next five years.

Slide 5

Slide 5 text

Motivation 1 Common in business to have millions of time series that need forecasting every day. 2 Forecasts are often required by people who are untrained in time series analysis. Specifications Automatic forecasting algorithms must: ¯ determine an appropriate time series model; ¯ estimate the parameters; ¯ compute the forecasts with prediction intervals. Forecasting big time series data using R Motivation 5

Slide 6

Slide 6 text

Motivation 1 Common in business to have millions of time series that need forecasting every day. 2 Forecasts are often required by people who are untrained in time series analysis. Specifications Automatic forecasting algorithms must: ¯ determine an appropriate time series model; ¯ estimate the parameters; ¯ compute the forecasts with prediction intervals. Forecasting big time series data using R Motivation 5

Slide 7

Slide 7 text

M3 competition Forecasting big time series data using R Motivation 6

Slide 8

Slide 8 text

M3 competition Forecasting big time series data using R Motivation 6

Slide 9

Slide 9 text

M3 competition Forecasting big time series data using R Motivation 6 3003 time series. Early comparison of automatic forecasting algorithms. All data from business, demography, finance and economics. Series length between 14 and 126. Either non-seasonal, monthly or quarterly.

Slide 10

Slide 10 text

M3 competition Forecasting big time series data using R Motivation 6 3003 time series. Early comparison of automatic forecasting algorithms. All data from business, demography, finance and economics. Series length between 14 and 126. Either non-seasonal, monthly or quarterly.

Slide 11

Slide 11 text

M3 competition Forecasting big time series data using R Motivation 6 3003 time series. Early comparison of automatic forecasting algorithms. All data from business, demography, finance and economics. Series length between 14 and 126. Either non-seasonal, monthly or quarterly.

Slide 12

Slide 12 text

M3 competition Forecasting big time series data using R Motivation 6 3003 time series. Early comparison of automatic forecasting algorithms. All data from business, demography, finance and economics. Series length between 14 and 126. Either non-seasonal, monthly or quarterly.

Slide 13

Slide 13 text

M3 competition Forecasting big time series data using R Motivation 6 3003 time series. Early comparison of automatic forecasting algorithms. All data from business, demography, finance and economics. Series length between 14 and 126. Either non-seasonal, monthly or quarterly.

Slide 14

Slide 14 text

M3 competition Forecasting big time series data using R Motivation 6 Winning commercial software Method MAPE sMAPE MASE ForecastPro 18.00 13.06 1.47 ForecastX 17.35 13.09 1.42

Slide 15

Slide 15 text

Outline 1 Motivation 2 ETS forecasts 3 ARIMA forecasts 4 TBATS forecasts 5 Optimal forecast reconciliation 6 Future plans for forecasting in R Forecasting big time series data using R ETS forecasts 7

Slide 16

Slide 16 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M Forecasting big time series data using R ETS forecasts 8

Slide 17

Slide 17 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M N,N: Simple exponential smoothing Forecasting big time series data using R ETS forecasts 8

Slide 18

Slide 18 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M A,N: Holt’s linear method Forecasting big time series data using R ETS forecasts 8

Slide 19

Slide 19 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M Ad ,N: Additive damped trend method Forecasting big time series data using R ETS forecasts 8

Slide 20

Slide 20 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M A,A: Additive Holt-Winters’ method Forecasting big time series data using R ETS forecasts 8

Slide 21

Slide 21 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M A,M: Multiplicative Holt-Winters’ method Forecasting big time series data using R ETS forecasts 8

Slide 22

Slide 22 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M Ad ,M: Damped multiplicative Holt-Winters’ method Forecasting big time series data using R ETS forecasts 8

Slide 23

Slide 23 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M Each method can have an additive or multiplicative error, giving 18 separate models. Forecasting big time series data using R ETS forecasts 8

Slide 24

Slide 24 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M General notation E T S : ExponenTial Smoothing Examples: A,N,N: Simple exponential smoothing with additive errors A,A,N: Holt’s linear method with additive errors M,A,M: Multiplicative Holt-Winters’ method with multiplicative errors Forecasting big time series data using R ETS forecasts 9

Slide 25

Slide 25 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M General notation E T S : ExponenTial Smoothing ↑ Trend Examples: A,N,N: Simple exponential smoothing with additive errors A,A,N: Holt’s linear method with additive errors M,A,M: Multiplicative Holt-Winters’ method with multiplicative errors Forecasting big time series data using R ETS forecasts 9

Slide 26

Slide 26 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M General notation E T S : ExponenTial Smoothing ↑ Trend Seasonal Examples: A,N,N: Simple exponential smoothing with additive errors A,A,N: Holt’s linear method with additive errors M,A,M: Multiplicative Holt-Winters’ method with multiplicative errors Forecasting big time series data using R ETS forecasts 9

Slide 27

Slide 27 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M General notation E T S : ExponenTial Smoothing ↑ Error Trend Seasonal Examples: A,N,N: Simple exponential smoothing with additive errors A,A,N: Holt’s linear method with additive errors M,A,M: Multiplicative Holt-Winters’ method with multiplicative errors Forecasting big time series data using R ETS forecasts 9

Slide 28

Slide 28 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M General notation E T S : ExponenTial Smoothing ↑ Error Trend Seasonal Examples: A,N,N: Simple exponential smoothing with additive errors A,A,N: Holt’s linear method with additive errors M,A,M: Multiplicative Holt-Winters’ method with multiplicative errors Forecasting big time series data using R ETS forecasts 9

Slide 29

Slide 29 text

Exponential smoothing methods Seasonal Component Trend N A M Component (None) (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad (Additive damped) Ad,N Ad,A Ad,M General notation E T S : ExponenTial Smoothing ↑ Error Trend Seasonal Examples: A,N,N: Simple exponential smoothing with additive errors A,A,N: Holt’s linear method with additive errors M,A,M: Multiplicative Holt-Winters’ method with multiplicative errors Forecasting big time series data using R ETS forecasts 9 Innovations state space models ¯ All ETS models can be written in innovations state space form (IJF, 2002). ¯ Additive and multiplicative versions give the same point forecasts but different prediction intervals.

Slide 30

Slide 30 text

ETS state space model xt−1 εt yt Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 31

Slide 31 text

ETS state space model xt−1 εt yt xt Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 32

Slide 32 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 33

Slide 33 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 34

Slide 34 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 yt+2 εt+2 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 35

Slide 35 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 yt+2 εt+2 xt+2 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 36

Slide 36 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 yt+2 εt+2 xt+2 yt+3 εt+3 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 37

Slide 37 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 yt+2 εt+2 xt+2 yt+3 εt+3 xt+3 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 38

Slide 38 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 yt+2 εt+2 xt+2 yt+3 εt+3 xt+3 yt+4 εt+4 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal)

Slide 39

Slide 39 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 yt+2 εt+2 xt+2 yt+3 εt+3 xt+3 yt+4 εt+4 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal) Estimation Compute likelihood L from ε1 , ε2 , . . . , εT . Optimize L wrt model parameters.

Slide 40

Slide 40 text

ETS state space model xt−1 εt yt xt yt+1 εt+1 xt+1 yt+2 εt+2 xt+2 yt+3 εt+3 xt+3 yt+4 εt+4 Forecasting big time series data using R ETS forecasts 10 State space model xt = (level, slope, seasonal) Estimation Compute likelihood L from ε1 , ε2 , . . . , εT . Optimize L wrt model parameters. Q: How to choose between the 18 ETS models?

Slide 41

Slide 41 text

Cross-validation Traditional evaluation Forecasting big time series data using R ETS forecasts 11 q q q q q q q q q q q q q q q q q q q q q q q q q time Training data Test data

Slide 42

Slide 42 text

Cross-validation Traditional evaluation Standard cross-validation Forecasting big time series data using R ETS forecasts 11 q q q q q q q q q q q q q q q q q q q q q q q q q time Training data Test data q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q

Slide 43

Slide 43 text

Cross-validation Traditional evaluation Standard cross-validation Time series cross-validation Forecasting big time series data using R ETS forecasts 11 q q q q q q q q q q q q q q q q q q q q q q q q q time Training data Test data q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q

Slide 44

Slide 44 text

Cross-validation Traditional evaluation Standard cross-validation Time series cross-validation Forecasting big time series data using R ETS forecasts 11 q q q q q q q q q q q q q q q q q q q q q q q q q time Training data Test data q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q

Slide 45

Slide 45 text

Cross-validation Traditional evaluation Standard cross-validation Time series cross-validation Forecasting big time series data using R ETS forecasts 11 q q q q q q q q q q q q q q q q q q q q q q q q q time Training data Test data q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q Also known as “Evaluation on a rolling forecast origin”

Slide 46

Slide 46 text

Akaike’s Information Criterion AIC = −2 log(L) + 2k where L = likelihood k = number of estimated parameters in model. This is a penalized likelihood approach. If L is Gaussian, then AICC ≈ constant + T log MSE + 2k where MSE is on 1-step forecasts on training set. Forecasting big time series data using R ETS forecasts 12

Slide 47

Slide 47 text

Akaike’s Information Criterion AICC = −2 log(L) + 2k + 2(k+1)(k+2) T−k where L = likelihood k = number of estimated parameters in model and T = length of the series. This is a penalized likelihood approach. If L is Gaussian, then AICC ≈ constant + T log MSE + 2k where MSE is on 1-step forecasts on training set. Forecasting big time series data using R ETS forecasts 12

Slide 48

Slide 48 text

Akaike’s Information Criterion AICC = −2 log(L) + 2k + 2(k+1)(k+2) T−k where L = likelihood k = number of estimated parameters in model and T = length of the series. This is a penalized likelihood approach. If L is Gaussian, then AICC ≈ constant + T log MSE + 2k where MSE is on 1-step forecasts on training set. Forecasting big time series data using R ETS forecasts 12

Slide 49

Slide 49 text

Akaike’s Information Criterion AICC = −2 log(L) + 2k + 2(k+1)(k+2) T−k where L = likelihood k = number of estimated parameters in model and T = length of the series. This is a penalized likelihood approach. If L is Gaussian, then AICC ≈ constant + T log MSE + 2k where MSE is on 1-step forecasts on training set. Forecasting big time series data using R ETS forecasts 12

Slide 50

Slide 50 text

Akaike’s Information Criterion AICC = −2 log(L) + 2k + 2(k+1)(k+2) T−k where L = likelihood k = number of estimated parameters in model and T = length of the series. This is a penalized likelihood approach. If L is Gaussian, then AICC ≈ constant + T log MSE + 2k where MSE is on 1-step forecasts on training set. Minimizing the Gaussian AICC is asymptotically equivalent (as T → ∞) to minimizing MSE from 1-step forecasts via time series cross-validation. Forecasting big time series data using R ETS forecasts 12

Slide 51

Slide 51 text

ets algorithm in R Forecasting big time series data using R ETS forecasts 13 Based on Hyndman, Koehler, Snyder & Grose (IJF 2002): Apply each of 18 models that are appropriate to the data. Optimize parameters and initial values using MLE. Select best method using AICc. Produce forecasts using best method. Obtain prediction intervals using underlying state space model.

Slide 52

Slide 52 text

ets algorithm in R Forecasting big time series data using R ETS forecasts 13 Based on Hyndman, Koehler, Snyder & Grose (IJF 2002): Apply each of 18 models that are appropriate to the data. Optimize parameters and initial values using MLE. Select best method using AICc. Produce forecasts using best method. Obtain prediction intervals using underlying state space model.

Slide 53

Slide 53 text

ets algorithm in R Forecasting big time series data using R ETS forecasts 13 Based on Hyndman, Koehler, Snyder & Grose (IJF 2002): Apply each of 18 models that are appropriate to the data. Optimize parameters and initial values using MLE. Select best method using AICc. Produce forecasts using best method. Obtain prediction intervals using underlying state space model.

Slide 54

Slide 54 text

ets algorithm in R Forecasting big time series data using R ETS forecasts 13 Based on Hyndman, Koehler, Snyder & Grose (IJF 2002): Apply each of 18 models that are appropriate to the data. Optimize parameters and initial values using MLE. Select best method using AICc. Produce forecasts using best method. Obtain prediction intervals using underlying state space model.

Slide 55

Slide 55 text

Exponential smoothing Forecasting big time series data using R ETS forecasts 14 Forecasts from ETS(M,A,N) Year millions of sheep 1960 1970 1980 1990 2000 2010 300 400 500 600

Slide 56

Slide 56 text

Exponential smoothing fit <- ets(livestock) fcast <- forecast(fit) plot(fcast) Forecasting big time series data using R ETS forecasts 15 Forecasts from ETS(M,A,N) Year millions of sheep 1960 1970 1980 1990 2000 2010 300 400 500 600

Slide 57

Slide 57 text

Exponential smoothing Forecasting big time series data using R ETS forecasts 16 Forecasts from ETS(M,N,M) Year Total scripts (millions) 1995 2000 2005 2010 0.4 0.6 0.8 1.0 1.2 1.4 1.6

Slide 58

Slide 58 text

Exponential smoothing fit <- ets(h02) fcast <- forecast(fit) plot(fcast) Forecasting big time series data using R ETS forecasts 17 Forecasts from ETS(M,N,M) Year Total scripts (millions) 1995 2000 2005 2010 0.4 0.6 0.8 1.0 1.2 1.4 1.6

Slide 59

Slide 59 text

M3 comparisons Method MAPE sMAPE MASE ForecastPro 18.00 13.06 1.47 ForecastX 17.35 13.09 1.42 ETS 17.38 13.13 1.43 Forecasting big time series data using R ETS forecasts 18

Slide 60

Slide 60 text

Outline 1 Motivation 2 ETS forecasts 3 ARIMA forecasts 4 TBATS forecasts 5 Optimal forecast reconciliation 6 Future plans for forecasting in R Forecasting big time series data using R ARIMA forecasts 19

Slide 61

Slide 61 text

ARIMA models yt−1 yt−2 yt−3 yt Inputs Output Forecasting big time series data using R ARIMA forecasts 20

Slide 62

Slide 62 text

ARIMA models yt−1 yt−2 yt−3 εt yt Inputs Output Forecasting big time series data using R ARIMA forecasts 20 Autoregression (AR) model

Slide 63

Slide 63 text

ARIMA models yt−1 yt−2 yt−3 εt εt−1 εt−2 yt Inputs Output Forecasting big time series data using R ARIMA forecasts 20 Autoregression moving average (ARMA) model

Slide 64

Slide 64 text

ARIMA models yt−1 yt−2 yt−3 εt εt−1 εt−2 yt Inputs Output Forecasting big time series data using R ARIMA forecasts 20 Autoregression moving average (ARMA) model ARIMA model Autoregression moving average (ARMA) model applied to differences.

Slide 65

Slide 65 text

ARIMA models yt−1 yt−2 yt−3 εt εt−1 εt−2 yt Inputs Output Forecasting big time series data using R ARIMA forecasts 20 Autoregression moving average (ARMA) model Estimation Compute likelihood L from ε1 , ε2 , . . . , εT . Use optimization algorithm to maximize L. ARIMA model Autoregression moving average (ARMA) model applied to differences.

Slide 66

Slide 66 text

Auto ARIMA Forecasting big time series data using R ARIMA forecasts 21 Forecasts from ARIMA(0,1,0) with drift Year millions of sheep 1960 1970 1980 1990 2000 2010 250 300 350 400 450 500 550

Slide 67

Slide 67 text

Auto ARIMA fit <- auto.arima(livestock) fcast <- forecast(fit) plot(fcast) Forecasting big time series data using R ARIMA forecasts 22 Forecasts from ARIMA(0,1,0) with drift Year millions of sheep 1960 1970 1980 1990 2000 2010 250 300 350 400 450 500 550

Slide 68

Slide 68 text

Auto ARIMA Forecasting big time series data using R ARIMA forecasts 23 Forecasts from ARIMA(3,1,3)(0,1,1)[12] Year Total scripts (millions) 1995 2000 2005 2010 0.4 0.6 0.8 1.0 1.2 1.4

Slide 69

Slide 69 text

Auto ARIMA fit <- auto.arima(h02) fcast <- forecast(fit) plot(fcast) Forecasting big time series data using R ARIMA forecasts 24 Forecasts from ARIMA(3,1,3)(0,1,1)[12] Year Total scripts (millions) 1995 2000 2005 2010 0.4 0.6 0.8 1.0 1.2 1.4

Slide 70

Slide 70 text

How does auto.arima() work? Number of differences selected using unit root tests. Number of autoregressive and moving average terms selected by minimizing AICc. Inclusion of constant/drift determined by minimizing AICc. Use stepwise search to traverse model space, starting with a simple model and considering nearby variants. Forecasting big time series data using R ARIMA forecasts 25

Slide 71

Slide 71 text

How does auto.arima() work? Number of differences selected using unit root tests. Number of autoregressive and moving average terms selected by minimizing AICc. Inclusion of constant/drift determined by minimizing AICc. Use stepwise search to traverse model space, starting with a simple model and considering nearby variants. Forecasting big time series data using R ARIMA forecasts 25

Slide 72

Slide 72 text

How does auto.arima() work? Number of differences selected using unit root tests. Number of autoregressive and moving average terms selected by minimizing AICc. Inclusion of constant/drift determined by minimizing AICc. Use stepwise search to traverse model space, starting with a simple model and considering nearby variants. Forecasting big time series data using R ARIMA forecasts 25

Slide 73

Slide 73 text

How does auto.arima() work? Number of differences selected using unit root tests. Number of autoregressive and moving average terms selected by minimizing AICc. Inclusion of constant/drift determined by minimizing AICc. Use stepwise search to traverse model space, starting with a simple model and considering nearby variants. Forecasting big time series data using R ARIMA forecasts 25

Slide 74

Slide 74 text

M3 comparisons Method MAPE sMAPE MASE ForecastPro 18.00 13.06 1.47 ForecastX 17.35 13.09 1.42 ETS 17.38 13.13 1.43 AutoARIMA 19.12 13.85 1.47 ETS-ARIMA 17.92 13.02 1.44 Forecasting big time series data using R ARIMA forecasts 26

Slide 75

Slide 75 text

Outline 1 Motivation 2 ETS forecasts 3 ARIMA forecasts 4 TBATS forecasts 5 Optimal forecast reconciliation 6 Future plans for forecasting in R Forecasting big time series data using R TBATS forecasts 27

Slide 76

Slide 76 text

Examples Forecasting big time series data using R TBATS forecasts 28 US finished motor gasoline products Weeks Thousands of barrels per day 1992 1994 1996 1998 2000 2002 2004 6500 7000 7500 8000 8500 9000 9500

Slide 77

Slide 77 text

Examples Forecasting big time series data using R TBATS forecasts 28 Number of calls to large American bank (7am−9pm) 5 minute intervals Number of call arrivals 100 200 300 400 3 March 17 March 31 March 14 April 28 April 12 May

Slide 78

Slide 78 text

Examples Forecasting big time series data using R TBATS forecasts 28 Turkish electricity demand Days Electricity demand (GW) 2000 2002 2004 2006 2008 10 15 20 25

Slide 79

Slide 79 text

TBATS model TBATS Trigonometric terms for seasonality Box-Cox transformations for heterogeneity ARMA errors for short-term dynamics Trend (possibly damped) Seasonal (including multiple and non-integer periods) Automatic algorithm described in AM De Livera, RJ Hyndman, and RD Snyder (2011). “Forecasting time series with complex seasonal patterns using exponential smoothing”. Journal of the American Statistical Association 106(496), 1513–1527. Forecasting big time series data using R TBATS forecasts 29

Slide 80

Slide 80 text

Examples fit <- tbats(gasoline) fcast <- forecast(fit) plot(fcast) Forecasting big time series data using R TBATS forecasts 30 Forecasts from TBATS(0.999, {2,2}, 1, {<52.1785714285714,8>}) Weeks Thousands of barrels per day 1995 2000 2005 7000 8000 9000 10000

Slide 81

Slide 81 text

Examples fit <- tbats(callcentre) fcast <- forecast(fit) plot(fcast) Forecasting big time series data using R TBATS forecasts 31 Forecasts from TBATS(1, {3,1}, 0.987, {<169,5>, <845,3>}) 5 minute intervals Number of call arrivals 0 100 200 300 400 500 3 March 17 March 31 March 14 April 28 April 12 May 26 May 9 June

Slide 82

Slide 82 text

Examples fit <- tbats(turk) fcast <- forecast(fit) plot(fcast) Forecasting big time series data using R TBATS forecasts 32 Forecasts from TBATS(0, {5,3}, 0.997, {<7,3>, <354.37,12>, <365.25,4>}) Days Electricity demand (GW) 2000 2002 2004 2006 2008 2010 10 15 20 25

Slide 83

Slide 83 text

Outline 1 Motivation 2 ETS forecasts 3 ARIMA forecasts 4 TBATS forecasts 5 Optimal forecast reconciliation 6 Future plans for forecasting in R Forecasting big time series data using R Optimal forecast reconciliation 33

Slide 84

Slide 84 text

Australian tourism demand Forecasting big time series data using R Optimal forecast reconciliation 34

Slide 85

Slide 85 text

Australian tourism demand Forecasting big time series data using R Optimal forecast reconciliation 34 Quarterly data on visitor night from 1998:Q1 – 2013:Q4 From: National Visitor Survey, based on annual interviews of 120,000 Australians aged 15+, collected by Tourism Research Australia. Split by 7 states, 27 zones and 76 regions (a geographical hierarchy) Also split by purpose of travel Holiday Visiting friends and relatives (VFR) Business Other 304 bottom-level series

Slide 86

Slide 86 text

Hierarchical time series A hierarchical time series is a collection of several time series that are linked together in a hierarchical structure. Total A AA AB AC B BA BB BC C CA CB CC Example Tourism by state and region Forecasting big time series data using R Optimal forecast reconciliation 35

Slide 87

Slide 87 text

Hierarchical time series A hierarchical time series is a collection of several time series that are linked together in a hierarchical structure. Total A AA AB AC B BA BB BC C CA CB CC Example Tourism by state and region Forecasting big time series data using R Optimal forecast reconciliation 35

Slide 88

Slide 88 text

Grouped time series A grouped time series is a collection of time series that can be grouped together in a number of non-hierarchical ways. Total A AX AY B BX BY Total X AX BX Y AY BY Example Tourism by state and purpose of travel Forecasting big time series data using R Optimal forecast reconciliation 36

Slide 89

Slide 89 text

Grouped time series A grouped time series is a collection of time series that can be grouped together in a number of non-hierarchical ways. Total A AX AY B BX BY Total X AX BX Y AY BY Example Tourism by state and purpose of travel Forecasting big time series data using R Optimal forecast reconciliation 36

Slide 90

Slide 90 text

Hierarchical time series Total A B C Forecasting big time series data using R Optimal forecast reconciliation 37 yt : observed aggregate of all series at time t. yX,t : observation on series X at time t. bt : vector of all series at bottom level in time t.

Slide 91

Slide 91 text

Hierarchical time series Total A B C Forecasting big time series data using R Optimal forecast reconciliation 37 yt : observed aggregate of all series at time t. yX,t : observation on series X at time t. bt : vector of all series at bottom level in time t.

Slide 92

Slide 92 text

Hierarchical time series Total A B C yt = [yt , yA,t , yB,t , yC,t ] =     1 1 1 1 0 0 0 1 0 0 0 1       yA,t yB,t yC,t   Forecasting big time series data using R Optimal forecast reconciliation 37 yt : observed aggregate of all series at time t. yX,t : observation on series X at time t. bt : vector of all series at bottom level in time t.

Slide 93

Slide 93 text

Hierarchical time series Total A B C yt = [yt , yA,t , yB,t , yC,t ] =     1 1 1 1 0 0 0 1 0 0 0 1     S   yA,t yB,t yC,t   Forecasting big time series data using R Optimal forecast reconciliation 37 yt : observed aggregate of all series at time t. yX,t : observation on series X at time t. bt : vector of all series at bottom level in time t.

Slide 94

Slide 94 text

Hierarchical time series Total A B C yt = [yt , yA,t , yB,t , yC,t ] =     1 1 1 1 0 0 0 1 0 0 0 1     S   yA,t yB,t yC,t   bt Forecasting big time series data using R Optimal forecast reconciliation 37 yt : observed aggregate of all series at time t. yX,t : observation on series X at time t. bt : vector of all series at bottom level in time t.

Slide 95

Slide 95 text

Hierarchical time series Total A B C yt = [yt , yA,t , yB,t , yC,t ] =     1 1 1 1 0 0 0 1 0 0 0 1     S   yA,t yB,t yC,t   bt yt = Sbt Forecasting big time series data using R Optimal forecast reconciliation 37 yt : observed aggregate of all series at time t. yX,t : observation on series X at time t. bt : vector of all series at bottom level in time t.

Slide 96

Slide 96 text

Hierarchical time series Total A AX AY AZ B BX BY BZ C CX CY CZ yt =             yt yA,t yB,t yC,t yAX,t yAY,t yAZ,t yBX,t yBY,t yBZ,t yCX,t yCY,t yCZ,t             =             1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1             S        yAX,t yAY,t yAZ,t yBX,t yBY,t yBZ,t yCX,t yCY,t yCZ,t        bt Forecasting big time series data using R Optimal forecast reconciliation 38

Slide 97

Slide 97 text

Hierarchical time series Total A AX AY AZ B BX BY BZ C CX CY CZ yt =             yt yA,t yB,t yC,t yAX,t yAY,t yAZ,t yBX,t yBY,t yBZ,t yCX,t yCY,t yCZ,t             =             1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1             S        yAX,t yAY,t yAZ,t yBX,t yBY,t yBZ,t yCX,t yCY,t yCZ,t        bt Forecasting big time series data using R Optimal forecast reconciliation 38

Slide 98

Slide 98 text

Hierarchical time series Total A AX AY AZ B BX BY BZ C CX CY CZ yt =             yt yA,t yB,t yC,t yAX,t yAY,t yAZ,t yBX,t yBY,t yBZ,t yCX,t yCY,t yCZ,t             =             1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1             S        yAX,t yAY,t yAZ,t yBX,t yBY,t yBZ,t yCX,t yCY,t yCZ,t        bt Forecasting big time series data using R Optimal forecast reconciliation 38 yt = Sbt

Slide 99

Slide 99 text

Grouped data AX AY A BX BY B X Y Total yt =              yt yA,t yB,t yX,t yY,t yAX,t yAY,t yBX,t yBY,t              =              1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1              S    yAX,t yAY,t yBX,t yBY,t    bt Forecasting big time series data using R Optimal forecast reconciliation 39

Slide 100

Slide 100 text

Grouped data AX AY A BX BY B X Y Total yt =              yt yA,t yB,t yX,t yY,t yAX,t yAY,t yBX,t yBY,t              =              1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1              S    yAX,t yAY,t yBX,t yBY,t    bt Forecasting big time series data using R Optimal forecast reconciliation 39

Slide 101

Slide 101 text

Grouped data AX AY A BX BY B X Y Total yt =              yt yA,t yB,t yX,t yY,t yAX,t yAY,t yBX,t yBY,t              =              1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1              S    yAX,t yAY,t yBX,t yBY,t    bt Forecasting big time series data using R Optimal forecast reconciliation 39 yt = Sbt

Slide 102

Slide 102 text

Hierarchical and grouped time series Every collection of time series with aggregation constraints can be written as yt = Sbt where yt is a vector of all series at time t bt is a vector of the most disaggregated series at time t S is a “summing matrix” containing the aggregation constraints. Forecasting big time series data using R Optimal forecast reconciliation 40

Slide 103

Slide 103 text

Forecasting notation Let ˆ yn (h) be vector of initial h-step forecasts, made at time n, stacked in same order as yt . (They may not add up.) Reconciled forecasts must be of the form: ˜ yn (h) = SPˆ yn (h) for some matrix P. P extracts and combines base forecasts ˆ yn (h) to get bottom-level forecasts. S adds them up Forecasting big time series data using R Optimal forecast reconciliation 41

Slide 104

Slide 104 text

Forecasting notation Let ˆ yn (h) be vector of initial h-step forecasts, made at time n, stacked in same order as yt . (They may not add up.) Reconciled forecasts must be of the form: ˜ yn (h) = SPˆ yn (h) for some matrix P. P extracts and combines base forecasts ˆ yn (h) to get bottom-level forecasts. S adds them up Forecasting big time series data using R Optimal forecast reconciliation 41

Slide 105

Slide 105 text

Forecasting notation Let ˆ yn (h) be vector of initial h-step forecasts, made at time n, stacked in same order as yt . (They may not add up.) Reconciled forecasts must be of the form: ˜ yn (h) = SPˆ yn (h) for some matrix P. P extracts and combines base forecasts ˆ yn (h) to get bottom-level forecasts. S adds them up Forecasting big time series data using R Optimal forecast reconciliation 41

Slide 106

Slide 106 text

Forecasting notation Let ˆ yn (h) be vector of initial h-step forecasts, made at time n, stacked in same order as yt . (They may not add up.) Reconciled forecasts must be of the form: ˜ yn (h) = SPˆ yn (h) for some matrix P. P extracts and combines base forecasts ˆ yn (h) to get bottom-level forecasts. S adds them up Forecasting big time series data using R Optimal forecast reconciliation 41

Slide 107

Slide 107 text

Forecasting notation Let ˆ yn (h) be vector of initial h-step forecasts, made at time n, stacked in same order as yt . (They may not add up.) Reconciled forecasts must be of the form: ˜ yn (h) = SPˆ yn (h) for some matrix P. P extracts and combines base forecasts ˆ yn (h) to get bottom-level forecasts. S adds them up Forecasting big time series data using R Optimal forecast reconciliation 41

Slide 108

Slide 108 text

General properties ˜ yn (h) = SPˆ yn (h) Bias Revised forecasts are unbiased iff SPS = S. Variance The error variance of the revised forecasts is Var[yn+h − ˜ yn (h) | y1 , . . . , yn ] = SPWh P S where Wh = Var[yn+h − ˆ yn (h) | y1 , . . . , yn ] is the error variance of the base forecasts ˆ yn (h) Forecasting big time series data using R Optimal forecast reconciliation 42

Slide 109

Slide 109 text

General properties ˜ yn (h) = SPˆ yn (h) Bias Revised forecasts are unbiased iff SPS = S. Variance The error variance of the revised forecasts is Var[yn+h − ˜ yn (h) | y1 , . . . , yn ] = SPWh P S where Wh = Var[yn+h − ˆ yn (h) | y1 , . . . , yn ] is the error variance of the base forecasts ˆ yn (h) Forecasting big time series data using R Optimal forecast reconciliation 42

Slide 110

Slide 110 text

General properties ˜ yn (h) = SPˆ yn (h) Bias Revised forecasts are unbiased iff SPS = S. Variance The error variance of the revised forecasts is Var[yn+h − ˜ yn (h) | y1 , . . . , yn ] = SPWh P S where Wh = Var[yn+h − ˆ yn (h) | y1 , . . . , yn ] is the error variance of the base forecasts ˆ yn (h) Forecasting big time series data using R Optimal forecast reconciliation 42

Slide 111

Slide 111 text

Optimal forecast reconciliation Theorem For any P satisfying SPS = S, then min P = trace[SPWh P S ] has solution P = (S W† h S)−1S W† h . W† h is generalized inverse of Wh . Problem: Wh hard to estimate, especially for h > 1. Forecasting big time series data using R Optimal forecast reconciliation 43

Slide 112

Slide 112 text

Optimal forecast reconciliation Theorem For any P satisfying SPS = S, then min P = trace[SPWh P S ] has solution P = (S W† h S)−1S W† h . W† h is generalized inverse of Wh . Problem: Wh hard to estimate, especially for h > 1. Forecasting big time series data using R Optimal forecast reconciliation 43

Slide 113

Slide 113 text

Optimal forecast reconciliation Theorem For any P satisfying SPS = S, then min P = trace[SPWh P S ] has solution P = (S W† h S)−1S W† h . W† h is generalized inverse of Wh . Problem: Wh hard to estimate, especially for h > 1. Forecasting big time series data using R Optimal forecast reconciliation 43

Slide 114

Slide 114 text

Optimal combination forecasts Revised forecasts Base forecasts Solution: WLS Suppose we approximate W1 by its diagonal and assume that Wh ∝ W1 . Easy to estimate, and places weight where we have best forecasts. Still need to estimate covariance matrix to produce prediction intervals. Forecasting big time series data using R Optimal forecast reconciliation 44 ˜ yn (h) = S(S W† h S)−1S W† h ˆ yn (h)

Slide 115

Slide 115 text

Optimal combination forecasts Revised forecasts Base forecasts Solution: WLS Suppose we approximate W1 by its diagonal and assume that Wh ∝ W1 . Easy to estimate, and places weight where we have best forecasts. Still need to estimate covariance matrix to produce prediction intervals. Forecasting big time series data using R Optimal forecast reconciliation 44 ˜ yn (h) = S(S W† h S)−1S W† h ˆ yn (h)

Slide 116

Slide 116 text

Optimal combination forecasts Revised forecasts Base forecasts Solution: WLS Suppose we approximate W1 by its diagonal and assume that Wh ∝ W1 . Easy to estimate, and places weight where we have best forecasts. Still need to estimate covariance matrix to produce prediction intervals. Forecasting big time series data using R Optimal forecast reconciliation 44 ˜ yn (h) = S(S W† h S)−1S W† h ˆ yn (h)

Slide 117

Slide 117 text

Optimal combination forecasts Revised forecasts Base forecasts Solution: WLS Suppose we approximate W1 by its diagonal and assume that Wh ∝ W1 . Easy to estimate, and places weight where we have best forecasts. Still need to estimate covariance matrix to produce prediction intervals. Forecasting big time series data using R Optimal forecast reconciliation 44 ˜ yn (h) = S(S W† h S)−1S W† h ˆ yn (h)

Slide 118

Slide 118 text

hts package for R Forecasting big time series data using R Optimal forecast reconciliation 45 hts: Hierarchical and grouped time series Methods for analysing and forecasting hierarchical and grouped time series Version: 4.5 Depends: forecast (≥ 5.0), SparseM Imports: parallel, utils Published: 2015-06-29 Author: Rob J Hyndman, Earo Wang and Alan Lee with contributions from Shanika Wickramasuriya Maintainer: Rob J Hyndman BugReports: https://github.com/robjhyndman/hts/issues License: GPL (≥ 2)

Slide 119

Slide 119 text

Example using R library(hts) # bts is a matrix containing the bottom level time series # nodes describes the hierarchical structure y <- hts(bts, nodes=list(2, c(3,2))) Forecasting big time series data using R Optimal forecast reconciliation 46

Slide 120

Slide 120 text

Example using R library(hts) # bts is a matrix containing the bottom level time series # nodes describes the hierarchical structure y <- hts(bts, nodes=list(2, c(3,2))) Forecasting big time series data using R Optimal forecast reconciliation 46 Total A AX AY AZ B BX BY

Slide 121

Slide 121 text

Example using R library(hts) # bts is a matrix containing the bottom level time series # nodes describes the hierarchical structure y <- hts(bts, nodes=list(2, c(3,2))) summary(y) smatrix(y) # Forecast 10-step-ahead using WLS combination method # ETS used for each series by default fc <- forecast(y, h=10) Forecasting big time series data using R Optimal forecast reconciliation 47 Total A AX AY AZ B BX BY

Slide 122

Slide 122 text

Australian tourism Forecasting big time series data using R Optimal forecast reconciliation 48

Slide 123

Slide 123 text

Australian tourism Forecasting big time series data using R Optimal forecast reconciliation 48 Hierarchy: States (7) Zones (27) Regions (82)

Slide 124

Slide 124 text

Australian tourism Forecasting big time series data using R Optimal forecast reconciliation 48 Hierarchy: States (7) Zones (27) Regions (82) Base forecasts ETS (exponential smoothing) models

Slide 125

Slide 125 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: Total Year Visitor nights 1998 2000 2002 2004 2006 2008 60000 65000 70000 75000 80000 85000

Slide 126

Slide 126 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: NSW Year Visitor nights 1998 2000 2002 2004 2006 2008 18000 22000 26000 30000

Slide 127

Slide 127 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: VIC Year Visitor nights 1998 2000 2002 2004 2006 2008 10000 12000 14000 16000 18000

Slide 128

Slide 128 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: Nth.Coast.NSW Year Visitor nights 1998 2000 2002 2004 2006 2008 5000 6000 7000 8000 9000

Slide 129

Slide 129 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: Metro.QLD Year Visitor nights 1998 2000 2002 2004 2006 2008 8000 9000 11000 13000

Slide 130

Slide 130 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: Sth.WA Year Visitor nights 1998 2000 2002 2004 2006 2008 400 600 800 1000 1200 1400

Slide 131

Slide 131 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: X201.Melbourne Year Visitor nights 1998 2000 2002 2004 2006 2008 4000 4500 5000 5500 6000

Slide 132

Slide 132 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: X402.Murraylands Year Visitor nights 1998 2000 2002 2004 2006 2008 0 100 200 300

Slide 133

Slide 133 text

Base forecasts Forecasting big time series data using R Optimal forecast reconciliation 49 Domestic tourism forecasts: X809.Daly Year Visitor nights 1998 2000 2002 2004 2006 2008 0 20 40 60 80 100

Slide 134

Slide 134 text

Forecast evaluation Forecasting big time series data using R Optimal forecast reconciliation 50 Training sets q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q time

Slide 135

Slide 135 text

Forecast evaluation Forecasting big time series data using R Optimal forecast reconciliation 50 Training sets Test set h = 1 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q time

Slide 136

Slide 136 text

Forecast evaluation Forecasting big time series data using R Optimal forecast reconciliation 50 Training sets Test set h = 2 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q time

Slide 137

Slide 137 text

Forecast evaluation Forecasting big time series data using R Optimal forecast reconciliation 50 Training sets Test set h = 3 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q time

Slide 138

Slide 138 text

Forecast evaluation Forecasting big time series data using R Optimal forecast reconciliation 50 Training sets Test set h = 4 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q time

Slide 139

Slide 139 text

Forecast evaluation Forecasting big time series data using R Optimal forecast reconciliation 50 Training sets Test set h = 5 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q time

Slide 140

Slide 140 text

Forecast evaluation Forecasting big time series data using R Optimal forecast reconciliation 50 Training sets Test set h = 6 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q time

Slide 141

Slide 141 text

Hierarchy: states, zones, regions Forecast horizon RMSE h = 1 h = 2 h = 3 h = 4 h = 5 h = 6 Ave Australia Base 1762.04 1770.29 1766.02 1818.82 1705.35 1721.17 1757.28 Bottom 1736.92 1742.69 1722.79 1752.74 1666.73 1687.43 1718.22 WLS 1705.21 1715.87 1703.75 1729.56 1627.79 1661.24 1690.57 States Base 399.77 404.16 401.92 407.26 395.38 401.17 401.61 Bottom 404.29 406.95 404.96 409.02 399.80 401.55 404.43 WLS 398.84 402.12 400.71 405.03 394.76 398.23 399.95 Regions Base 93.15 93.38 93.45 93.79 93.50 93.56 93.47 Bottom 93.15 93.38 93.45 93.79 93.50 93.56 93.47 WLS 93.02 93.32 93.38 93.72 93.39 93.53 93.39 Forecasting big time series data using R Optimal forecast reconciliation 51

Slide 142

Slide 142 text

Outline 1 Motivation 2 ETS forecasts 3 ARIMA forecasts 4 TBATS forecasts 5 Optimal forecast reconciliation 6 Future plans for forecasting in R Forecasting big time series data using R Future plans for forecasting in R 52

Slide 143

Slide 143 text

Forecasts about the forecast package 1 Automatic algorithms will become more general — handling a wider variety of time series. 2 Model selection methods will take account of multi-step forecast accuracy as well as one-step forecast accuracy. 3 Automatic forecasting algorithms for very high dimensional time series will be developed. 4 Automatic forecasting algorithms that include covariate information will be added. 5 Better reconciliation methods using full covariance matrix (hts package). Forecasting big time series data using R Future plans for forecasting in R 53

Slide 144

Slide 144 text

Forecasts about the forecast package 1 Automatic algorithms will become more general — handling a wider variety of time series. 2 Model selection methods will take account of multi-step forecast accuracy as well as one-step forecast accuracy. 3 Automatic forecasting algorithms for very high dimensional time series will be developed. 4 Automatic forecasting algorithms that include covariate information will be added. 5 Better reconciliation methods using full covariance matrix (hts package). Forecasting big time series data using R Future plans for forecasting in R 53

Slide 145

Slide 145 text

Forecasts about the forecast package 1 Automatic algorithms will become more general — handling a wider variety of time series. 2 Model selection methods will take account of multi-step forecast accuracy as well as one-step forecast accuracy. 3 Automatic forecasting algorithms for very high dimensional time series will be developed. 4 Automatic forecasting algorithms that include covariate information will be added. 5 Better reconciliation methods using full covariance matrix (hts package). Forecasting big time series data using R Future plans for forecasting in R 53

Slide 146

Slide 146 text

Forecasts about the forecast package 1 Automatic algorithms will become more general — handling a wider variety of time series. 2 Model selection methods will take account of multi-step forecast accuracy as well as one-step forecast accuracy. 3 Automatic forecasting algorithms for very high dimensional time series will be developed. 4 Automatic forecasting algorithms that include covariate information will be added. 5 Better reconciliation methods using full covariance matrix (hts package). Forecasting big time series data using R Future plans for forecasting in R 53

Slide 147

Slide 147 text

Forecasts about the forecast package 1 Automatic algorithms will become more general — handling a wider variety of time series. 2 Model selection methods will take account of multi-step forecast accuracy as well as one-step forecast accuracy. 3 Automatic forecasting algorithms for very high dimensional time series will be developed. 4 Automatic forecasting algorithms that include covariate information will be added. 5 Better reconciliation methods using full covariance matrix (hts package). Forecasting big time series data using R Future plans for forecasting in R 53

Slide 148

Slide 148 text

For further information robjhyndman.com Slides and references for this talk. Links to all papers and books. Links to R packages. A blog about forecasting research. OTexts.org/fpp Free online textbook on forecasting using R Forecasting big time series data using R Future plans for forecasting in R 54

Slide 149

Slide 149 text

For further information robjhyndman.com Slides and references for this talk. Links to all papers and books. Links to R packages. A blog about forecasting research. OTexts.org/fpp Free online textbook on forecasting using R Forecasting big time series data using R Future plans for forecasting in R 54