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