裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

もっとがんばりましょう:定義通りの計算も善し悪し

2013年07月31日 | 統計学

回帰分析」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 二度手間して求めた標準偏回帰係数

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村