R で mse を計算する方法
モデルの予測精度を測定するために最も一般的に使用されるメトリクスの 1 つは、平均二乗誤差を表すMSEです。次のように計算されます。
MSE = (1/n) * Σ(実際 – 予測) 2
金:
- Σ – 「和」を意味する派手な記号
- n – サンプルサイズ
- real – データの実際の値
- 予測– 予測されたデータの値
MSE 値が低いほど、モデルは値をより正確に予測できます。
R で MSE を計算する方法
データの形式に応じて、R で回帰モデルの MSE を計算するために使用できる 2 つの簡単な方法があります。
方法 1: 回帰モデルから MSE を計算する
1 つのシナリオでは、適合回帰モデルがあり、単にモデルの 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 と一致します。