Как рассчитать 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *