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

Для чего используются языки программирования Программирование и разработка

В этой статье мы увидим, как рассчитать MAPE на языке программирования R.

MAPE

Это аббревиатура от средней абсолютной ошибки в процентах. MAPE используется для измерения точности системы прогнозирования. Точность измеряется в процентах. MAPE можно рассчитать по следующей формуле:

MAPE = (1 / n) * Σ(|At – Ft| / |At|) * 100

Здесь,

n: представляет количество установленных точек

A t : представляет фактическое значение,

F t : представляет значение прогноза.

Σ: символ, используемый для обозначения суммирования

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

Способ 1: Использование пакета MLmetrics

В R пакет MLmetrics предоставляет нам функцию MAPE(), с помощью которой мы можем вычислить MAPE в R. Эта функция имеет следующий синтаксис:

Синтаксис: MAPE(Ft, At)

Параметры:

Здесь,

F t: представляет прогнозируемые значения.
A t: представляет фактические значения

Пример:

р

# Create a dataframe
dataframe <- data.frame(At=c(15, 40, 41, 32,
                             48, 28, 21, 47, 36,
                             37, 11, 14),
                   Ft=c(32, 41, 43, 54, 66, 51,
                        46, 45, 37, 33, 25, 26))
# Print the dataframe
dataframe

Выход:

Теперь, чтобы узнать MAPE вышеуказанного фрейма данных

Теперь, чтобы узнать MAPE вышеуказанного фрейма данных, мы можем использовать функцию MAPE():

р

# Import library
library("MLmetrics")
# Create a dataframe
dataframe <- data.frame(At=c(15, 40, 41, 32,
                             48, 28, 21, 47,
                             36, 37, 11, 14),
                   Ft=c(32, 41, 43, 54, 66,
                        51, 46, 45, 37, 33,
                        25, 26))
# Compute MAPE
MAPE(dataframe$Ft, dataframe$At)

Выход:

Отсюда значение MAPE оказывается равным 54

Отсюда значение MAPE оказывается равным 54,915 %.

Способ 2: создание пользовательской функции

Мы можем создать собственную функцию для определения MAPE.

Пример:

Давайте сначала создадим фрейм данных, который содержит два столбца. Один столбец содержит фактические значения, а другой столбец содержит прогнозируемые значения.

р

# Create a dataframe
dataframe <- data.frame(At=c(15, 40, 41, 32, 48,
                             28, 21, 47, 36, 37,
                             11, 14),
                   Ft=c(32, 41, 43, 54, 66, 51,
                        46, 45, 37, 33, 25, 26))
# Print the dataframe
dataframe

Выход:

Давайте сначала создадим фрейм данных, который содержит два столбца

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

Обратите внимание, что (1 / n) * Σ(|At – Ft| / |At|) эквивалентно среднему значению :

abs(( dataframe$At-dataframe$Ft) / dataframe$At)

Таким образом, мы можем использовать функцию mean() в R. Эта функция имеет следующий синтаксис:

Синтаксис: mean(vect, na.rm)

Параметры:

  • vect: It represents the numeric vector
  • na.rm: Boolean value to ignore NA value

Теперь мы можем умножить это значение на 100 и вернуть окончательное значение из функции.

р

# Custom function that computes
# MAPE of the passed dataframe
calculateMAPE <- function(dataframe) {
        
        result = mean(abs((dataframe$At-dataframe$Ft)
                          /dataframe$At)) * 100
        return(result)
}
# Create a dataframe
dataframe <- data.frame(At=c(15, 40, 41, 32,
                             48, 28, 21, 47,
                             36, 37, 11, 14),
                   Ft=c(32, 41, 43, 54, 66,
                        51, 46, 45, 37, 33,
                        25, 26))
# calculate MAPE
result = calculateMAPE(dataframe)
# Print the result
print(result)

Выход:

Отсюда значение MAPE оказывается равны

Отсюда значение MAPE оказывается равным 54,915 %.

Читайте также:  Seaborn Pairplot
Оцените статью
bestprogrammer.ru
Добавить комментарий