Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Forecasting big time series data using R

Forecasting big time series data using R

Keynote address given at the Chinese R conference held in Nanchang, Jianxi province. 24-25 October 2015

Rob J Hyndman

April 17, 2017
Tweet

More Decks by Rob J Hyndman

Other Decks in Research

Transcript

  1. 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
  2. Motivation Forecasting big time series data using R Motivation 3

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

    Forecasting the government PBS expenditure for the next five years.
  4. 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
  5. 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
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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.
  27. 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)
  28. 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)
  29. 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)
  30. 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)
  31. 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)
  32. 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)
  33. 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)
  34. 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)
  35. 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)
  36. 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.
  37. 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?
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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”
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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.
  49. 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.
  50. 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.
  51. 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.
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. ARIMA models yt−1 yt−2 yt−3 yt Inputs Output Forecasting big

    time series data using R ARIMA forecasts 20
  59. 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
  60. 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
  61. 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.
  62. 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.
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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.
  87. 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.
  88. 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.
  89. 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.
  90. 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.
  91. 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.
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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)
  111. 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)
  112. 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)
  113. 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)
  114. 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 <Rob.Hyndman at monash.edu> BugReports: https://github.com/robjhyndman/hts/issues License: GPL (≥ 2)
  115. 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
  116. 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
  117. 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
  118. Australian tourism Forecasting big time series data using R Optimal

    forecast reconciliation 48 Hierarchy: States (7) Zones (27) Regions (82)
  119. 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
  120. 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
  121. 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
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. 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
  140. 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
  141. 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
  142. 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
  143. 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
  144. 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