crosshyou

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

都道府県別の宿泊旅行統計調査の分析5 - R言語のlm関数で回帰分析をする。vif関数で多重共線性をチェック

 

www.crosshyou.info

 の続きです。

今回は、R言語のlm関数で回帰分析をしてみようと思います。

response variable(反応変数)をTotal_chgにしてその他の変数をexplanatory variables(説明変数)にします。

lm関数で回帰分析

p-valueは2.2e-16よりも小さな係数ですが、各項のp値が大きいですね。

update関数で単純化します。

update関数とanova関数

update関数で、Tour_chg:Biz_chg:Tour_Biz_Ratioの項を削除しました。

anova関数でmodel1とmodel2を比較しました。p値は0.1858と0.05よりも大きいですので、model1とmodel2では有意な違いはありません。より単純なmodel2を採用します。

summary関数

Biz_chg:Tour_Biz_Ratioは削除してもよさそうです。update関数で削除します。

update関数とanova関数

P値が0.4481ですからmodel2とmodel3では有意な差はありません。

より単純なmodel3を採用します。

summary関数

もう削除はできないです。

もうひとつ、交差項の無いモデルを作ってみます。

lm関数で回帰分析

こちらもp-valueは2.2e-16より小さいの有意なモデルです。Adjusted R-squaredは0.8663です。

Total_chg = 0.182 + 0.534 x Tour_chg + 0.253 x Biz_chg + 0.015 x Tour_Biz_Ratioです。

残差プロットを見てみましょう。

plot関数

残差プロット

左上のグラフが残差プロットですが、特に明確なパターンを形成しているようには見えないので大丈夫です。

多重共線性(Multocollinearity)があるかどうか調べます。carパッケージを読み込んで、vif関数で調べます。

carパッケージを読み込む

vif関数

どの変数も2以下、ほとんど1に近いので多重共線性の問題はありません。

交差項を含んだモデル、model3でVIFを計算してみます。

vif関数

どの変数も10以上なので、よくないです。多重共線性があります。

今回は以上です。