RCRPSProvider#
- class openstef_beam.evaluation.metric_providers.RCRPSProvider(**data: Any) None[source]
Bases:
MetricProviderProvides the Relative Continuous Ranked Probability Score.
Computes rCRPS directly from the full probabilistic forecast without processing individual quantiles.
- Parameters:
data (
Any)
- property metric_names: frozenset[str]
Declared metric names that this provider produces.
Override in subclasses to enable eager metric-name validation (e.g. in the hyperparameter tuner).
-
lower_quantile:
float
-
upper_quantile:
float
- compute_probabilistic(y_true: ndarray[tuple[Any, ...], dtype[floating]], y_pred: ndarray[tuple[Any, ...], dtype[floating]], quantiles: ndarray[tuple[Any, ...], dtype[floating]]) dict[Quantile | Literal['global'], dict[str, Annotated[float, BeforeValidator(func=_convert_none_to_nan, json_schema_input_type=PydanticUndefined)]]][source]
Compute rCRPS metric for probabilistic forecasts.
- Parameters:
y_true (
ndarray[tuple[Any,...],dtype[floating]]) – True values, 1D array of shape (num_samples,).y_pred (
ndarray[tuple[Any,...],dtype[floating]]) – Predicted values, 2D array of shape (num_samples, num_quantiles).quantiles (
ndarray[tuple[Any,...],dtype[floating]]) – Quantiles used for prediction, 1D array of shape (num_quantiles,).y_true
y_pred
quantiles
- Returns:
QuantileMetricsDict containing global rCRPS metric value.
- Return type:
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': False, 'extra': 'ignore', 'protected_namespaces': ()}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].