LIVE

Прогнозирование через машинное обучение: MAE против RMSE

Модель прогноза может ошибаться в среднем на 5 единиц и при этом иногда промахиваться на 20. Другая модель способна ошибаться чаще, но почти всегда понемногу. Какая из них лучше? Ответ зависит от того, что именно считать дорогой ошибкой.

Обновлено13 ноября 2026 г.
Чтение8 мин
Прогнозирование через машинное обучение: MAE против RMSE

Метрики MAE и RMSE сводят прогнозы к числам, но по-разному оценивают крупные промахи.

При прогнозировании через машинное обучение эти показатели часто используют для оценки регрессионных моделей: например, когда нужно предсказать спрос, время доставки или энергопотребление. Обе метрики выражаются в единицах прогнозируемой величины, и у обеих идеальное значение равно нулю. На этом сходство заканчивается: MAE усредняет абсолютные ошибки, а RMSE сильнее повышает итоговую оценку, если модель иногда сильно промахивается.

Как считаются MAE и RMSE

Для расчёта обеих метрик нужны фактические значения и прогнозы модели. Разность между ними показывает ошибку для отдельного наблюдения. Знак ошибки при оценке теряется: промах на 10 вверх и на 10 вниз дают одинаковый вклад.

MAE — средняя абсолютная ошибка. Метрика складывает модули ошибок и делит сумму на число наблюдений:

MAE = (1/n) Σ|yᵢ − ŷᵢ|

Здесь yᵢ — фактическое значение, ŷᵢ — прогноз, а n — число прогнозов в выборке. Если модель предсказывает время доставки в минутах, MAE тоже будет измеряться в минутах. Значение 4 означает, что средняя абсолютная ошибка на проверенных наблюдениях составила 4 минуты.

RMSE — корень из средней квадратичной ошибки:

RMSE = √[(1/n) Σ(yᵢ − ŷᵢ)²]

Сначала каждая ошибка возводится в квадрат, затем квадраты усредняются, после чего берётся квадратный корень. Извлечение корня возвращает результат к исходным единицам: если модель оценивает спрос в штуках, RMSE тоже будет выражаться в штуках.

Рассмотрим небольшую иллюстрацию. Фактический спрос в трёх периодах составил 100, 100 и 100 единиц. Первая модель предсказала 90, 100 и 110. Её MAE равна примерно 6,7 единицы, а RMSE — примерно 8,2. Вторая модель предсказала 100, 100 и 85: MAE составила 5 единиц, RMSE — примерно 8,7.

МетрикаПервая модельВторая модель
MAE6,75
RMSE8,28,7

По MAE выигрывает вторая модель, а по RMSE — первая. Противоречия нет: вторая модель дала два точных прогноза и один промах на 15 единиц, тогда как у первой ошибки были умеренными, но в каждом из двух периодов. Метрики отвечают на разные вопросы о том, как распределены ошибки.

MAE показывает средний размер абсолютного промаха. RMSE дополнительно выделяет наблюдения, где модель ошиблась особенно сильно.

Почему RMSE сильнее реагирует на крупные промахи

Ключ к различию находится в квадрате ошибки. В MAE промах на 10 единиц вносит в сумму вклад 10, а промах на 20 — вклад 20. В RMSE эти ошибки до усреднения превращаются в 100 и 400. Поэтому один большой промах способен заметно поднять итоговое значение, даже если остальные прогнозы близки к фактическим.

Это свойство полезно, когда крупная ошибка имеет особую цену. Например, при планировании запасов значительное занижение спроса может привести к дефициту, а при управлении нагрузкой сети резкий недопрогноз способен осложнить распределение ресурсов. Если бизнесу важно ограничивать именно такие провалы, RMSE помогает сделать их видимыми в оценке модели.

Но чувствительность к крупным ошибкам не делает RMSE универсально лучшей метрикой. В данных могут встречаться выбросы — редкие значения, сильно отличающиеся от основной массы. Иногда это реальные экстремальные события, которые важно учитывать. Иногда это ошибки измерения или записи. RMSE заметно реагирует на оба случая, не различая их причину. MAE менее чувствительна к выбросам, поскольку ошибка входит в расчёт линейно, однако и она не становится полностью нечувствительной к необычным значениям.

