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.- add
chronos
autogluon timeseries model prediction like a language model
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
- Vanila Keras timeseries
- Notes on Regression and TS Analysis - Duke Univ
- Rules for identifying ARIMA models
- Sean Abu's SARIMAX tutorial
- Modern Pandas', handling TS + SARIMAX
- ML Mastery' ARIMA Tutorial
- Statsmodels Documentation
- Hyndman Book
- SO auto.arima equivalent in Python
- DO Tutorial - GridSearch for (p,d,q)
- Chronos time series: Learning the Language of Time Series