www.crosshyou.info

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

景気動向指数の長期系列データの分析6 - 年代も加えてもう一度R言語で回帰分析。lm関数、gam関数、rpart関数

 

www.crosshyou.info

 の続きです。

今回は前回と同じく回帰分析をしょうと思いますが、explanatory variableに年代も加えてみたいと思います。

それと、前回は全部の期間のデータを使って回帰分析をしましたが、今回は半分とトレーニング用、半分をテスト用にわけてみたいと思います。

まず、データをトレーニング用とテスト用に分けます。

f:id:cross_hyou:20200219080407p:plain

sample関数を使って、1から338の数字のうちランダムに200を選び、その200の行番目のデータを回帰モデル作成用のデータ、trainとして、残りの138行のデータをテスト用のデータ、tesstとしました。

まずは、lm関数で線形回帰分析モデルを作成します。

f:id:cross_hyou:20200219083141p:plain


step関数で単純化します。

f:id:cross_hyou:20200219083602p:plain

DI_Lead:DI_Lagは削除してもよさそうです。

f:id:cross_hyou:20200219083815p:plain

p値が0.1294なので、lm2とlm3は有意な違いは無いですね。lm3を見てみましょう。

f:id:cross_hyou:20200219084014p:plain

Year2は1980と1990は有意な違いは無さそうですが、ここでモデルの単純化は終わりにして、lm3を使います。lm3の残差プロットをplot関数で表示します。

f:id:cross_hyou:20200219084339p:plain

f:id:cross_hyou:20200219084351p:plain

次は、gam関数でGeneralized Additive Modelを試します。

f:id:cross_hyou:20200219085033p:plain

f:id:cross_hyou:20200219085043p:plain

summary関数で確認します。

f:id:cross_hyou:20200219085229p:plain

3番目のモデルはrpart関数でtreeモデルです。

f:id:cross_hyou:20200219085607p:plain

f:id:cross_hyou:20200219085625p:plain

これで、lm関数で作成したliner modelのlm3、gam関数で作成したgeneralized additive modelのgam1、rpart関数で作成したtree modelのtree1という3つのモデルが揃いました。この3つのモデルをtestデータに適用します。

f:id:cross_hyou:20200219090700p:plain

これらの予測値とtest$DI_Cの散布図を描いてみましょう。

f:id:cross_hyou:20200219091142p:plain

f:id:cross_hyou:20200219091154p:plain

treeモデルはあんまりあてはまっていないように見えますね。

それでは、予測値と実際の値の差を2乗して合計した値を計算します。

f:id:cross_hyou:20200219091658p:plain

liner modelが一番あてはまりがいいですね。2番目がgeneralized additive modelで3番目がtree modelと前回とは逆の順番になりました。

今回は以上です。