reservoirpy.observables.nrmse#

reservoirpy.observables.nrmse(y_true, y_pred, norm='minmax', norm_value=None)[source]#

Normalized mean squared error metric:

\[\frac{1}{\lambda} * \sqrt{\frac{\sum_{i=0}^{N-1} (y_i - \hat{y}_i)^2}{N}}\]
where \(\lambda\) may be:
  • \(\max y - \min y\) (Peak-to-peak amplitude) if norm="minmax";

  • \(\mathrm{Var}(y)\) (variance over time) if norm="var";

  • \(\mathbb{E}[y]\) (mean over time) if norm="mean";

  • \(Q_{3}(y) - Q_{1}(y)\) (quartiles) if norm="q1q3";

  • or any value passed to norm_value.

Parameters:
  • y_true (array-like of shape (N, features)) – Ground truth values.

  • y_pred (array-like of shape (N, features)) – Predicted values.

  • norm ({"minmax", "var", "mean", "q1q3"}, default to "minmax") – Normalization method.

  • norm_value (float, optional) – A normalization factor. If set, will override the norm parameter.

Returns:

Normalized mean squared error.

Return type:

float