Як розрахувати mape в r
Одним із найбільш часто використовуваних показників для вимірювання точності прогнозу моделі є MAPE , що означає середню абсолютну відсоткову помилку .
Формула для розрахунку MAPE така:
MAPE = (1/n) * Σ(|фактичний – прогноз| / |фактичний|) * 100
золото:
- Σ – химерний символ, що означає «сума»
- n – розмір вибірки
- real – фактичне значення даних
- прогноз – очікуване значення даних
MAPE зазвичай використовується, оскільки його легко інтерпретувати та пояснювати. Наприклад, значення MAPE 6% означає, що середня різниця між прогнозованим значенням і фактичним значенням становить 6%.
Цей підручник містить два різні методи, які можна використовувати для обчислення MAPE у R.
Спосіб 1: Напишіть власну функцію
Припустимо, у нас є набір даних зі стовпцем, що містить фактичні значення даних, і стовпцем, що містить прогнозовані значення даних:
#create dataset data <- data. frame (actual=c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24), forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23)) #view dataset data current forecast 1 34 37 2 37 40 3 44 46 4 47 44 5 48 46 6 48 50 7 46 45 8 43 44 9 32 34 10 27 30 11 26 22 12 24 23
Щоб обчислити MAPE, ми можемо використати таку функцію:
#calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100
[1] 6.467108
MAPE для цієї моделі виявляється 6,467% . Тобто середня абсолютна різниця між прогнозованим значенням і фактичним становить 6,467%.
Спосіб 2: Використовуйте пакет
Ми також можемо обчислити MAPE для того самого набору даних за допомогою функції MAPE() із пакета MLmetrics , яка використовує такий синтаксис:
MAPE(y_перед, y_true)
золото:
- y_pred: прогнозовані значення
- y_true: справжні значення
Ось синтаксис, який ми будемо використовувати в нашому прикладі:
#load MLmetrics package library (MLmetrics) #calculate MAPE MAPE(data$forecast, data$actual) [1] 0.06467108
Це дає те саме значення MAPE 6,467% , яке ми розрахували за допомогою попереднього методу.