Какую метрику выбрать для регрессии с выбросами: MSE или MAE?
Что проверяют
Понимаете ли вы, что метрика это решение о том, какие ошибки вам дороже, а не пункт из списка. Хороший ответ начинается со встречного вопроса о природе выбросов. Дальше спрашивают, чем метрика оценки отличается от функции потерь при обучении.
Как отвечать
Главный аргумент математический: минимум MSE достигается на условном среднем, минимум MAE на условной медиане. То есть выбор метрики меняет то, что модель вообще предсказывает. На скошенном распределении (чеки, сроки доставки, спрос) модель под MAE систематически даёт заниженные значения, и это не баг, а свойство медианы.
Дальше по шагам:
- выясните природу выбросов: битые данные и ошибки логирования лечатся до модели, чисткой и правилами. Реальные редкие события (пик спроса, крупный контракт) выкидывать нельзя, ради них всё и строится;
- выбросы это шум: берите MAE или медианную абсолютную ошибку, одна огромная ошибка не перевесит тысячу нормальных;
- крупные промахи дороги нелинейно: берите MSE или RMSE, квадрат наказывает именно за них. RMSE удобнее в отчёте, потому что живёт в единицах целевой переменной;
- компромисс:
Huberс порогом дельта ведёт себя как квадратичная функция около нуля и как линейная на хвостах,log-coshдаёт то же самое гладко; - важен не центр, а граница: квантильная регрессия с pinball loss, когда недооценка и переоценка стоят по-разному.
Отдельно скажите, что учить и оценивать можно разными функциями: обучение на Huber, а в отчёте MAE и RMSE рядом. Разрыв между ними сам по себе диагностика, большой означает тяжёлый хвост ошибок. В LightGBM и XGBoost это параметр objective со значениями regression_l1, huber, quantile.
Где спотыкаются
Отвечают «выбросы есть, значит MAE», не спросив, что это за выбросы. Половина задач ломается ровно тут: удалили как шум то, ради чего модель и строилась.
Путают метрику с функцией потерь. Заявить MAE в отчёте и учить модель на квадратичной ошибке по умолчанию значит оптимизировать не то, что измеряете.
Предлагают MAPE как универсальную замену. При целевых значениях около нуля она взрывается и вдобавок несимметрично штрафует переоценку и недооценку. Для таких данных берут WAPE или MASE.