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