EmpiricalCoverage
Empirical coverage percentage for interval predictions.
Applies to interval predictions.
Should be used together with ConstraintViolation if reported.
Up to a constant, PinballLoss is a weighted sum of ConstraintViolation and EmpiricalCoverage.
For an interval prediction \(I = [a, b]\) and a ground truth value \(y\), the empirical coverage loss is defined as
\(L(y, I):= 1, \text{if } y \in I, 0 \text{ otherwise}\).
When averaged over test samples, variables, or coverages, the average is the same as the empirical coverage percentage, i.e., the percentage of predictions that contain the true value, among the values averaged over.
evaluatecomputes the average test sample loss.evaluate_by_indexproduces the loss sample by test data point.multivariatecontrols averaging over variables.score_averagecontrols averaging over quantiles/intervals.
Quickstart
from sktime.performance_metrics.forecasting.probabilistic import EmpiricalCoverage
estimator = EmpiricalCoverage(multioutput='uniform_average', score_average=True, coverage=None)Parameters(3)
- multioutput‘uniform_average’ (default), 1D array-like, or ‘raw_values’
Whether and how to aggregate metric for multivariate (multioutput) data.
If
'uniform_average'(default), errors of all outputs are averaged with uniform weight.If 1D array-like, errors are averaged across variables, with values used as averaging weights (same order).
If
'raw_values', does not average across variables (outputs), per-variable errors are returned.
- score_averagebool, optional, default = True
specifies whether scores for each coverage value should be averaged.
If True, metric/loss is averaged over all coverages present in
y_pred.If False, metric/loss is not averaged over coverages.
- coverage (optional)float, list of float, or 1D array-like, default=None
nominal coverage to evaluate metric at. Can be specified if no explicit coverages are present in the direct use of the metric, for instance in benchmarking via
evaluate, or tuning viaForecastingGridSearchCV.