Перед выбором метрики полезно посмотреть на сами ошибки, а не только на их сводное число. Если RMSE заметно выше MAE, это повод исследовать крупные промахи: в каких периодах они возникли, связаны ли с резким изменением условий, редким событием или проблемой в данных. Само соотношение не объясняет причину, но помогает заметить, что качество модели неоднородно.

При прогнозировании временных рядов имеет значение и горизонт. Ошибки на ближайший период и на дальний горизонт могут различаться по масштабу и по последствиям. Если оценить их одним числом, важная особенность способна потеряться. Поэтому модели разумно сравнивать на одинаковых периодах и горизонтах, а результаты по существенным для задачи сегментам анализировать отдельно.

Как метрика связана с самим прогнозом

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

При минимизации MAE оптимальным точечным прогнозом становится медиана. Медиана делит наблюдения так, что половина значений находится ниже неё, а половина выше. При минимизации RMSE оптимальным точечным прогнозом становится среднее арифметическое. Среднее учитывает величину отклонений, поэтому крайние значения могут сильнее сдвигать его в свою сторону.

Представим, что для похожих случаев исторически наблюдались значения 10, 11 и 50. Среднее окажется выше медианы, поскольку значение 50 тянет его вверх. Модель, обученная с целью минимизировать квадратичную ошибку, будет ориентироваться на среднее и сильнее учитывать далёкие значения. При абсолютной ошибке целевым ориентиром будет медиана, которая меньше сдвигается из-за единственного экстремального наблюдения.

Это не означает, что одна стратегия всегда правильна. Если редкое значение 50 отражает реальный пик спроса, его влияние может быть оправданным. Если оно появилось из-за сбоя датчика, модель рискует подстроиться под шум. Метрика задаёт предпочтение при обучении и оценке, но не определяет, какие данные считать корректными и какая ошибка приемлема для бизнеса.

На практике выбор можно связать с последствиями прогноза. Если ошибка на 20 единиц намного дороже двух ошибок по 10, RMSE может лучше соответствовать задаче. Если важна типичная величина отклонения, а единичные экстремумы не должны доминировать в общей оценке, MAE даст более устойчивую картину. Для решения всё равно нужна проверка ошибок на данных, которые модель не использовала при обучении.

Как читать метрики и сравнивать модели

MAE и RMSE масштабозависимы: они сохраняют единицы целевой переменной. Это удобно для интерпретации, поскольку значение можно сопоставить с предметной областью. Ошибка прогноза в 3 градуса, 3 минуты и 3 тысячи рублей — три разных результата, хотя число одинаковое.

По той же причине нельзя напрямую сравнивать MAE или RMSE у рядов с разными единицами измерения и масштабом. Значение 5 может быть существенным для небольшого объёма продаж и незначительным для крупного производства. Сравнение требует одинаковой целевой величины и сопоставимых условий либо применения подходящей масштабонезависимой метрики.

Если две модели оцениваются на одном наборе данных, меньшая MAE означает меньшую ошибку по абсолютному критерию, а меньшая RMSE — по квадратичному. Однако эти оценки могут ранжировать модели по-разному, как в примере выше. В таком случае нельзя просто выбрать «победителя» по числу, не уточнив, какие ошибки значимы в рабочем процессе.

Для оценки моделей прогнозирования полезно вместе с агрегированной метрикой рассматривать распределение ошибок:

  • среднюю абсолютную ошибку по периодам или группам объектов;
  • крупнейшие промахи и условия, при которых они произошли;
  • разницу между фактическими и прогнозными значениями по направлению, чтобы увидеть систематическое завышение или занижение;
  • результаты на отложенных данных, близких к будущему сценарию использования.

MAE и RMSE не являются процентами ошибки. MAE в 5 единиц не означает ошибку в 5 процентов. Если нужен относительный показатель, его выбирают отдельно и проверяют, подходит ли он данным: например, деление на фактическое значение может вести себя проблемно, когда оно близко к нулю.

