の続きです。
今回は前回と同じく回帰分析をしょうと思いますが、explanatory variableに年代も加えてみたいと思います。
それと、前回は全部の期間のデータを使って回帰分析をしましたが、今回は半分とトレーニング用、半分をテスト用にわけてみたいと思います。
まず、データをトレーニング用とテスト用に分けます。
sample関数を使って、1から338の数字のうちランダムに200を選び、その200の行番目のデータを回帰モデル作成用のデータ、trainとして、残りの138行のデータをテスト用のデータ、tesstとしました。
まずは、lm関数で線形回帰分析モデルを作成します。
step関数で単純化します。
DI_Lead:DI_Lagは削除してもよさそうです。
p値が0.1294なので、lm2とlm3は有意な違いは無いですね。lm3を見てみましょう。
Year2は1980と1990は有意な違いは無さそうですが、ここでモデルの単純化は終わりにして、lm3を使います。lm3の残差プロットをplot関数で表示します。
次は、gam関数でGeneralized Additive Modelを試します。
summary関数で確認します。
3番目のモデルはrpart関数でtreeモデルです。
これで、lm関数で作成したliner modelのlm3、gam関数で作成したgeneralized additive modelのgam1、rpart関数で作成したtree modelのtree1という3つのモデルが揃いました。この3つのモデルをtestデータに適用します。
これらの予測値とtest$DI_Cの散布図を描いてみましょう。
treeモデルはあんまりあてはまっていないように見えますね。
それでは、予測値と実際の値の差を2乗して合計した値を計算します。
liner modelが一番あてはまりがいいですね。2番目がgeneralized additive modelで3番目がtree modelと前回とは逆の順番になりました。
今回は以上です。