の続きです。
今回はR言語のlm関数で回帰分析の練習をしてみたいと思います。
最近、
「An Introduction to Statistical Learning with applications in R」
http://www-bcf.usc.edu/~gareth/ISL/
という本を読みだしているので、その練習です。
まずは、前回作成したtbl_newという名前のtibbleを確認します。
この一番右側の「開業率」のデータを従属変数にしてその他の変数を説明変数にして回帰分析をしてみたいと思います。
まずは、開業率が 0%がいっぱいな感じなので、削除したデータセットで分析しましょう。まず、filter関数で0%の観測を削除します。
tbl_lmという名前で新たなtibbleを作成しました。70観測、9変数です。さきほどのAn Introduction ~~(ISLRと略します)風に書くと、n = 70, p = 9です。
相関マトリックスをcor関数で作成します。
開業率と一番相関があるのは撤退ですね。相関係数が -0.516 です。散布図を描いてみます。ggplot関数ですね。
それでは、
開業率 = β0 + β1 x 撤退 + 撹乱項
という線形単回帰式モデルで分析してみましょう。lm関数ですね。
結果はこうなりました。一番下の行のF検定のp-valueが4.817e-06なので有意なモデル式です。
開業率 = 2.52 - 0.06345 x 撤退 + 撹乱項
ということですね。撤退が、1増加すると開業率が -0.06345下がるということですね。
plot関数で散布図を書いてabline関数で回帰式の直線を追加しましょう。
こんな感じです。そもそも、開業率と撤退の間に線形の関係は無いようですものね。
今度は、
開業率 = β0 + β1 x 撤退 + β2 x 撤退^2 + 撹乱項
という、撤退を2乗した項を追加したモデルで分析してみます。lm関数でI(撤退 ^ 2)すると2乗になります。
一番下のF検定のp-valueがあ7.745e-08と0.05以下なのでモデルは有意です。
Intercept, 撤退, I(撤退^2)の係数のp値もすべて0.05以下で有意です。
それでは同じように散布図を描いて、その上にモデルの回帰線を載せましょう。
線形単回帰よりは少しフィットしてるかな?
Adjusted R-squareは線形単回帰式は、0.2555
撤退^2の項を入れたモデルのAdjusted R-squareは、0.3683ですから良くなっていますね。
上のグラフに単回帰の回帰直線も入れましょう。
今回は以上です。