ts-forecasting-ensemble
ts-forecasting-ensemble copied to clipboard
CentOS based Docker container for Time Series Analysis and Modeling.
Build Time Series Forecasting Ensembles
This CentOS-based container running on Python3 has the tools necessary to build an ensemble of time-series forecacasting models.
Inside the /home
folder, there are sample data and notebooks with examples on building the following models
-
ETS, TBATS
andAUTO.ARIMA
(UsingR
throughrpy2
) -
ARIMA, ARIMAX, SARIMAX
(Usingstatsmodels
) -
Prophet
(using Facebook's Python Library) -
tsfresh
from Blue Yonder for automated feature extraction from time-series data.
Forecasting tl;dr
These are the steps
-
Explore
- Plot the data
- Clean outliers, Impute missing values if needed
-
Transform
- Take the natural log if needed
-
Decompose
- Check if the time-series has any overall trend or seasonality
- Plot the decomposed series
-
Check for Stationarity and find $d$
- Is the series stationary?
- Run the Augmented Dickey Fuller test,
- Check ACF & PACF plots to
- Determine order of differencing needed to stationarize the series
-
Check for Autocorrelations and find $p, q$
- Examine ACF and PACF plots
-
Fit ARIMA/SARIMAX model over a grid
- Use (p, d, q) and set up a grid search
- Find the best model using
- AIC/BIC
- Out of Sample Prediction Error
- Check your Residuals, they should be ~$N(0, 1)$ and look like white noise
-
Make predictions
PS: that ARIMA models assume non-seasonal series, so you'll need to de-seasonalize the series before modeling