Какие преимущества и недостатки у метрики MAE (Mean Absolute Error)?

«Какие преимущества и недостатки у метрики MAE (Mean Absolute Error)?» — вопрос из категории Метрики и функции потерь, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

MAE (Средняя абсолютная ошибка) вычисляется как среднее абсолютных разностей между предсказаниями и истинными значениями: MAE = (1/n) * Σ|y_true - y_pred|

Преимущества:

  • Простая и интуитивная интерпретация: Ошибка выражена в тех же единицах, что и целевая переменная. Например, MAE=5 для прогноза цен означает среднюю ошибку в 5 долларов.
  • Робастность к выбросам: Поскольку используется абсолютное значение, MAE менее чувствителен к редким большим ошибкам по сравнению с MSE (квадратичная ошибка). Это полезно в доменах с шумными данными.
  • Оптимизация медианы: Минимизация MAE приводит к предсказанию медианы распределения целевой переменной, что может быть желательно при асимметричных распределениях.

Недостатки:

  • Не дифференцируема в нуле: Функция модуля |x| не имеет производной в точке x=0, что может создавать проблемы для некоторых алгоритмов оптимизации, хотя на практике это редко является критичным (используются субградиенты).
  • Не штрафует большие ошибки квадратично: Это может быть как плюсом (робастность), так и минусом, если крупные ошибки критически нежелательны для задачи.
  • Менее популярна в теории: Многие статистические свойства и методы (например, разложение ошибки) проще выводятся для MSE.

Пример использования в Python:

import numpy as np
from sklearn.metrics import mean_absolute_error

# Пример данных
y_true = [12.5, 8.0, 10.2, 14.1, 9.7]
y_pred = [11.8, 8.5, 9.9, 15.0, 10.0]

mae_value = mean_absolute_error(y_true, y_pred)
print(f"MAE: {mae_value:.2f}")  # Вывод: MAE: 0.62

# Ручной расчёт для понимания
errors = np.abs(np.array(y_true) - np.array(y_pred))
print(f"Абсолютные ошибки: {errors}")  # [0.7, 0.5, 0.3, 0.9, 0.3]
print(f"Среднее: {np.mean(errors):.2f}")  # 0.54

На практике MAE часто используется в задачах регрессии, где интерпретируемость и устойчивость к выбросам важнее, чем сильное наказание за крупные промахи.