Favorita: Time-Series Models (ARIMA/SARIMA)

Classical time-series forecasting — ARIMA and SARIMA — train, tune, and predict, with shared time-series utilities. The statistically grounded counterpoint to the tree-based models, and often the right tool for clean seasonal series.

Primary Outcome

Trained classical time-series forecasts that capture trend and seasonality, comparable against the ML models.

Solution

ARIMA/SARIMA train, tune, and predict scripts with shared utilities, run alongside the ML models for a fair comparison on the same data.

Deliverables

  • train_timeseries.py — fit ARIMA/SARIMA models

  • optimize_timeseries.py — order and seasonal-order search

  • predict_timeseries.py — forecast generation

  • ts_common.py — shared time-series helpers

Strategic Context

Classical time-series methods are unfashionable and frequently correct. For clean, seasonal demand, a SARIMA model is interpretable, cheap, and competitive. Keeping it in the lineup guards against the reflex to reach for complexity the data doesn't require.

Technical Architecture

Classical time-series methods are unfashionable and frequently correct. For clean, seasonal demand, a SARIMA model is interpretable, cheap, and competitive. Keeping it in the lineup guards against the reflex to reach for complexity the data doesn't require.

Problem Statement

Teams default to ML models even for clean seasonal series where a classical method would be more interpretable and just as accurate.

Links

What's Included

The vertex/models/timeseries directory: train_timeseries.py, optimize_timeseries.py, predict_timeseries.py, and ts_common.py for shared seasonality and differencing helpers.

FAQs

When do classical methods win?

On clean, strongly seasonal series with limited exogenous drivers, a well-specified SARIMA is often interpretable and competitive.

Is Prophet included?

This template focuses on ARIMA/SARIMA via statsmodels; the structure makes adding Prophet straightforward.

Tech Stack

Tool 1

Tool 4

Tool 4

Tool 3

Tool 2

Tool 4

Primary Outcome

Trained classical time-series forecasts that capture trend and seasonality, comparable against the ML models.

Problem Statement

Teams default to ML models even for clean seasonal series where a classical method would be more interpretable and just as accurate.

Solution

ARIMA/SARIMA train, tune, and predict scripts with shared utilities, run alongside the ML models for a fair comparison on the same data.

Links

Deliverables

  • train_timeseries.py — fit ARIMA/SARIMA models

  • optimize_timeseries.py — order and seasonal-order search

  • predict_timeseries.py — forecast generation

  • ts_common.py — shared time-series helpers

What's Included

The vertex/models/timeseries directory: train_timeseries.py, optimize_timeseries.py, predict_timeseries.py, and ts_common.py for shared seasonality and differencing helpers.

Strategic Context

Classical time-series methods are unfashionable and frequently correct. For clean, seasonal demand, a SARIMA model is interpretable, cheap, and competitive. Keeping it in the lineup guards against the reflex to reach for complexity the data doesn't require.

FAQs

When do classical methods win?

On clean, strongly seasonal series with limited exogenous drivers, a well-specified SARIMA is often interpretable and competitive.

Is Prophet included?

This template focuses on ARIMA/SARIMA via statsmodels; the structure makes adding Prophet straightforward.

Technical Architecture

Classical time-series methods are unfashionable and frequently correct. For clean, seasonal demand, a SARIMA model is interpretable, cheap, and competitive. Keeping it in the lineup guards against the reflex to reach for complexity the data doesn't require.

Tech Stack

Tool 1

Tool 4

Tool 4

Tool 3

Tool 2

Tool 4