forecaster.metrics.crps_from_quantiles

forecaster.metrics.crps_from_quantiles(y_true, pred_quantiles, quantile_levels)

Calculate the Continuous Ranked Probability Score (CRPS) from quantiles.

The empirical cdf is approximated using linear interpolation between the predicted quantiles.

Parameters

Name Type Description Default
y_true float The true value of the random variable. required
pred_quantiles np.ndarray The predicted quantile values. required
quantile_levels np.ndarray The quantile levels corresponding to the predicted quantiles. required

Returns

Name Type Description
float The CRPS score.

Examples

>>> from spotforecast2.forecaster.metrics import crps_from_quantiles
>>> y_true = 5.0
>>> pred_quantiles = np.array([4.0, 4.5, 5.0, 5.5, 6.0])
>>> quantile_levels = np.array([0.1, 0.25, 0.5, 0.75, 0.9])
>>> crps = crps_from_quantiles(y_true, pred_quantiles, quantile_levels)
>>> crps >= 0
True