2つの連続変数間で相互作用は可能ですか?


回答:


31

はい、なぜですか?この場合、カテゴリー変数と同じ考慮事項が適用されます。結果Yに対するの影響は、X 2の値によって異なります。助けるためにそれを視覚化する、次の方法で撮影した値と考えることができますX 1 X 2は、高いまたは低い値をとります。カテゴリー変数とは異なり、ここでは相互作用はX 1X 2の積で表されます。注目すべきは、それが言うの係数そうすることを(最初のあなたの2つの変数を中心に、より良いですX 1は、の効果として読み込み、X 1 Xバツ1Yバツ2バツ1バツ2バツ1バツ2バツ1バツ1はそのサンプル平均値です)。バツ2

親切@whuberによって示唆されるように、どのように参照する簡単な方法と不定Yの関数としてX 2の相互作用項が含まれている場合は、モデル書き留めることであるEY | X = β 0 + β 1 Xを1 + β 2 X 2 + β 3 X 1バツ1Yバツ2EY|バツ=β0+β1バツ1+β2バツ2+β3バツ1バツ2

次に、X 2の場合、1単位の効果が増加することがわかります。バツ1バツ2保持されている一定のように表すことができます。

E(Y|X1+1,X2)E(Y|X1,X2)=β0+β1バツ1+1+β2バツ2+β3バツ1+1バツ2β0+β1バツ1+β2バツ2+β3バツ1バツ2=β1+β3バツ2

同様に、効果保持しながら一個の単位だけ増加されるX 1定数はβ 2 + β 3 X 1。の効果を解釈することは困難である理由はここに示しているX 1β 1)およびX 2β 2)でアイソレーションを。両方の予測子が高度に相関している場合、これはさらに複雑になります。また、このような線形モデルで行われている線形性の仮定に留意することも重要です。バツ2バツ1β2+β3バツ1バツ1β1バツ2β2

あなたは見て持つことができます相互作用をテストし、解釈:重回帰をレオナS.エイケン、スティーブンG.西、および重回帰における相互作用効果の異なる種類の概要については、レイモンド・R.リノ(セージ出版、1996)、により、 。(これはおそらく最高の本ではありませんが、Googleから入手できます)

Rのおもちゃの例を次に示します。

library(mvtnorm)
set.seed(101)
n <- 300                      # sample size
S <- matrix(c(1,.2,.8,0,.2,1,.6,0,.8,.6,1,-.2,0,0,-.2,1), 
            nr=4, byrow=TRUE) # cor matrix
X <- as.data.frame(rmvnorm(n, mean=rep(0, 4), sigma=S))
colnames(X) <- c("x1","x2","y","x1x2")
summary(lm(y~x1+x2+x1x2, data=X))
pairs(X)

出力が実際に読み取る場所:

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.01050    0.01860  -0.565    0.573    
x1           0.71498    0.01999  35.758   <2e-16 ***
x2           0.43706    0.01969  22.201   <2e-16 ***
x1x2        -0.17626    0.01801  -9.789   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.3206 on 296 degrees of freedom
Multiple R-squared: 0.8828, Adjusted R-squared: 0.8816 
F-statistic: 743.2 on 3 and 296 DF,  p-value: < 2.2e-16 

シミュレートされたデータは次のようになります。

代替テキスト

whuberのセカンドコメント@説明するために、あなたはいつものバリエーションを見ることができますの関数としてX 2の異なる値で、X 1(例えば、tercilesまたは十分位数)。この場合、トレリスディスプレイが便利です。上記のデータを使用して、次の手順を実行します。Yバツ2バツ1

library(Hmisc)
X$x1b <- cut2(X$x1, g=5) # consider 5 quantiles (60 obs. per group)
coplot(y~x2|x1b, data=X, panel = panel.smooth)

代替テキスト


5
(+1)時間と傾向がある場合、X1 * X2を含めるとYに対するX1の効果がX2によって異なるという主張を拡張することで、この答えを強化できます。具体的には、モデルY = b0 + b1 * X1 + b2 * X2 + b3 *(X1 * X2)+エラーは、Y = b0 +(b1 + b3 * X2)* X1 + b2 * X2の形式で表示することもできます。 +エラー。X1の係数(b1 + b3 * X2に等しい)がX2でどのように変化するかを正確に示します(対称的に、X2の係数はX1で変化します)。それはシンプルで自然な「相互作用」です。
whuber

1
@chl-回答ありがとうございます。私が抱えている問題は、大規模n(11K)で、MiniTabを使用してインタラクションプロットを実行していることです。計算には永遠に時間がかかりますが、何も表示されません。私はちょうど私が見るかわからない場合は、このデータセットとの相互作用があります。
TheCloudlessSky

3
@TheCloudlessSky:1つのアプローチは、X1の値に従ってデータをビンにスライスすることです。ビンごとにY対X2ビンをプロットし、ビンの変化に伴う勾配の変化を探します。X1とX2の役割を逆にして同じことを行います。
whuber

3
@chlトレリスの表示は素晴らしい例です。等間隔の分位数で1つの変数をスライスすることは魅力的です。他のアプローチがあります。例えば、テューキーが尾を半分にすることによってスライシング推奨:である、その後、中央値で半分にX2値をスライスすることによって、それらの半分をスライスそれらの中央値は、スライス下部のメジアン最低グループの半分と上側最高の半分新しいグループに十分なデータがある限り継続します。
whuber

1
@whuberこれもまた良い点です。Rの実装の可能性を確認するか、自分で試してみます。
chl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.