Documentation for Metrics
¶
Common metrics to assess performance on NARX models.
explained_variance_score(y, yhat)
¶
Calculate the Explained Variance Score.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | EVS output is non-negative values. Becoming 1.0 means your model outputs are exactly matched by true target values. Lower values means worse results. |
References
- Wikipedia entry on the Explained Variance https://en.wikipedia.org/wiki/Explained_variation
Examples:
Source code in sysidentpy/metrics/_regression.py
forecast_error(y, yhat)
¶
Calculate the forecast error in a regression model.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | ndarray of floats | The difference between the true target values and the predicted or forecast value in regression or any other phenomenon. |
References
- Wikipedia entry on the Forecast error https://en.wikipedia.org/wiki/Forecast_error
Examples:
Source code in sysidentpy/metrics/_regression.py
mean_absolute_error(y, yhat)
¶
Calculate the Mean absolute error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float or ndarray of floats | MAE output is non-negative values. Becoming 0.0 means your model outputs are exactly matched by true target values. |
References
- Wikipedia entry on the Mean absolute error https://en.wikipedia.org/wiki/Mean_absolute_error
Examples:
Source code in sysidentpy/metrics/_regression.py
mean_forecast_error(y, yhat)
¶
Calculate the mean of forecast error of a regression model.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | The mean value of the difference between the true target values and the predicted or forecast value in regression or any other phenomenon. |
References
- Wikipedia entry on the Forecast error https://en.wikipedia.org/wiki/Forecast_error
Examples:
Source code in sysidentpy/metrics/_regression.py
mean_squared_error(y, yhat)
¶
Calculate the Mean Squared Error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | MSE output is non-negative values. Becoming 0.0 means your model outputs are exactly matched by true target values. |
References
- Wikipedia entry on the Mean Squared Error https://en.wikipedia.org/wiki/Mean_squared_error
Examples:
Source code in sysidentpy/metrics/_regression.py
mean_squared_log_error(y, yhat)
¶
Calculate the Mean Squared Logarithmic Error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | MSLE output is non-negative values. Becoming 0.0 means your model outputs are exactly matched by true target values. |
Examples:
Source code in sysidentpy/metrics/_regression.py
median_absolute_error(y, yhat)
¶
Calculate the Median Absolute Error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | MdAE output is non-negative values. Becoming 0.0 means your model outputs are exactly matched by true target values. |
References
- Wikipedia entry on the Median absolute deviation https://en.wikipedia.org/wiki/Median_absolute_deviation
Examples:
Source code in sysidentpy/metrics/_regression.py
normalized_root_mean_squared_error(y, yhat)
¶
Calculate the normalized Root Mean Squared Error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | nRMSE output is non-negative values. Becoming 0.0 means your model outputs are exactly matched by true target values. |
References
- Wikipedia entry on the normalized Root Mean Squared Error https://en.wikipedia.org/wiki/Root-mean-square_deviation
Examples:
>>> y = [3, -0.5, 2, 7]
>>> yhat = [2.5, 0.0, 2, 8]
>>> normalized_root_mean_squared_error(y, yhat)
0.081
Source code in sysidentpy/metrics/_regression.py
r2_score(y, yhat)
¶
Calculate the R2 score. Based on sklearn solution.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | R2 output can be non-negative values or negative value. Becoming 1.0 means your model outputs are exactly matched by true target values. Lower values means worse results. |
Notes
This is not a symmetric function.
References
- Wikipedia entry on the Coefficient of determination https://en.wikipedia.org/wiki/Coefficient_of_determination
Examples:
Source code in sysidentpy/metrics/_regression.py
root_mean_squared_error(y, yhat)
¶
Calculate the Root Mean Squared Error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | RMSE output is non-negative values. Becoming 0.0 means your model outputs are exactly matched by true target values. |
References
- Wikipedia entry on the Root Mean Squared Error https://en.wikipedia.org/wiki/Root-mean-square_deviation
Examples:
Source code in sysidentpy/metrics/_regression.py
root_relative_squared_error(y, yhat)
¶
Calculate the Root Relative Mean Squared Error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | RRSE output is non-negative values. Becoming 0.0 means your model outputs are exactly matched by true target values. |
Examples:
>>> y = [3, -0.5, 2, 7]
>>> yhat = [2.5, 0.0, 2, 8]
>>> root_relative_mean_squared_error(y, yhat)
0.206
Source code in sysidentpy/metrics/_regression.py
symmetric_mean_absolute_percentage_error(y, yhat)
¶
Calculate the SMAPE score.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
y | array-like of shape = number_of_outputs | Represent the target values. | required |
yhat | array-like of shape = number_of_outputs | Target values predicted by the model. | required |
Returns:
Name | Type | Description |
---|---|---|
loss | float | SMAPE output is a non-negative value. The results are percentages values. |
Notes
One supposed problem with SMAPE is that it is not symmetric since over-forecasts and under-forecasts are not treated equally.
References
- Wikipedia entry on the Symmetric mean absolute percentage error https://en.wikipedia.org/wiki/Symmetric_mean_absolute_percentage_error
Examples:
>>> y = [3, -0.5, 2, 7]
>>> yhat = [2.5, 0.0, 2, 8]
>>> symmetric_mean_absolute_percentage_error(y, yhat)
57.87