mse_reductionMSE_benchmark - MSE_model (absolute MSE reduction) – positive means the candidate beats the benchmark.#

Back to relative_metrics axis | Back to L5 | Browse all options

Operational op under axis relative_metrics, sub-layer L5_A_metric_specification, layer l5. Standalone callable: mf.functions.mse_reduction.

Function signature#

mf.functions.mse_reduction(
    y_true: np.ndarray | pd.Series,
    y_model: np.ndarray | pd.Series,
    y_benchmark: np.ndarray | pd.Series,
) -> float

Parameters#

name

type

default

constraint

description

y_true

`np.ndarray

pd.Series`

y_model

`np.ndarray

pd.Series`

y_benchmark

`np.ndarray

pd.Series`

Returns#

float — scalar result.

Behavior#

Relative-loss metric mse_reduction. Absolute difference: MSE_benchmark - MSE_model. A positive value means the model produces lower MSE than the benchmark. Common in macro-forecasting papers (e.g. Stock-Watson 2002 reports MSE reduction in %). Note: some documentation describes this as 1 - relative_mse (ratio form); the computation uses the absolute difference, matching the recipe-path runtime.

When to use

Default reporting in horse-race tables when ‘positive = better’ is preferred.

In recipe context#

Set params.relative_metrics = "mse_reduction" in the relevant layer to activate this op within a recipe:

# Layer L5 recipe fragment
params:
  relative_metrics: mse_reduction

References#

  • macroforecast design Part 3, L5: ‘evaluation = (metric × benchmark × aggregation × decomposition × ranking).’

  • Campbell & Thompson (2008) ‘Predicting Excess Stock Returns Out of Sample: Can Anything Beat the Historical Average?’, Review of Financial Studies 21(4): 1509-1531. (doi:10.1093/rfs/hhm055)