Среднеквадратичная ошибка (MSE, Mean Squared Error) — это метрика, которая показывает, насколько в среднем предсказания модели отклоняются от реальных значений. Она вычисляется путём возведения в квадрат разницы между каждым предсказанием и фактическим значением, суммирования этих квадратов и деления на количество наблюдений. Чем меньше значение MSE, тем точнее модель.
Как это работает
Метрика основана на квадратичной функции потерь (L2 loss). Для каждого примера в выборке берётся разница между истинным значением и прогнозом модели, затем эта разница возводится в квадрат. Квадрат используется по двум причинам: он убирает знак (отрицательные и положительные отклонения не компенсируют друг друга) и усиливает влияние больших ошибок. После этого все квадраты суммируются и делятся на число примеров.
Формально MSE рассчитывается по формуле:
MSE = (1/n) × Σ(yᵢ — ŷᵢ)²
где n — количество наблюдений, yᵢ — фактическое значение, ŷᵢ — предсказание модели.
Квадратичный штраф означает, что ошибка в 10 единиц даёт вклад в 100 раз больший, чем ошибка в 1 единицу. Это делает MSE особенно чувствительной к выбросам.
Зачем это нужно
MSE — одна из базовых метрик в задачах регрессии. Она применяется для оценки качества моделей, которые предсказывают числовые значения: цены, температуру, объёмы продаж, рейтинги. Кроме того, MSE часто используется как функция потерь при обучении линейной регрессии и нейросетей — модель подстраивает параметры так, чтобы минимизировать эту метрику.
MSE удобна тем, что дифференцируема, а значит, подходит для градиентных методов оптимизации. Однако её значение зависит от масштаба данных: MSE для предсказания температуры в градусах Цельсия и в Кельвинах будет разным. Интерпретировать абсолютную величину MSE без контекста сложно.
Примеры
- Прогноз цен на квартиры. Модель предсказывает стоимость в тысячах рублей. Для трёх объектов фактические цены: 5000, 7000, 6000. Прогнозы: 5200, 6800, 6300. Разницы: 200, -200, 300. Квадраты: 40000, 40000, 90000. Сумма: 170000. MSE = 170000 / 3 ≈ 56667.
- Прогноз температуры. Фактические значения: 20°, 22°, 19°. Прогнозы: 21°, 21°, 20°. Разницы: 1, -1, 1. Квадраты: 1, 1, 1. MSE = 1. Это означает, что в среднем модель ошибается на 1 градус в квадрате.
- Прогноз продаж. Если в данных есть выброс — один день с аномально высокими продажами из-за распродажи, — MSE сильно вырастет, даже если на остальных днях модель точна. Это сигнал проверить данные.
Формула или метрика
MSE = (1/n) × Σ(yᵢ — ŷᵢ)²
Диапазон значений: от 0 до +∞. Идеальное значение — 0 (предсказания полностью совпадают с фактами).
Типичные ошибки
- Использование MSE при наличии выбросов. Из-за квадратичного штрафа одна аномальная точка может полностью определить значение метрики. Если в данных есть выбросы, лучше выбрать MAE или предварительно очистить выборку.
- Сравнение MSE между разными наборами данных. Значение MSE зависит от масштаба целевой переменной. Сравнивать модели на разных датасетах по абсолютной величине MSE некорректно.
- Игнорирование размерности. MSE измеряется в квадрате единиц целевой переменной. Если целевая переменная — рубли, MSE — в рублях в квадрате. Это затрудняет интерпретацию.
Как улучшить
- Используйте RMSE (корень из MSE), чтобы вернуться к исходной размерности и упростить интерпретацию.
- Сравнивайте MSE с MAE: если MSE значительно выше MAE, в данных есть выбросы или модель плохо справляется с большими отклонениями.
- Нормируйте целевую переменную перед обучением, если признаки имеют разный масштаб.
- При наличии выбросов рассмотрите робастные функции потерь (Huber loss, quantile loss) вместо MSE.
- Дополняйте MSE коэффициентом детерминации R², чтобы понять, какую долю дисперсии объясняет модель.