Универсального порога, после которого MAE или RMSE можно объявить хорошей, нет. Важны масштаб целевого показателя, качество доступных данных, горизонт прогноза и стоимость ошибки. Одно и то же RMSE может быть приемлемым для грубого планирования и слишком большим для автоматического решения, которое запускается без дополнительной проверки.

Настройка оценки в scikit-learn

В scikit-learn MAE и RMSE доступны как метрики регрессионной ошибки. Для набора прогнозов можно передать фактические и предсказанные значения, после чего получить сводную оценку. Минимум обеих метрик равен нулю: это соответствует полному совпадению прогнозов с фактами на проверяемой выборке.

У root_mean_squared_error есть версия-зависимый нюанс: функция появилась в scikit-learn 1.4. Если проект использует более раннюю версию библиотеки, код, который обращается именно к этой функции, не выполнится. При переносе ноутбука или сервиса между окружениями стоит сверить версию зависимости и способ расчёта RMSE.

Для наблюдений можно задать sample_weight — веса, то есть коэффициенты, определяющие вклад отдельных примеров в итоговую оценку. Это полезно, когда наблюдения имеют разную значимость для задачи. Например, компании может быть важнее оценить ошибки для ключевых групп товаров. Но вес не должен превращаться в способ искусственно улучшить результат: его смысл следует определить до сравнения моделей и применять одинаково к кандидатам.

При многовыходной регрессии, когда модель одновременно прогнозирует несколько величин, scikit-learn позволяет получить метрику отдельно для каждого выхода либо усреднить результаты. При усреднении можно задавать веса выходов. Здесь особенно легко потерять контекст: если одна целевая переменная измеряется в единицах, а другая — в тысячах, их ошибки нельзя считать сопоставимыми только потому, что библиотека умеет объединить их в одно число. Сначала нужно решить, что означает общий показатель и насколько корректно сопоставлять масштабы.

Практический порядок оценки может выглядеть так:

1. Зафиксировать целевую величину, горизонт прогноза и набор проверочных данных.

2. Посчитать MAE и RMSE для каждой модели на одинаковых наблюдениях.

3. Изучить крупные ошибки и сегменты, в которых модели расходятся по качеству.

4. Соотнести эти ошибки с последствиями в рабочем процессе, прежде чем выбирать метрику для обучения и итогового отчёта.

Какую метрику выбрать

Для многих задач полезно считать обе метрики. MAE даёт понятный ориентир среднего абсолютного отклонения, RMSE показывает, насколько итоговая оценка чувствительна к крупным промахам. Если они приводят к разным выводам о моделях, это не повод искать арифметическую ошибку автоматически. Скорее, модели по-разному распределяют ошибки, и это различие требует предметной интерпретации.

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

Дальше роль метрик будет только практичнее: модели всё чаще встраиваются в сервисы, где прогноз автоматически влияет на запасы, расписания и распределение ресурсов. Но ни MAE, ни RMSE не знают цену ошибки сами по себе. Её задаёт задача, а метрика помогает перевести эту цену в понятный критерий сравнения.

Частые вопросы

Чем MAE отличается от RMSE?
MAE усредняет абсолютные ошибки. RMSE сначала возводит ошибки в квадрат, поэтому сильнее реагирует на крупные промахи.
Когда лучше использовать MAE, а когда RMSE?
MAE подходит, когда нужен понятный показатель типичного промаха и крупные отклонения не должны чрезмерно влиять на общую оценку. RMSE уместна, когда сильные ошибки особенно дороги и их важно заметнее учитывать.
Почему RMSE может быть больше MAE?
В RMSE ошибки возводятся в квадрат до усреднения, поэтому крупные промахи получают больший вклад. Если RMSE заметно выше MAE, стоит исследовать такие ошибки и условия, в которых они возникли.
В каких единицах измеряются MAE и RMSE?
Обе метрики сохраняют единицы прогнозируемой величины: например, для времени доставки они выражаются в минутах, а для спроса — в штуках. Они не являются процентами ошибки.
С какой версии scikit-learn доступна функция root_mean_squared_error?
Функция root_mean_squared_error появилась в scikit-learn 1.4. В более ранних версиях код, обращающийся именно к этой функции, не выполнится.