モデルの予測精度を測定するために使用される最も一般的な測定基準の1つはMSEで、平均二乗誤差の略だ。次のように計算される:
- Σ - "合計 "を意味する記号
- n - サンプルサイズ
- - 実際のデータ値
- - 予測データ値
MSEの値が小さいほど、モデルはより正確に値を予測できる。
RでMSEを計算する方法 データの形式にもよるが、Rで回帰モデルのMSEを計算するには、2つの簡単な方法がある。
方法1: 回帰モデルからMSEを計算する
あるシナリオでは、適合された回帰モデルがあって、単純にそのモデルのMSEを計算したいかもしれない。たとえば、次のような回帰モデルがあるとする:
#mtcarsデータセットをロードする data(mtcars) #回帰モデルのフィット model <- lm(mpg~disp+hp, data=mtcars) #モデルの要約を得る model_summ <-summary(model)
このモデルのMSEを計算するには、以下の式を使用する:
#MSE を計算する mean(model_summ$residuals^2)
[1] 8.85917
これにより、MSEは8.85917であることがわかる。
方法2:予測値と実績値のリストからMSEを計算する
別のシナリオでは、単純に予測値と実際値のリストがあるかもしれない。例えば:
#実績値の列と予測値の列を持つデータフレームを作成する。 data <- data.frame(pred = predict(model), actual = mtcars$mpg) #最初の6行のデータを見る 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を計算することができる:
#MSEを計算する mean((data$actual - data$pred)^2)
[1] 8.85917
この結果、MSEは8.85917となり、前の方法で計算したMSEと一致した。