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.
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