Одной из наиболее распространенных метрик, используемых для измерения точности предсказания модели, является MSE , что означает среднеквадратичную ошибку.Он рассчитывается как:
MSE = (1/n) * Σ(фактическое – прогноз) 2
куда:
- Σ — причудливый символ, означающий «сумма».
- n – размер выборки
- фактический – фактическое значение данных
- предсказание – предсказанное значение данных
Чем ниже значение MSE, тем точнее модель способна предсказывать значения.
Как рассчитать MSE в R
В зависимости от того, в каком формате ваши данные, есть два простых метода, которые вы можете использовать для вычисления MSE регрессионной модели в R.
Метод 1: расчет MSE из регрессионной модели
В одном сценарии у вас может быть подобранная регрессионная модель, и вы просто хотите рассчитать MSE модели. Например, у вас может быть следующая модель регрессии:
#load mtcars dataset
data(mtcars)
#fit regression model
model <- lm(mpg~disp+hp, data=mtcars)
#get model summary
model_summ <-summary(model)
Чтобы рассчитать MSE для этой модели, вы можете использовать следующую формулу:
#calculate MSE
mean(model_summ$residuals^2)
[1] 8.85917
Это говорит нам о том, что MSE составляет 8,85917 .
Метод 2: рассчитать MSE из списка прогнозируемых и фактических значений
В другом сценарии у вас может быть просто список прогнозируемых и фактических значений. Например:
#create data frame with a column of actual values and a column of predicted values
data <- data.frame(pred = predict(model), actual = mtcars$mpg)
#view first six lines of data
head(data)
pred actual
Mazda RX4 23.14809 21.0
Mazda RX4 Wag 23.14809 21.0
Datsun 710 25.14838 22.8
Hornet 4 Drive 20.17416 21.4
Hornet Sportabout 15.46423 18.7
Valiant 21.29978 18.1
В этом случае можно использовать следующую формулу для расчета MSE:
#calculate MSE
mean((data$actual - data$pred)^2)
[1] 8.85917
Это говорит нам о том, что MSE составляет 8,85917 , что соответствует MSE, рассчитанному с помощью предыдущего метода.