Rで何かをしたり、読書をするブログ

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

外資系企業動向調査の分析5 - R言語のlm関数で回帰分析の練習。線形単回帰モデルと2乗項を追加したモデル

 

www.crosshyou.info

 の続きです。

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

最近、
「An Introduction to Statistical Learning with applications in R」

http://www-bcf.usc.edu/~gareth/ISL/


という本を読みだしているので、その練習です。

まずは、前回作成したtbl_newという名前のtibbleを確認します。

f:id:cross_hyou:20190228193950j:plain

この一番右側の「開業率」のデータを従属変数にしてその他の変数を説明変数にして回帰分析をしてみたいと思います。

まずは、開業率が 0%がいっぱいな感じなので、削除したデータセットで分析しましょう。まず、filter関数で0%の観測を削除します。

f:id:cross_hyou:20190228194513j:plain

tbl_lmという名前で新たなtibbleを作成しました。70観測、9変数です。さきほどのAn Introduction ~~(ISLRと略します)風に書くと、n = 70, p = 9です。

相関マトリックスをcor関数で作成します。

f:id:cross_hyou:20190228194843j:plain

開業率と一番相関があるのは撤退ですね。相関係数が -0.516 です。散布図を描いてみます。ggplot関数ですね。

f:id:cross_hyou:20190228195150j:plain

f:id:cross_hyou:20190228195201j:plain

それでは、

開業率 = β0 + β1 x 撤退 + 撹乱項

という線形単回帰式モデルで分析してみましょう。lm関数ですね。

f:id:cross_hyou:20190228195537j:plain

結果はこうなりました。一番下の行のF検定のp-valueが4.817e-06なので有意なモデル式です。

開業率 = 2.52 - 0.06345 x 撤退 + 撹乱項

ということですね。撤退が、1増加すると開業率が -0.06345下がるということですね。

plot関数で散布図を書いてabline関数で回帰式の直線を追加しましょう。

f:id:cross_hyou:20190228200004j:plain

f:id:cross_hyou:20190228200023j:plain

こんな感じです。そもそも、開業率と撤退の間に線形の関係は無いようですものね。

今度は、

開業率 = β0 + β1 x 撤退 + β2 x 撤退^2 + 撹乱項

という、撤退を2乗した項を追加したモデルで分析してみます。lm関数でI(撤退 ^ 2)すると2乗になります。

f:id:cross_hyou:20190228200633j:plain

一番下のF検定のp-valueがあ7.745e-08と0.05以下なのでモデルは有意です。

Intercept, 撤退, I(撤退^2)の係数のp値もすべて0.05以下で有意です。

それでは同じように散布図を描いて、その上にモデルの回帰線を載せましょう。

f:id:cross_hyou:20190228202910j:plain

f:id:cross_hyou:20190228203028j:plain

線形単回帰よりは少しフィットしてるかな?

Adjusted R-squareは線形単回帰式は、0.2555

撤退^2の項を入れたモデルのAdjusted R-squareは、0.3683ですから良くなっていますね。

上のグラフに単回帰の回帰直線も入れましょう。

f:id:cross_hyou:20190228203848j:plain

f:id:cross_hyou:20190228203859j:plain

今回は以上です。