crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

都道府県別の最終学歴人口のデータ分析5 - R言語でRegression trees(tree関数)

 

www.crosshyou.infoのの続きです。

今回は、R言語でRegression trees分析をします。

treeパッケージの中のtree関数を使いますので、はじめにtreeパッケージを読み込みます。

f:id:cross_hyou:20200421145307j:plain

そして、tree関数でRegression treeモデルを作ります。

f:id:cross_hyou:20200421145320j:plain

summary関数で結果を見てみましょう。

f:id:cross_hyou:20200421145334j:plain

Popu, perGDP, Chuu, Kouの4つの変数がモデルに使われたようです。

print関数でモデルを表示してみます。

f:id:cross_hyou:20200421145347j:plain

上のような結果が出力されます。

2) Popu < 0.3994457とありますので、Popuが0.394457よりも大きいか小さいかでRegression treeの枝が分かれています。

グラフにしたほうがわかりやすいので、plot関数とtext関数を使います。

f:id:cross_hyou:20200421145400j:plain

 

f:id:cross_hyou:20200421145413j:plain

これだとわかりますね。

MSEを計算しましょう。

f:id:cross_hyou:20200421145426j:plain

 

f:id:cross_hyou:20200421145439j:plain

MSEは0.01440608です。いままでのモデルの中で一番小さいです。

他のモデルと比較してみます。

f:id:cross_hyou:20200421145453j:plain

 

f:id:cross_hyou:20200421145506j:plain

GAMモデルよりも小さいMSEです。

実際の値と予測値の散布図を描きます。

f:id:cross_hyou:20200421145906j:plain

 

f:id:cross_hyou:20200421145920j:plain

Regression treeモデルだと予測された値は、それぞれの枝の先の値になりますから、予測値は6種類しかないですね。
今回は以上です。