の続きです。
今回は、lm関数をつかってCalをその他のデータで予測するモデルを作ってみます。
まずは、そのままのデータセット, avgdfでやってみます。
Multiple R-squaedは0.6717です。p-value は5.282e-09なので有意なモデルです。
次に、変数をlog関数で対数変換してデータでやってみます。
多くの変数で左右対称でない分布たっだので、対数変換することで左右対称に近づくと思います。
hist関数で外れ値がどうなった確認します。
それでは、この対数変換したデータセットでlm関数で線形回帰します。
Multiple R-squaredは0.7954です。そのままのデータでのMultiple R-squaredは0.6717ですから良くなっていますね。p-valueも4.126e-13ともっと小さい値になっています。
続いて、scale関数で標準化したデータセットで回帰分析してみます。
scale関数で標準化します。scale関数の結果はマトリックスになるので、as.data.frame関数でデータフレームに戻します。
lm関数で回帰分析モデルを作ります。
Multiple R-squaredは0.6717です。生データと同じです。p-valueも5.282e-09で生データのときと同じです。
lm関数での線形回帰分析ではデータを標準化してもしなくても同じでした。
生のデータのときのモデルと対数変換したときのモデルの各変数のp値を比べましょう。
生データはこちらです。
対数変換はこちらです。
DayNight, Area, Temp,は生データのほうがp値が低いです。
Popu, Incomeは対数変換のほうがp値が低いです。
PopuとIncomeだけ対数変換したモデルを作ってみます。
こちらはCalは対数変換しないでやってみました。Multiple R-squaredは0.7779です。
こちらはCalを対数変換したモデルです。Multiple R-squaredは0.7766です。
今回は以上です。