111欠損値のないデータセットは111個あることがわかりました。(test)とします。学習用データ(teach)はその残りです。set.seed(1)S1<-sample(1:111,size=30)teach<-Air[-S1,]test<-Air[S1,]l.model<-lm(Ozone~Solar.R+Wind+Temp,data=teach)g.model<-gam(Ozone~s(Solar.R)+s(Wind)+s(Temp),data=teach)変数選択には重回帰の時のようにパッケージMuMInを用います。0.000重回帰も加法モデルも両方とも変数全部入りモデルが採択されました。いうわけで、最初に作ったフルモデルをそのまま使います。テストデータを予測します。lm.pred<-predict(l.model,test)gam.pred<-predict(g.model,test)予測値と実測値との差の2乗の合計を各々求めます。5920.06加法モデルのほうが予測値と実測値とのずれが小さいことがわかりました。単純な比較ですが、加法モデルの勝ちです。予測精度は非線形性を加味した加法モデルの方がよいだろうということがわかりました。比較の方法はこだわればもっといろいろあります(ブートストラップ標本を使うなど)。う考えではなく、きちんと予測精度を見積もって、評価していくという流れが伝われば、と思います。平滑化スプラインも、加法モデルも、今回示したのより、ほんとはもっともっと複雑です。バグや誤り等ございましたら、掲示板などにご一報ください。