solarforecastarbiter.metrics.probabilistic.brier_decomposition

solarforecastarbiter.metrics.probabilistic.brier_decomposition(obs, fx, fx_prob)[source]

The 3-component decomposition of the Brier Score.

BS = REL - RES + UNC

where REL is the reliability, RES is the resolution and UNC is the uncertatinty.

Parameters:
  • obs ((n,) array_like) – Observations (physical unit).
  • fx ((n,) array_like) – Forecasts (physical units) of the right-hand-side of a CDF interval, e.g., fx = 10 MW is interpreted as forecasting <= 10 MW.
  • fx_prob ((n,) array_like) – Probability [%] associated with the forecasts.
Returns:

  • rel (float) – The reliability of the forecast [unitless], where a perfectly reliable forecast has value of 0.
  • res (float) – The resolution of the forecast [unitless], where higher values are better.
  • unc (float) – The uncertainty [unitless], where lower values indicate the event being forecasted occurs rarely.

Notes

The current implementation iterates over the unique forecasts to compute the reliability and resolution, rather than using a vectorized formulation. While a vectorized formulation may be more computationally efficient, the clarity of the iterate version outweighs the efficiency gains from the vectorized version. Additionally, the number of unique forecasts is currently capped at 100, which small enough that there is likely no practical difference in computation time between the iterate vs vectorized versions.