データセットはここから取得します。ビールの売上高を予測するという課題です。
技術評論社 (2014-08-22)
売り上げランキング: 98,606
売り上げランキング: 98,606
DM_sampledata.zipを開いて、ch4_3_2.txtというファイルを開きます。適当なディレクトリに保存して、Rで読み込みます。
lm.r
> data <- read.csv("C:/workspace/R/data/ch4_3_2.txt", sep="")
> head(data)
Revenue CM Temp Firework
1 47.14347 141 31 2
2 36.92363 144 23 1
3 38.92102 155 32 0
4 40.46434 130 28 0
5 51.60783 161 37 0
6 32.87875 154 27 0
これをとりあえず、revenueを目的変数に、重回帰分析してみます。
lm.r
> data.lm <- lm(Revenue~.,data)
> summary(data.lm)
Call:
lm(formula = Revenue ~ ., data = data)
Residuals:
Min 1Q Median 3Q Max
-6.028 -3.038 -0.009 2.097 8.141
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 17.23377 12.40527 1.389 0.17655
CM -0.04284 0.07768 -0.551 0.58602
Temp 0.98716 0.17945 5.501 9e-06 ***
Firework 3.18159 0.95993 3.314 0.00271 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.981 on 26 degrees of freedom
Multiple R-squared: 0.6264, Adjusted R-squared: 0.5833
F-statistic: 14.53 on 3 and 26 DF, p-value: 9.342e-06
ということで、偏回帰係数は以下の通りですが、CMだけ有意ではありませんでした。
気温と、近くで花火をやっていた回数が有意に売上に貢献しているようです。以下偏回帰係数です。
- CM -0.04284
- Temp 0.98716
- Firework 3.18159
本当はここの偏回帰係数を正規化して、標準偏回帰係数を取得します。
標準偏回帰係数とは、
なお、説明変数間の寄与の大小は回帰係数ではわかりません。回帰係数の値はそれぞれの変数がとる値の範囲や単位に依存しています。そこで説明変数間の関係を調べるには、全ての変数を平均 0 、分散 1 になるように正規化した時の回帰係数を求めます。これを標準偏回帰係数と言います。これは Excel では表示されませんので別の方法で計算する必要があります。多重回帰分析 - Qiitaらしいです。正規化後の標準偏回帰係数はこちらです。
- CM -0.07
- Temp 0.66
- Firework 0.40
さて、同じように相関係数を出してみましょう。corメソッドの引数にデータフレーム型の値を入れると、相関行列を出してくれるんだとか。さっそくやってみます。
lm.r
> cor(data)
Revenue CM Temp Firework
Revenue 1.00000000 -0.07355843 0.67461456 0.43715932
CM -0.07355843 1.00000000 0.06244943 -0.12010466
Temp 0.67461456 0.06244943 1.00000000 0.04295698
Firework 0.43715932 -0.12010466 0.04295698 1.00000000
Revenueと各変数の相関係数はこちらです。後ろは偏回帰係数なので、比較してみましょう。
- CM -0.07355843 | -0.07
- Temp 0.67461456 | 0.66
- Firework 0.43715932 | 0.40
多重共線性とは?
重回帰分析を行っている際、説明変数を増やすほど決定係数が高くなりやすいため、ついついよりたくさんの説明変数を入れてしまいがちです。しかし、その際に気をつけなければならないことがあります。それが多重共線性です。
多重共線性とは、説明変数間で相関係数が高いときに、それが原因で発生する現象です。(英語で multicollinearity と言われるため、略して「マルチコ」とも呼ばれます)
- 分析結果における係数の標準誤差が大きくなる
- t値が小さくなる
- 決定係数が大きな値となる
- 回帰係数の符号が本来なるべきものとは逆の符号となる
それでは、このような多重共線性に直面してしまった場合、どのように対応するのが良いのでしょうか。最も一般的な解消法は、「相関関係が高いと考えられる説明変数を外すこと」です。多重共線性とは? 〜 概要と対応方法 〜 | 株式会社サイカ
技術評論社 (2014-08-22)
売り上げランキング: 98,606
売り上げランキング: 98,606