Time Series forecasting for Daily Bike Shares data, using different approaches. It is a daily time series covering a 2-year period. The challenge is to forecast for the month of Dec-12, which exhibits considerable volatility.
Raw time-series:
Modeled time-series - select models:
Modeled time-series - (naive) ensemble approach:
Modeling Approaches Explored:
- Holt-Winters exponential smoothing -
- Comprises: triple exponential smoothing for ETS - Error, Trend, Seasonality
- Explanation blog post
- SARIMAX -
- Comprises: Seasonality + ARIMA + External regressors (holiday flags, strategic shifts etc.)
- TBATS -
- Comprises:
- Trigonometric terms for seasonality
- Box-Cox transformations for heterogeneity (transforming closer to normal)
- ARMA errors for short-term dynamics
- Trend (possibly damped)
- Seasonal (including multiple and non-integer periods)
- Pros/Cons:
- handles non-integer seasonality, multiple seasonal periods (can also change over time)
- Does NOT accomodate exogenous regressors
- Comprises:
- Tensorflow Structural Time Series -
- Library built on TensorFlow; makes it easy to combine probabilistic models and deep learning. webpage
- Rob Hyndman's slides
- Pros/Cons:
- Flexible, good with short-term dynamics, accomodates exogenous regressors, intuitive
- Complex model setup, model fitting takes time
- Notebook including forecasting for weekly Store Footfall data, including comparison with SARIMAX
- Facebook's Prophet -
- Comprises: Trend + Seasonality + Holiday Effects + External Regressors + error
- Trend - linear or logistic
- Seasonality - yearly/ weekly/ daily ... multiplicative/ additive
- Holiday effect - define the specific day, and 'window' of days around it
- Pros: Flexible/ customizable, dynamic events, allows regressors, automatic, Built-in cross validation and hyperparameter tuning
- Comprises: Trend + Seasonality + Holiday Effects + External Regressors + error
- XGBoost + Prophet -
- Stage 1: Fit Prophet model, and take select forecast variables to augment original feature matrix
- Stage 2: Fit XGBoost Regression model on the updated feature matrix
Learning Resources: