AE - Absolute Error
Absolute Error (AE) measures the magnitude of difference between an actual value and a predicted value for each individual data point, without considering the direction of the error.
Unlike aggregated metrics (such as MSE or RMSE), AE computes the element-wise error between a pair of lists, tuples, or NumPy arrays.
Description
- Advantages:
Perfect interpretability: Expressed in the exact same units as the response variable. It directly answers the question: “How far off was this specific prediction?”
Outlier robustness: Because it scales linearly (not squared), AE does not disproportionately inflate the error for extreme outliers.
- Disadvantages:
Non-aggregated: AE is an element-wise metric. To evaluate overall model performance across an entire dataset, it must be mathematically aggregated into metrics like Mean Absolute Error (MAE) or Sum of Absolute Errors (SAE).
Mathematical optimization: The absolute value function is non-differentiable at exactly zero (\(y_i = \hat{y}_i\)), which can make it less ideal as a direct loss function for gradient-based algorithms.
Properties
Best possible score:
0.0(Smaller value is better).Range:
[0, +inf)
Example Usage
from numpy import array
from permetrics.regression import RegressionMetric
## 1. For 1-D array (Single-output)
y_true = array([3, -0.5, 2, 7])
y_pred = array([2.5, 0.0, 2, 8])
evaluator = RegressionMetric(y_true, y_pred)
# Calculate Absolute Error for each element
print("AE: ", evaluator.AE())
## 2. For > 1-D array (Multi-output)
y_true = array([[0.5, 1], [-1, 1], [7, -6]])
y_pred = array([[0, 2], [-1, 2], [8, -5]])
evaluator = RegressionMetric(y_true, y_pred)
# Calculate Absolute Error for multi-dimensional array
print("AE (Multi-output): ", evaluator.AE())