中心変数の階層回帰分析を使用した相互作用項?どの変数を中心にすべきですか?


9

私は階層回帰分析を実行していますが、少し疑問があります:

  1. 中心に置かれた変数を使用して交互作用項を計算しますか?

  2. 従属変数を除いて、データセットにあるすべての連続変数を中央に配置する必要がありますか?

  3. いくつかの変数をログに記録する必要がある場合(それらのsdは平均よりもはるかに高いため)、次に、記録されたばかりの変数または最初の変数を中央に配置しますか?

例:変数 "ターンオーバー" --->ログされたターンオーバー(sdが平均と比較して高すぎるため)---> Centered_Turnover?

または、直接ターンオーバー-> Centered_Turnoverになります(そして、これを使用します)

ありがとう!!

回答:


10

共線性を減らすために、相互作用に関係する用語を中央に置く必要があります。

set.seed(10204)
x1 <- rnorm(1000, 10, 1)
x2 <- rnorm(1000, 10, 1)
y <- x1 + rnorm(1000, 5, 5)  + x2*rnorm(1000) + x1*x2*rnorm(1000) 

x1cent <- x1 - mean(x1)
x2cent <- x2 - mean(x2)
x1x2cent <- x1cent*x2cent

m1 <- lm(y ~ x1 + x2 + x1*x2)
m2 <- lm(y ~ x1cent + x2cent + x1cent*x2cent)

summary(m1)
summary(m2)

出力:

> summary(m1)

Call:
lm(formula = y ~ x1 + x2 + x1 * x2)

Residuals:
    Min      1Q  Median      3Q     Max 
-344.62  -66.29   -1.44   66.05  392.22 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  193.333    335.281   0.577    0.564
x1           -15.830     33.719  -0.469    0.639
x2           -14.065     33.567  -0.419    0.675
x1:x2          1.179      3.375   0.349    0.727

Residual standard error: 101.3 on 996 degrees of freedom
Multiple R-squared:  0.002363,  Adjusted R-squared:  -0.0006416 
F-statistic: 0.7865 on 3 and 996 DF,  p-value: 0.5015

> summary(m2)

Call:
lm(formula = y ~ x1cent + x2cent + x1cent * x2cent)

Residuals:
    Min      1Q  Median      3Q     Max 
-344.62  -66.29   -1.44   66.05  392.22 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)     12.513      3.203   3.907 9.99e-05 ***
x1cent          -4.106      3.186  -1.289    0.198    
x2cent          -2.291      3.198  -0.716    0.474    
x1cent:x2cent    1.179      3.375   0.349    0.727    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 101.3 on 996 degrees of freedom
Multiple R-squared:  0.002363,  Adjusted R-squared:  -0.0006416 
F-statistic: 0.7865 on 3 and 996 DF,  p-value: 0.5015


library(perturb)
colldiag(m1)
colldiag(m2)

他の変数を中心にするかどうかはあなた次第です。インタラクションに関係しない変数を(標準化するのではなく)中央揃えすると、インターセプトの意味は変わりますが、他のことは変わりません。

x1 <- rnorm(1000, 10, 1)
x2 <- x1 - mean(x1)
y <- x1 + rnorm(1000, 5, 5) 
m1 <- lm(y ~ x1)
m2 <- lm(y ~ x2)

summary(m1)
summary(m2)

出力:

> summary(m1)

Call:
lm(formula = y ~ x1)

Residuals:
     Min       1Q   Median       3Q      Max 
-16.5288  -3.3348   0.0946   3.4293  14.0678 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   6.5412     1.6003   4.087 4.71e-05 ***
x1            0.8548     0.1591   5.373 9.63e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.082 on 998 degrees of freedom
Multiple R-squared:  0.02812,   Adjusted R-squared:  0.02714 
F-statistic: 28.87 on 1 and 998 DF,  p-value: 9.629e-08

> summary(m2)

Call:
lm(formula = y ~ x2)

Residuals:
     Min       1Q   Median       3Q      Max 
-16.5288  -3.3348   0.0946   3.4293  14.0678 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  15.0965     0.1607  93.931  < 2e-16 ***
x2            0.8548     0.1591   5.373 9.63e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.082 on 998 degrees of freedom
Multiple R-squared:  0.02812,   Adjusted R-squared:  0.02714 
F-statistic: 28.87 on 1 and 998 DF,  p-value: 9.629e-08

ただし、変数のログを取得する必要があるのは、そうするのが理にかなっているため、またはモデルからの残差が必要であることを示しているためです。回帰は、変数の分布についての仮定を行わず、残差の分布についての仮定を行います。


1
返信ありがとうございます、ピーター!したがって、最初に変数(すべての予測子?)をログに記録する必要があると想定し、その後、相互作用項の計算に必要な独立変数のみを中心に配置します。もう1つの質問:変数を中心化または標準化することをお勧めしますか?繰り返しますが、どうもありがとうございました!!
PhDstudent 2013

1
はい、センタリングする前にログに記録します。標準化とセンタリングは異なることを行います。どちらも間違っていません。標準化が好きな人もいますが、私は通常「生の」変数を好みます。
ピーターフロム-モニカの回復

生成モデルを定義しy <- x1 + rnorm(1000, 5, 5) + x2*rnorm(1000) + x1*x2*rnorm(1000)て答えを説明する方法を理解できません。この平均はあり、分散はであるため、生成モデルには交互作用項はありません。x1+51+25+1+1
Rufo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.