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


Симметричная средняя абсолютная процентная ошибка (SMAPE) используется для измерения прогностической точности моделей. Он рассчитывается как:

SMAPE = (1/n) * Σ(|прогноз – фактический| / ((|фактический| + |прогноз|)/2) * 100

куда:

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

Чем меньше значение SMAPE, тем выше точность предсказания данной модели.

В этом руководстве объясняются два разных метода, которые можно использовать для расчета SMAPE в R.

Способ 1: используйте smape() из пакета метрик

Один из способов вычислить SMAPE в R — использовать функцию smape() из пакета Metrics :

library (Metrics)

#define actual values
actual <- c(12, 13, 14, 15, 15, 22, 27)

#define forecasted values
forecast <- c(11, 13, 14, 14, 15, 16, 18)

#calculate SMAPE
smape(actual, forecast)

[1] 0.1245302

Мы видим, что симметричная средняя абсолютная процентная ошибка для этой модели составляет 12,45% .

Способ 2: напишите свою собственную функцию

Другой способ вычислить SMAPE — создать собственную функцию следующим образом:

find_smape <- function (a, f) {
 return ( 1 /length(a) \* sum( 2 \*abs(f-a) / (abs(a)+abs(f))\* 100 ))
}

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

#define actual values
actual <- c(12, 13, 14, 15, 15,22, 27)

#define forecasted values
forecast <- c(11, 13, 14, 14, 15, 16, 18)

#calculate SMAPE
find_smape(actual, forecast)

[1] 12.45302

И снова SMAPE оказывается равным 12,45% , что соответствует результатам предыдущего примера.

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

Как рассчитать MAPE в R
Как рассчитать MAD в R
Как рассчитать MAE в R
Как рассчитать RMSE в R
Как рассчитать MSE в R

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