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


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

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

золото:

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

MAPE зазвичай використовується, оскільки його легко інтерпретувати та пояснювати. Наприклад, значення MAPE 11,5% означає, що середня різниця між прогнозованим і фактичним значенням становить 11,5%.

Чим нижче значення MAPE, тим краще модель здатна передбачати значення. Наприклад, модель із MAPE 5% точніша, ніж модель із MAPE 10%.

Як розрахувати MAPE в Python

Немає вбудованої функції Python для обчислення MAPE, але ми можемо створити просту функцію для цього:

 import numpy as np

def mape( actual , pred ): 
    actual, pred = np.array(actual), np.array(pred)
    return np.mean(np.abs((actual - pred) / actual)) * 100

Потім ми можемо використати цю функцію для обчислення MAPE для двох таблиць: одна містить фактичні значення даних, а інша містить прогнозовані значення даних.

 actual = [12, 13, 14, 15, 15,22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]

map(actual, pred)

10.8009

З результатів ми бачимо, що середня абсолютна відсоткова похибка для цієї моделі становить 10,8009% . Іншими словами, середня різниця між прогнозованим значенням і фактичним значенням становить 10,8009%.

Застереження щодо використання MAPE

Хоча MAPE легко обчислити та інтерпретувати, його використання має два потенційних недоліки:

1. Оскільки формула для обчислення абсолютної відсоткової похибки є |фактичним прогнозом| / |справжній| це означає, що MAPE не буде визначено, якщо будь-яке з фактичних значень дорівнює нулю.

2. MAPE не слід використовувати з даними малого обсягу. Наприклад, якщо фактичний попит на товар дорівнює 2, а прогноз – 1, абсолютне значення похибки у відсотках буде |2-1| / |2| = 50%, що робить помилку прогнозу досить високою, навіть якщо прогноз відхиляється лише на 1 одиницю.

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

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