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


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

Формула для расчета MAPE выглядит следующим образом:

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

куда:

  • Σ — причудливый символ, означающий «сумма».
  • n – размер выборки
  • фактический – фактическое значение данных
  • прогноз – прогнозируемое значение данных

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

 actual 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_pred, y_true)

куда:

  • y_pred: прогнозируемые значения
  • y_true: фактические значения

Вот синтаксис, который мы будем использовать в нашем примере:

#load MLmetrics package
library(MLmetrics)

#calculate MAPE
MAPE(data$forecast, data$actual)

[1] 0.06467108

Это дает то же значение MAPE 6,467% , которое мы рассчитали с помощью предыдущего метода.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.