Як розрахувати 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 одиницю.