GeometricMeanRelativeSquaredError
Geometric mean relative squared error (GMRSE).
If square_root is False then calculates GMRSE and if square_root is True then calculates root geometric mean relative squared error (RGMRSE).
In relative error metrics, relative errors are first calculated by scaling (dividing) the individual forecast errors by the error calculated using a benchmark method at the same index position. If the error of the benchmark method is zero then a large value is returned.
GMRSE applies geometric mean squared error (GMSE) to the resulting relative errors. RGMRSE applies root geometric mean squared error (RGMSE) to the resulting relative errors.
Schnellstart
from sktime.performance_metrics.forecasting import GeometricMeanRelativeSquaredError
estimator = GeometricMeanRelativeSquaredError(multioutput='uniform_average', multilevel='uniform_average', square_root=False, by_index=False)Parameter(4)
- square_rootbool, default = False
- Whether to take the square root of the metric
- 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.
- multilevel{‘raw_values’, ‘uniform_average’, ‘uniform_average_time’}
How to aggregate the metric for hierarchical data (with levels).
If
'uniform_average'(default), errors are mean-averaged across levels.If
'uniform_average_time', metric is applied to all data, ignoring level index.If
'raw_values', does not average errors across levels, hierarchy is retained.
- by_indexbool, default=False
Controls averaging over time points in direct call to metric object.
If
False(default), direct call to the metric object averages over time points, equivalent to a call of theevaluatemethod.If
True, direct call to the metric object evaluates the metric at each time point, equivalent to a call of theevaluate_by_indexmethod.
Beispiele
>>> import numpy as np
>>> from sktime.performance_metrics.forecasting import GeometricMeanRelativeSquaredError
>>> y_true = np. array ([3, - 0.5, 2, 7, 2 ])
>>> y_pred = np. array ([2.5, 0.0, 2, 8, 1.25 ])
>>> y_pred_benchmark = y_pred * 1.1
>>> gmrse = GeometricMeanRelativeSquaredError ()
>>> gmrse (y_true, y_pred, y_pred_benchmark = y_pred_benchmark) np.float64(0.0008303544925949156)
>>> y_true = np. array ([[0.5, 1 ], [- 1, 1 ], [7, - 6 ]])
>>> y_pred = np. array ([[0, 2 ], [- 1, 2 ], [8, - 5 ]])
>>> y_pred_benchmark = y_pred * 1.1
>>> gmrse (y_true, y_pred, y_pred_benchmark = y_pred_benchmark) np.float64(0.622419372049448)
>>> gmrse = GeometricMeanRelativeSquaredError (multioutput = 'raw_values')
>>> gmrse (y_true, y_pred, y_pred_benchmark = y_pred_benchmark) array([4.09227746e-06, 1.24483465e+00])
>>> gmrse = GeometricMeanRelativeSquaredError (multioutput = [0.3, 0.7 ])
>>> gmrse (y_true, y_pred, y_pred_benchmark = y_pred_benchmark) np.float64(0.8713854839582426)Referenzen
- Hyndman, R. J and Koehler, A. B. (2006). “Another look at measures of forecast accuracy”, International Journal of Forecasting, Volume 22, Issue 4.