Как рассчитать smape в python
Симметричная средняя абсолютная процентная ошибка (SMAPE) используется для измерения точности прогнозирования моделей. Он рассчитывается следующим образом:
SMAPE = (1/n) * Σ(|прогноз – факт| / ((|факт| + |прогноз|)/2) * 100
Золото:
- Σ – символ, означающий «сумма».
- n – размер выборки
- реальный – фактическое значение данных
- прогноз – ожидаемое значение данных
В этом руководстве объясняется, как рассчитать SMAPE в Python.
Как рассчитать SMAPE в Python
В Python нет встроенной функции для расчета SMAPE, но мы можем создать для этого простую функцию:
import numpy as np
def smape( a , f ):
return 1/ len (a) * np. sum (2 * np. abs (fa) / (np. abs (a) + np. abs (f))*100)
Затем мы можем использовать эту функцию для расчета SMAPE для двух таблиц: одна содержит фактические значения данных, а другая — прогнозируемые значения данных.
#define arrays of actual and forecasted data values actual = np.array([12, 13, 14, 15, 15,22, 27]) forecast = np.array([11, 13, 14, 14, 15, 16, 18]) #calculate SMAPE smape(actual, forecast) 12.45302
Из результатов мы видим, что средняя симметричная абсолютная процентная ошибка для этой модели составляет 12,45302% .
Дополнительные ресурсы
Запись в Википедии о SMAPE
Мысли Роба Дж. Хайндмана о SMAPE
Как рассчитать MAPE в Python
Как рассчитать MAPE в R
Как рассчитать MAPE в Excel