sMAPE (Symmetric Mean Absolute Percentage Error) — симметричная средняя абсолютная процентная ошибка.
Что такое sMAPE?
sMAPE — это улучшенная версия классической метрики MAPE, разработанная для решения ее основных проблем. Если MAPE асимметрична и неограничена снизу, то sMAPE симметрична и ограничена.
Формула sMAPE
Стандартная формула выглядит так:
sMAPE = (1/n) × Σ [ 2 × |yᵢ - ŷᵢ| / (|yᵢ| + |ŷᵢ|) ] × 100%
Где:
- yᵢ — фактическое значение
- ŷᵢ — предсказанное значение
- n — количество наблюдений
Зачем нужен sMAPE? Решение проблем MAPE
Проблемы MAPE, которые решает sMAPE:
-
Асимметрия штрафов
- MAPE: Штрафует за недооценку сильнее, чем за переоценку
- sMAPE: Симметрично относится к обеим типам ошибок
-
Неограниченность сверху
- MAPE: Может стремиться к бесконечности
- sMAPE: Всегда ограничена между 0% и 200%
Пример расчета
Рассмотрим тот же пример с ценами на дома (в тыс. $):
| Реальная цена (yᵢ) | Предсказанная цена (ŷᵢ) | Расчет |
|---|---|---|
| 200 | 210 | `2 × |
| 300 | 290 | `2 × |
| 400 | 380 | `2 × |
| 500 | 510 | `2 × |
| 600 | 550 | `2 × |
Сумма: 0.0488 + 0.0339 + 0.0513 + 0.0198 + 0.0870 = 0.2408
sMAPE = (0.2408 / 5) × 100% ≈ 4.82%
Сравнение с MAPE
Давайте сравним на одном примере:
Ситуация: Фактическое значение = 100
| Сценарий | Прогноз | MAPE | sMAPE |
|---|---|---|---|
| Недооценка | 50 | 50% | 66.7% |
| Переоценка | 150 | 50% | 66.7% |
Видно, что sMAPE одинаково наказывает за оба типа ошибок, в отличие от MAPE.
Преимущества sMAPE
- Симметричность: Одинаково относится к завышению и занижению прогноза
- Ограниченность: Значения всегда в диапазоне [0%, 200%]
- Устойчивость: Менее чувствительна к экстремальным значениям, чем MAPE
- Сравнимость: Позволяет лучше сравнивать модели на разных наборах данных
Недостатки sMAPE
- Все еще проблемы с нулевыми значениями: Если и фактическое, и предсказанное значения равны 0, получаем неопределенность 0/0
- Сложность интерпретации: Менее интуитивна, чем обычная MAPE
- Может быть нестабильной: При очень малых значениях знаменателя метрика становится неустойчивой
Когда использовать sMAPE?
Используйте sMAPE, когда:
- Вам важна симметричная оценка ошибок (одинаково плохи и завышение, и занижение)
- Вы сравниваете модели, где MAPE показывает смещенные результаты
- Вы работаете с данными, где нет нулевых или близких к нулю значений
Лучше использовать другие метрики, когда:
- В данных есть нулевые значения
- Вам нужна максимально простая интерпретация для бизнеса
- Вы предпочитаете более устойчивые метрики вроде MASE или Weighted MAPE
Резюме
sMAPE — это полезная альтернатива MAPE, которая решает проблему асимметричного штрафования ошибок. Хотя у нее есть свои ограничения, она остается популярной метрикой в прогнозировании, особенно когда важна симметричная оценка точности.
Для полной картины следует использовать sMAPE вместе с другими метриками (MAE, RMSE, MASE), чтобы получить комплексное представление о качестве вашей модели.