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


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

СКО = √[ Σ(P i – O i ) 2 / n ]

куда:

  • Σ — причудливый символ, означающий «сумма».
  • P i - прогнозируемое значение для i -го наблюдения в наборе данных.
  • O i - наблюдаемое значение для i -го наблюдения в наборе данных.
  • n - размер выборки

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

Метод 1: напишите свою собственную функцию

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

#create dataset
data <- data.frame(actual=c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24),
 predicted=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23))

#view dataset
data

 actual predicted
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

Чтобы вычислить RMSE, мы можем использовать следующую функцию:

#calculate RMSE
sqrt(mean((data$actual - data$predicted)^2))

[1] 2.43242

Среднеквадратическая ошибка равна 2,43242 .

Способ 2: использовать пакет

Мы также можем рассчитать RMSE для того же набора данных, используя функцию rmse() из пакета Metrics , которая использует следующий синтаксис:

среднеквадратичное значение (фактическое, прогнозируемое)

куда:

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

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

#load Metrics package
library(Metrics)

calculate RMSE
rmse(data$actual, data$predicted)

[1] 2.43242

Среднеквадратическая ошибка равна 2,43242 , что соответствует тому, что мы рассчитали ранее, используя нашу собственную функцию.

Как интерпретировать среднеквадратичную ошибку

RMSE — полезный способ увидеть, насколько хорошо регрессионная модель соответствует набору данных.

Чем больше RMSE, тем больше разница между прогнозируемыми и наблюдаемыми значениями, а это означает, что модель регрессии хуже соответствует данным. И наоборот, чем меньше RMSE, тем лучше модель соответствует данным.

Может быть особенно полезно сравнить RMSE двух разных моделей друг с другом, чтобы увидеть, какая модель лучше соответствует данным.

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

Калькулятор среднеквадратичной ошибки
Как рассчитать MSE в R
Как рассчитать MAPE в R