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


Одной из наиболее распространенных метрик, используемых для измерения точности предсказания модели, является 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, рассчитанному с помощью предыдущего метода.