climpred.metrics._threshold_brier_score

climpred.metrics._threshold_brier_score(forecast, verif, dim=None, **metric_kwargs)[source]

Brier score of an ensemble for exceeding given thresholds.

CRPS = \int_f BS(F(f), H(f - o)) df

where F(o) = \int_{f \leq o} p(f) df is the cumulative distribution function (CDF) of the forecast distribution F, o is a point estimate of the true observation (observational error is neglected), BS denotes the Brier score and H(x) denotes the Heaviside step function, which we define here as equal to 1 for x \geq 0 and 0 otherwise.

Parameters
  • forecast (xr.object) – Forecast with member dim.

  • verif (xr.object) – Verification data without member dim.

  • dim (list of str) – Dimension to apply metric over. Expects at least member. Other dimensions are passed to xskillscore and averaged.

  • threshold (int, float, xr.object) – Threshold to check exceedance, see properscoring.threshold_brier_score.

  • metric_kwargs (dict) – optional, see threshold_brier_score()

Details:

minimum

0.0

maximum

1.0

perfect

0.0

orientation

negative

Reference:

See also

Example

>>> # get threshold brier score for each init
>>> HindcastEnsemble.verify(metric='threshold_brier_score', comparison='m2o',
...     dim='member', threshold=.2, alignment='same_inits')
<xarray.Dataset>
Dimensions:    (lead: 10, init: 52)
Coordinates:
  * init       (init) object 1954-01-01 00:00:00 ... 2005-01-01 00:00:00
  * lead       (lead) int32 1 2 3 4 5 6 7 8 9 10
    threshold  float64 0.2
    skill      <U11 'initialized'
Data variables:
    SST        (lead, init) float64 0.0 0.0 0.0 0.0 0.0 ... 0.25 0.36 0.09 0.01
>>> # multiple thresholds averaging over init dimension
>>> HindcastEnsemble.verify(metric='threshold_brier_score', comparison='m2o',
...     dim=['member', 'init'], threshold=[.2, .3], alignment='same_verifs')
<xarray.Dataset>
Dimensions:    (lead: 10, threshold: 2)
Coordinates:
  * lead       (lead) int32 1 2 3 4 5 6 7 8 9 10
  * threshold  (threshold) float64 0.2 0.3
    skill      <U11 'initialized'
Data variables:
    SST        (lead, threshold) float64 0.08712 0.005769 ... 0.1312 0.01923