research
Time Series Forecasting Toolkit
Statistical and ML baselines with honest evaluation
Time-Series ForecastingEvaluationStatistical ModelingPython
View project
Why baselines matter#
A complex forecasting model is only impressive if it clearly beats simple, well-tuned baselines under the same evaluation. My forecasting research kept showing that this check is where many published gains shrink. This kit makes the baselines quick to run.
What it does#
- Seasonal-naive + drift ensemble: a cheap test of whether a series is driven by seasonality, trend or both.
- Holt-Winters exponential smoothing (additive or multiplicative seasonality).
- SARIMA diagnostic via statsmodels.
- Croston’s method for intermittent demand with many zero periods.
- Accuracy battery: MAE, RMSE, MAPE, sMAPE, bias, MASE and RMSSE.
Usage#
from ts_forecast.evaluation import seasonal_naive_drift_diagnostic
from ts_forecast.models import seasonal_naive_drift_forecast
forecast = seasonal_naive_drift_forecast(train, "value", steps=14, seasonal_period=7)
report = seasonal_naive_drift_diagnostic(train, "value", test["value"].values, seasonal_period=7)
Engineering#
Tested, with a small CLI and an end-to-end pipeline for running and scoring every baseline on a new series.