「回帰分析」pdf ファイルなんだけど...
SPSS では,偏回帰係数と標準偏回帰係数(β)は同時に計算されますが,R では,それ ぞれ別に計算します。データそのままを利用して計算すると,偏回帰係数が計算されます。標準偏回帰係数が欲しい場合には,前もってデータを標準化しておいてから計算します。
それは,標準偏回帰係数の定義だから,そのように計算しても正しい答は出るけど,普通はそういう二度手間はしない。
標準偏回帰係数=偏回帰係数×独立変数の不偏分散標準偏差/従属変数の不偏分散標準偏差
で求めることができるから。
> x0 ← iris[1:4]
> x1 ← scale(x0)
> x1 ← data.frame(x1)
> mr ← lm(Sepal.Length ~ Sepal.Width+Petal.Length+Petal.Width, x0)
> summary(mr)
Call:
lm(formula = Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width,
data = x0)
Residuals:
Min 1Q Median 3Q Max
-0.82816 -0.21989 0.01875 0.19709 0.84570
Coefficients: 元のデータによる結果
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.85600 0.25078 7.401 9.85e-12
Sepal.Width 0.65084 0.06665 9.765 < 2e-16 青字が偏回帰係数
Petal.Length 0.70913 0.05672 12.502 < 2e-16
Petal.Width -0.55648 0.12755 -4.363 2.41e-05
Residual standard error: 0.3145 on 146 degrees of freedom
Multiple R-squared: 0.8586, Adjusted R-squared: 0.8557
F-statistic: 295.5 on 3 and 146 DF, p-value: < 2.2e-16
> mr.sd ← lm(Sepal.Length ~ Sepal.Width+Petal.Length+Petal.Width, x1)
> summary(mr.sd)
Call:
lm(formula = Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width,
data = x1)
Residuals:
Min 1Q Median 3Q Max
-1.00012 -0.26555 0.02264 0.23802 1.02129
Coefficients: 標準化したデータを使うと
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.176e-16 3.102e-02 0.000 1
Sepal.Width 3.426e-01 3.508e-02 9.765 < 2e-16 赤字が標準偏回帰係数
Petal.Length 1.512e+00 1.209e-01 12.502 < 2e-16
Petal.Width -5.122e-01 1.174e-01 -4.363 2.41e-05
Residual standard error: 0.3799 on 146 degrees of freedom
Multiple R-squared: 0.8586, Adjusted R-squared: 0.8557
F-statistic: 295.5 on 3 and 146 DF, p-value: < 2.2e-16
> coefficients(mr) 偏回帰係数
(Intercept) Sepal.Width Petal.Length Petal.Width
1.8559975 0.6508372 0.7091320 -0.5564827
# ↓色を付けた項は,左から偏回帰係数,独立変数の標準偏差,従属変数の標準偏差
> coefficients(mr)[-1] * apply(x0, 2, sd)[-1] / sd(x0$Sepal.Length)
Sepal.Width Petal.Length Petal.Width
0.3425789 1.5117505 -0.5122442 標準偏回帰係数
> coefficients(mr.sd)
(Intercept) Sepal.Width Petal.Length Petal.Width
-1.176045e-16 3.425789e-01 1.511751e+00 -5.122442e-01 二度手間して求めた標準偏回帰係数