Как рассчитать 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 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_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% , которое мы рассчитали с использованием предыдущего метода.