Як розрахувати smape в python


Симетрична середня абсолютна відсоткова помилка (SMAPE) використовується для вимірювання точності прогнозування моделей. Він розраховується таким чином:

SMAPE = (1/n) * Σ(|прогноз – фактичний| / ((|фактичний| + |прогноз|)/2) * 100

золото:

  • Σ – символ, що означає «сума»
  • n – розмір вибірки
  • real – фактичне значення даних
  • прогноз – очікуване значення даних

Цей підручник пояснює, як обчислити 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *