src.variants.metrics.error_metrics module

This module includes error validation metrics.

It includes several error metrics. See details in their own documentations. The functions are mainly based on numpy arrays for fast vectorized operations.

Contact person: Stefan Riedmaier Creation date: 03.06.2020 Python version: 3.8

src.variants.metrics.error_metrics.absolute_deviation(y_true, y_pred)

This function calculates the absolute deviation between two values.

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

Returns:

absolute difference

Return type:

np.ndarray

src.variants.metrics.error_metrics.correlation_coefficient(y_true, y_pred, axis=-1)

This function calculatest the correlation coefficient R.

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

correlation coefficient

Return type:

np.ndarray

src.variants.metrics.error_metrics.mae(y_true, y_pred, axis=-1)

This function calculates the mean absolute error (MAE).

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

mean absolute error

Return type:

np.ndarray

src.variants.metrics.error_metrics.mane(y_true, y_pred, axis=-1)

This function calculates the mean absolute normalized error (MANE).

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

mean absolute normalized error

Return type:

np.ndarray

src.variants.metrics.error_metrics.me(y_true, y_pred, axis=-1)

This function calculates the mean error (ME).

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

mean error

Return type:

np.ndarray

src.variants.metrics.error_metrics.mne(y_true, y_pred, axis=-1)

This function calculates the mean normalized error (MNE).

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

mean normalized error

Return type:

np.ndarray

src.variants.metrics.error_metrics.nrmse(y_true, y_pred, normalization='rmsne', axis=-1)

This function calculates the normalized root mean square error (NRMSE).

https://en.wikipedia.org/wiki/Root-mean-square_deviation

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • normalization – normalize by ‘mean’, ‘range’ or ‘rmsne’ (values) of the observed data

  • axis (int) – (optional) along this axis the operation is performed

Returns:

normalized root mean square error

Return type:

np.ndarray

src.variants.metrics.error_metrics.r_squared(y_true, y_pred, axis=-1)

This function calculatest the coefficient of determination R^2.

https://en.wikipedia.org/wiki/Coefficient_of_determination

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

coefficient of determination

Return type:

np.ndarray

src.variants.metrics.error_metrics.relative_deviation(y_true, y_pred)

This function calculates the relative deviation between two values.

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

Returns:

relative difference

Return type:

np.ndarray

src.variants.metrics.error_metrics.relative_deviation_2prediction(y_true, y_pred)

This function calculates the relative deviation between two values in relation to the predicted value.

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

Returns:

relative difference

Return type:

np.ndarray

src.variants.metrics.error_metrics.rmse(y_true, y_pred, axis=-1)

This function calculates the root mean square error (RMSE).

https://en.wikipedia.org/wiki/Root-mean-square_deviation

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

root mean square error

Return type:

np.ndarray

src.variants.metrics.error_metrics.se(y_true, y_pred, axis=-1)

This function calculates the squared error (SE).

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

squared error

Return type:

np.ndarray

src.variants.metrics.error_metrics.theils_u(y_true, y_pred, axis=-1)

This function calculates Theil’s Inequality Coefficient and the Bias, Variance, and Covariance Proportion.

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

Theil’s Inequality Coefficient and the Bias, Variance and Covariance Proportion

Return type:

np.ndarray

src.variants.metrics.error_metrics.vm_oberkampf_2002(y_true, y_pred, axis=-1)

This function calculates a validation metric according to Oberkampf and Trucano.

The theory can be found in [1, Eq. 16].

Literature: [1] W. L. Oberkampf and T. G. Trucano, Verification and validation in computational fluid dynamics, In: Progress in Aerospace Sciences 38 (3), 2002, S. 209–272

Parameters:
  • y_true (np.ndarray) – observed outputs

  • y_pred (np.ndarray) – predicted outputs

  • axis (int) – (optional) along this axis the operation is performed

Returns:

validation metric according to Oberkampf and Trucano

Return type:

np.ndarray