Среднеквадратическая ошибка (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