Как рассчитать wmape в r (с примером)


Одной из наиболее часто используемых метрик для измерения точности прогноза модели является WMAPE , что означает средневзвешенную абсолютную процентную ошибку .

Формула расчета WMAPE:

WMAPE = (Σ|y i – ŷ i |*w i ) / (Σy i *w i ) * 100

Золото:

  • Σ – символ, означающий «сумма».
  • y i – Реальное значение i-го наблюдения
  • ŷ i – прогнозируемое значение i- го наблюдения
  • w i – Вес i- го наблюдения

Мы можем определить следующую функцию для расчета WMAPE в R:

 find_WMAPE <- function (y, yhat, w){
  return (sum(abs(y-yhat)*w)/sum(y*w)*100)
}

В следующем примере показано, как использовать эту функцию на практике.

Пример: расчет WMAPE в R

Предположим, у нас есть следующий кадр данных в R, который содержит информацию о фактических и прогнозируемых продажах для розничного магазина:

 #create dataset
data <- data. frame (actual=c(23, 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 23 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

Чтобы вычислить WMAPE для разницы между фактическими и прогнозируемыми продажами, мы можем определить вектор весов, который будет использоваться, а затем использовать функцию WMAPE, которую мы определили ранее:

 #define function to calculate WMAPE
find_WMAPE <- function (y, yhat, w){
  return (sum(abs(y-yhat)*w)/sum(y*w)*100)
}

#define weights for each month
weights <- c(20, 20, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6)

#calculate WMAPE
find_WMAPE(df$actual, df$predicted, weights)

[1] 13.27635

WMAPE для этой модели оказывается 13,27635% .

То есть средневзвешенная абсолютная процентная ошибка между прогнозируемыми значениями продаж и фактическими значениями продаж составляет 13,27635%.

Обратите внимание, что в этом примере мы присвоили гораздо большие веса значениям января и февраля.

В зависимости от вашей конкретной проблемы вы можете присвоить больший или меньший вес различным наблюдениям в зависимости от важности каждой ошибки в вашей модели.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как рассчитать MAPE в R
Как рассчитать SMAPE в R
Как рассчитать RMSE в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *