の続きです。
今回は、R言語のlm関数、tree関数、svm関数、gam関数、randomForest関数を作って、perGDPをperLib, perMus, perGymで説明するモデルを作り、どのモデルが一番正確かを比較したいと思います。
まずは、lm関数、linear model(線形回帰モデル)です。
p-valueが0.3346ですから、全然有意なモデルではないです。
step関数でいらない説明変数を除外します。
p-valueは0.05616と0.05よりも大きいのでこれも有意なモデルではないです。perGymだけが残りました。
次はtree関数でdecision tree regressionモデルです。決定木モデルです。treeパッケージの中にあるtree関数を使います。
tree modelはわかりやすいですね。はじめの枝分かれは、perGymは24.6592より小さければ、perGDPは4.654と判断しています。
次は、e1071パッケージの中にあるsvm関数で、support vector regression modelです。
次は、mgcvパッケージの中にあるgam関数で、generalized additive modelです。
gam関数ではperGymが有意な変数ですね。
そしてrandom forest modelです。randonForestパッケージの中にあるrandomForest関数です。
これでモデル作成は終わりました。
どのモデルがperGDPを上手に予測できているか、MSE(Mean Square Error)を計算します。MSEの計算に使うデータは、2015年度以外のデータを使いましょう。
predict関数で予測値は計算できます。
それでは、結果を見てみます。
random forest modelが一番MSEが小さいです。2番目がlinear model, 3番目がsuport vector model regressonでした。
今回は以上です。