No.22241 Re: 重回帰分析の説明変数について 【青木繁伸】 2016/12/19(Mon) 12:46
0/1 でなく 0/100 にしたら,そのダミー変数に対する変化いい係数が 1/100 になるだけです。目的変数 Y の値は変わりません。
以下では R でやってみますが,あなたの使える統計解析プログラムでもやってみてください> d1 = c(0,1,1,0,0,1,1)試しに,このようなデータ(ダミー変数が2個)で重回帰分析をしてみると
> d2 = c(0,0,0,1,1,0,0)
> y = c(2,5,3,6,8,9,10)
> data.frame(d1, d2, y)d1 d2 y重回帰分析の結果
1 0 0 2
2 1 0 5
3 1 0 3
4 0 1 6
5 0 1 8
6 1 0 9
7 1 0 10
> a1 = lm(y~d1+d2)
> summary(a1)Coefficients:予測値は,以下の通り
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.000 2.947 0.679 0.535
d1 4.750 3.295 1.441 0.223
d2 5.000 3.610 1.385 0.238
Residual standard error: 2.947 on 4 degrees of freedom
Multiple R-squared: 0.3665, Adjusted R-squared: 0.0498
F-statistic: 1.157 on 2 and 4 DF, p-value: 0.4013> predict(a1)ダミー変数を 0/1 ではなく 0/100 にしてみる
1 2 3 4 5 6 7
2.00 6.75 6.75 7.00 7.00 6.75 6.75
目的変数は当然同じ> e1 = d1*100つまりこんなデータを重回帰分析
> e2 = d2*100
> data.frame(e1, e2, y)e1 e2 y分析結果は以下の通り
1 0 0 2
2 100 0 5
3 100 0 3
4 0 100 6
5 0 100 8
6 100 0 9
7 100 0 10
> a2 = lm(y~e1+e2)
> summary(a2)
偏回帰係数(Estimate)は前の結果の 1/100 になっているCoefficients:予測値は以下の通り。
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.00000 2.94746 0.679 0.535
e1 0.04750 0.03295 1.441 0.223
e2 0.05000 0.03610 1.385 0.238
Residual standard error: 2.947 on 4 degrees of freedom
Multiple R-squared: 0.3665, Adjusted R-squared: 0.0498
F-statistic: 1.157 on 2 and 4 DF, p-value: 0.4013
前の重回帰分析での予測値と同じ(同じになるように偏回帰係数を調整したことになる)> predict(a2)ここでは話をわかりやすくするために 0/1 を 0/100 にしたが,二値変数であればなんでもよい。0/3.14 でも 1:110 でも 3.14/123.45 でも予測値には何の違いもない。
1 2 3 4 5 6 7
2.00 6.75 6.75 7.00 7.00 6.75 6.75
0/1 にしているのは,その要因があるかないかということに対応するので結果の解釈が容易になるというだけの話。
No.22242 Re: 重回帰分析の説明変数について 【小林】 2016/12/21(Wed) 10:02
青木先生
早速のお返事ありがとうございます。
自分の統計ソフトでも確認致しました。
目的変数は変わりはなく,偏回帰係数のみが変わるのですね。
理解できました。
ご対応頂きありがとうございました。
● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る