Created an automated framework for a demand forecasting problem to choose the best performing model on a weekly basis.
The models considered are:
- Facebook Prophet
- Moving Average
- Simple Exponential Smoothing
- Holt Winter's
- ARIMA
Backtesting:
Backtesting is the time series equivalent of cross-validation. It is an attempt to bootstrap the data in such a way that we can estimate the expected test error. We cannot use cross-validation directly since this is sequenced data. Order must be respected to avoid peeking.
In Expanding Window, we expand the training size from some starting size to a maximum size. This method provides a good balance between creating enough training-test pairs while maximizing the amount of data your models receive.