理学療法士がまとめたノート

統計学備忘録 since2016

Rを使って統計学を勉強するブログです

標準偏回帰係数の求め方

標準偏回帰係数の求め方

投稿日2017.8.12

更新日2017.8.13

 

忘れないように載せておきます

例)予測変数が二つの場合の重回帰分析

母回帰方程式 Y = b0 + b1*X1i + b2*X2i + Ei

予測方程式 y = β0 + β1*x1i + β2*x2i +ei

 

標準偏回帰係数  sβ1、sβ2

sβ1 = ( yとx1iの相関係数 - ( yとx2iの相関係数 × x1iとx2iの相関係数 ) )  ÷ ( 1 - x1iとx2iの相関係数^2 ) 

sβ2 = ( yとx2iの相関係数 - ( yとx1iの相関係数 × x1iとx2iの相関係数 ) )  ÷ ( 1 - x1iとx2iの相関係数^2 ) 

 

Rで求める場合(とても簡単)

テーブルx( 項目はy,x1,x2 )  があったとします

後で比較するためのそのまま重回帰分析しおきます

summary ( lm ( y ~ x1 + x2 , x ) )

 

次にテーブルを標準化します

scx<- scale( x )              #これでテーブルの標準化が完了
sx<- data.frame( scx )    # データフレーム形式に戻す

重回帰分析をすれば標準回帰係数が算出できます

summary ( lm ( y ~ x1 + x2 , sx ) )

 

r-de-r様からの助言を忘れないように、解説を加えて追記しておきます

データを標準化なしで、重回帰の結果から標準偏回帰係数を算出します.

最小二乗法の結果から得られる次の解を利用します.

β1= sβ1 * ( yの不偏標準偏差÷x1iの不偏標準偏差 )

β2= sβ2 * ( yの不偏標準偏差÷x2iの不偏標準偏差 )

 

例)Rのデータセットirisを使用します.Sepal.Length を目的変数、他の変数(Sepal.Width、Petal.Length、Petal.Width)を説明変数とした重回帰分析です.

iris2 = iris[, 1:4]     #1列目から4列目を使用します

( ans2 = lm(Sepal.Length ~ ., iris2) )

 

lm(formula = Sepal.Length ~ ., data = iris2)

Coefficients:

 (Intercept)   Sepal.Width  Petal.Length   Petal.Width 

      1.8560        0.6508        0.7091       -0.556

 

この重回帰分析の結果から求める方法をr-de-r様から教えてもらいました.

次の式で全ての変数の不偏標準偏差を求めます

 

( s = sapply(iris2, sd) ) 

 

Sepal.Length  Sepal.Width Petal.Length  Petal.Width

   0.8280661    0.4358663    1.7652982    0.7622377

 

次に説明変数の偏回帰係数を取り出します

( coe2 = coefficients(ans2)[-1] )

 

Sepal.Width Petal.Length  Petal.Width

   0.6508372    0.7091320   -0.5564827

 

それぞれの偏回帰係数にそれぞれの不偏標準偏差を掛けて、目的変数の不偏標準偏差で割ります.これで標準回帰係数が算出されます

 

coe2 * s[2:4] / s[1]

 

Sepal.Width Petal.Length  Petal.Width

   0.3425789    1.5117505   -0.5122442

 

まとめて書けば、r-de-r様から助言いただいた式になります

coefficients(ans2)[-1] * s[2:4] / s[1]

 

データ標準化後の重回帰分析の解と比較してみます.

iris3 = as.data.frame(scale(iris2))  #データの標準化

ans3 = lm(Sepal.Length ~ ., iris3)

coefficients(ans3)[-1]

 

Sepal.Width Petal.Length  Petal.Width

   0.3425789    1.5117505   -0.5122442

 

同じ値が得られました.

 

テキスト片手にRに触れ、

助言に耳を傾けながら勉強したら

統計学は楽しくなります!