theta_method – Theta method (Assimakopoulos-Nikolopoulos 2000) – M3-competition winning baseline.#
Back to family axis | Back to L4 | Browse all options
Operational op under axis
family, sub-layerL4_A_model_selection, layerl4. Standalone callable:mf.functions.theta_fit.
Function signature#
mf.functions.theta_fit(
X: np.ndarray | pd.DataFrame,
y: np.ndarray | pd.Series,
) -> ThetaFitResult
Parameters#
name |
type |
default |
constraint |
description |
|---|---|---|---|---|
|
`np.ndarray |
pd.DataFrame` |
— |
— |
|
`np.ndarray |
pd.Series` |
— |
— |
Returns#
ThetaFitResult — frozen dataclass with fit results.
Attribute |
Type |
Description |
|---|---|---|
|
|
Theta parameter (default 2.0 = M3 winner). |
|
|
Fitted SES smoothing parameter. |
|
|
Number of observations. |
|
|
Forecast, len(X) steps ahead. |
|
|
Table: theta, alpha, observation count. |
Behavior#
Hand-coded Theta(2) closed-form forecast: blends a long-run linear-trend regression with a short-run simple-exponential-smoothing (SES) level. For θ = 2 (M3 winner), the h-step-ahead forecast is ŷ_{T+h} = 0.5 · (a + b · (T+h)) + 0.5 · ℓ_T, where (a, b) are the OLS trend slope/intercept on time index and ℓ_T is the SES level at time T (smoothing parameter α selected via scipy.optimize.minimize_scalar minimising the in-sample 1-step MSE).
Defaults: theta = 2.0 (M3 winner), seasonal = False, seasonal_periods = 12. The constructor exposes theta for forward compatibility; only the θ=2 closed form is exercised in v0.9.0 – general θ requires a θ-line decomposition out of scope for this run.
When to use
M3 / M4-style univariate baselines; quick reference forecast against more elaborate models.
When NOT to use
Strongly seasonal series (use holt_winters or seasonally-adjusted target); covariate-driven forecasting.
In recipe context#
Set params.family = "theta_method" in the relevant layer to activate this op within a recipe:
# Layer L4 recipe fragment
params:
family: theta_method
References#
macroforecast design Part 2, L4: ‘forecasting model is the layer where every authoring iteration ends – pick family, tune, repeat.’
Assimakopoulos & Nikolopoulos (2000) ‘The theta model: a decomposition approach to forecasting’, International Journal of Forecasting 16(4): 521-530.
Hyndman & Billah (2003) ‘Unmasking the Theta method’, International Journal of Forecasting 19(2): 287-290.
Petropoulos et al. (2022) ‘Forecasting: theory and practice’, International Journal of Forecasting 38(3): 705-871.