theil_u1 – Theil’s U1 inequality coefficient – bounded in [0, 1].#

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

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

Function signature#

mf.functions.theil_u1(
    y_true: np.ndarray | pd.Series,
    y_pred: np.ndarray | pd.Series,
) -> float

Parameters#

name

type

default

constraint

description

y_true

`np.ndarray

pd.Series`

y_pred

`np.ndarray

pd.Series`

Returns#

float — scalar result.

Behavior#

Point-forecast metric theil_u1. U₁ = √MSE / (√(1/N Σ y²) + √(1/N Σ ŷ²)). Bounded between 0 (perfect forecast) and 1 (worst possible). Theil’s original 1966 metric; less commonly used today than U2 because the denominator’s interpretation is less intuitive.

When to use

Long-run macro forecasting tradition; comparability with Theil-1966-era papers.

When NOT to use

Modern reporting – U2 is more interpretable as a ratio against the no-change benchmark.

In recipe context#

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

# Layer L5 recipe fragment
params:
  point_metrics: theil_u1

References#

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

  • Theil (1966) ‘Applied Economic Forecasting’, North-Holland (Chapter 2: Inequality coefficients).