2つの単純なデータセットがあるとします。
head(training_set)
x y
1 1 2.167512
2 2 4.684017
3 3 3.702477
4 4 9.417312
5 5 9.424831
6 6 13.090983
head(test_set)
x y
1 1 2.068663
2 2 4.162103
3 3 5.080583
4 4 8.366680
5 5 8.344651
トレーニングデータに線形回帰直線を当てはめ、そのライン(または係数)を使用して、そのラインが当てはまると、「テストMSE」またはテストデータの残差の平均二乗誤差を計算します。
model = lm(y~x,data=training_set)
train_MSE = mean(model$residuals^2)
test_MSE = ?
この場合、それを呼び出す方がより正確です MSPE(平均二乗予測誤差) :
mean((test_set$y - predict.lm(model, test_set)) ^ 2)
すべてのモデルが予測を目的としているため、これはより有用な指標です。 MSPEが最小限のモデルが必要です。
実際には、予備のテストデータセットがある場合は、上記のようにMSPEを直接計算できます。ただし、予備のデータがない場合がほとんどです。統計では、 leave-one-out cross-validation はトレーニングデータセットからのMSPEの推定です。
Mallowsの統計 や [〜#〜] aic [〜#〜] のような、予測エラーを評価するための他のいくつかの統計もあります。