Как рассчитать 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 (f-a) / (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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.