Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Mean Absolute Error (MAE): Плюсы и минусы
Определение
MAE (Mean Absolute Error) — средняя абсолютная ошибка, метрика регрессии, которая вычисляет среднее значение абсолютных отклонений:
MAE = (1/n) * Σ|y_true - y_pred|
Плюсы MAE
-
Интерпретируемость
- В одних единицах с целевой переменной
- "В среднем модель ошибается на 5.2 кг" понятнее, чем RMSE
- Не требует объяснения для бизнеса
-
Робастность к выбросам
- Использует абсолютное значение, а не квадрат
- Выброс влияет линейно, а не экспоненциально
- MAE не как RMSE, который штрафует большие ошибки
-
Математическая простота
- Легко вычисляется
- Производная простая: просто ±1
- Понятная геометрическая интерпретация (манхэттенское расстояние)
-
Справедливая оценка
- Каждая ошибка вносит одинаковый вклад
- Нет переоценки больших отклонений
-
Подходит для бизнеса
- Если потери линейны (штраф за 2 ошибки = 2× штраф за 1)
- Полезна при равномерных убытках от ошибок
Минусы MAE
-
Не дифференцируемость в нуле
- Функция |x| не имеет производной при x=0
- Проблема при градиентном спуске
- Требует специальной обработки оптимизаторами
-
Недостаточно штрафует большие ошибки
- Если есть несколько критически больших ошибок
- Модель может их не замечать
- RMSE в таких случаях лучше
-
Плохая сходимость
- Граничное поведение градиента
- Может быть медленнее обучение
- Особенно в начале обучения
-
Не очень чувствительна к структуре ошибок
- Распределение ошибок: 5 ошибок по 1 = 1 ошибка на 5
- Не различает систематические и случайные ошибки
-
Статистический анализ сложнее
- Доверительные интервалы сложнее вычислять
- Меньше теоретического обоснования
- Чем RMSE из нормального распределения
Сравнение с RMSE
from sklearn.metrics import mean_absolute_error, mean_squared_error
import numpy as np
y_true = [100, 101, 102, 103, 104]
y_pred = [100, 101, 102, 103, 150] # одна большая ошибка
mae = mean_absolute_error(y_true, y_pred)
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
print(f"MAE: {mae:.2f}") # 9.2 — почти как остальные
print(f"RMSE: {rmse:.2f}") # 20.2 — сильно штрафит выброс
Когда использовать MAE?
- Финтех: комиссии, потери линейны
- Логистика: время доставки
- Рекомендации: рейтинги
- Данные с выбросами: но нужна робастность
Когда RMSE лучше?
- Аномальные события критичны
- Статистический анализ важен
- Нормальное распределение ошибок
- Модель штрафует большие ошибки
Вывод
MAE — выбор, когда:
- Ошибки одинаково критичны
- Нужна интерпретируемость
- Данные содержат выбросы
- Бизнес-логика линейна
Выбирай MAE за её простоту и интерпретируемость, но помни о недостатках с оптимизацией.