Ответ
Выбор между ME (средняя ошибка) и MSE (среднеквадратичная ошибка) зависит от целей анализа ошибок модели регрессии.
| Сравнение метрик: | Критерий | ME (Mean Error) | MSE (Mean Squared Error) |
|---|---|---|---|
| Формула | mean(y_pred - y_true) |
mean((y_true - y_pred)^2) |
|
| Чувствительность к знаку | Сохраняет знак, положительные и отрицательные ошибки компенсируют друг друга. | Игнорирует знак, все ошибки положительные. | |
| Чувствительность к выбросам | Низкая. Один большой выброс мало повлияет на среднее. | Высокая. Квадрат сильно увеличивает вклад больших ошибок. | |
| Интерпретация | Показывает систематическое смещение (bias) модели. ME ≈ 0 не означает отсутствие ошибок. | Показывает среднюю величину квадратов ошибок. Не имеет той же размерности, что и целевая переменная. |
Практический пример и выбор:
import numpy as np
from sklearn.metrics import mean_squared_error
y_true = [100, 150, 200, 250, 300]
y_pred = [105, 145, 195, 260, 290] # Модель слегка завышает и занижает предсказания
me = np.mean(np.array(y_pred) - np.array(y_true))
mse = mean_squared_error(y_true, y_pred)
print(f"ME: {me:.2f}") # Вывод: ME: -1.00 (небольшое систематическое занижение)
print(f"MSE: {mse:.2f}") # Вывод: MSE: 51.00
- Выбрал бы MSE, если задача — минимизировать крупные ошибки, которые критически нежелательны (например, ошибка в прогнозе спроса на 1000 единиц хуже, чем десять ошибок по 100). MSE — стандартная дифференцируемая функция потерь для обучения моделей.
- ME (или чаще MAE — Mean Absolute Error) использовал бы для анализа смещения модели или в задачах, где все ошибки одинаково важны, и выбросы не должны доминировать в оценке. Однако ME редко используется как основная метрика из-за свойства компенсации.