İki sürekli değişken arasında etkileşim mümkün mü?


Yanıtlar:


31

Evet neden olmasın? Kategorik değişkenler bu durumda geçerli olacak aynı husus: etkisini sonucu üzerinde değerine bağlı olarak aynı değildir . Yardım etmek görselleştirmek, sen tarafından alınan değerlerin düşünebiliriz zaman yüksek veya düşük değerler alır. Kategorik değişkenlerin aksine, burada etkileşim sadece ve ürünüyle gösterilir . Unutmayın ki, ilk sizin iki değişken ortalamak daha iyidir (söylenmeden için katsayı o etkisi olarak okur zaman onun örneklem ortalamasında ise). Y X 2 X 1 X 2 X 1 X 2 X 1 X 1 X 2X1YX2X1X2X1X2X1X1X2

Nazik @whuber tarafından önerildiği gibi, kolay bir şekilde görmek için değişir bir fonksiyonu olarak bir etkileşim terimi, dahil edildiğinde modeli yazmak için, bir . Y X 2 E ( Y | X ) = β 0 + β 1 X 1 + β 2 X 2 + β 3 X 1 X 2X1YX2E(Y|X)=β0+β1X1+β2X2+β3X1X2

Daha sonra, bir tek birim artışın etkisi olduğu görülebilmektedir tutulan sabit bir şekilde ifade edilebilir:X 2X1X2

E(Y|X1+1,X2)-E(Y|X1,X2)=β0+β1(X1+1)+β2X2+β3(X1+1)X2-(β0+β1X1+β2X2+β3X1X2)=β1+β3X2

Aynı şekilde, sabit tutulurken bir birim artırıldığında ortaya çıkan etki . Bu, ( ) ve ( ) 'nin izolasyondaki etkilerini neden yorumlamanın zor olduğunu göstermektedir . Her iki öngörücü arasında yüksek korelasyon varsa, bu daha da karmaşık olacaktır. Böyle bir doğrusal modelde yapılan doğrusallık varsayımını akılda tutmak da önemlidir.X 1 β 2 + β 3 X 1 X 1 β 1 X 2 β 2X2X1β2+β3X1X1β1X2β2

Çoklu regresyona göz atabilirsiniz : Leona S. Aiken, Stephen G. West ve Raymond R. Reno ( etkileşimlerin test edilmesi ve yorumlanması ), çoklu regresyondaki farklı etkileşim etkilerine genel bir bakış için. . (Bu muhtemelen en iyi kitap değildir, ancak Google’dan erişilebilir)

İşte R'de bir oyuncak örneği:

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)

Çıkışın gerçekte okuduğu yer:

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 

Ve işte simüle edilmiş veriler şöyle görünür:

alt metin

Whuber ikinci açıklama @ göstermek için, her zaman varyasyonları bakabilirsiniz bir fonksiyonu olarak farklı değerlerinde (örneğin, terciles veya deciles); kafes ekranları bu durumda kullanışlıdır. Yukarıdaki verilerle şu şekilde devam edeceğiz:X 2 X 1YX2X1

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)

alt metin


5
(+1) Eğer vaktiniz ve eğiminiz varsa, X1 * X2'nin de dahil olmak üzere X1'in Y üzerindeki etkisini X2 ile farklılaştıracağı iddiasını genişleterek bu cevabı güçlendirebilirsiniz. Özellikle, bir Y = b0 + b1 * X1 + b2 * X2 + b3 * (X1 * X2) + hatası modeli de Y = b0 + (b1 + b3 * X2) * X1 + b2 * X2 şeklinde olabilir. + b1 + b3 * X2'ye eşit olan X1 katsayısının X2 ile nasıl değiştiğini (ve simetrik olarak X2 katsayısının X1 ile nasıl değiştiği) kesin olarak gösteren + hatası. Bu basit, doğal bir "etkileşim" biçimidir.
whuber

1
@chl - Yanıtınız için teşekkürler. Sahip olduğum sorun şu ki büyük bir n(11K) sahibim ve MiniTab'ı Etkileşim Grafiği yapmak için kullanıyorum ve hesaplamak sonsuza dek sürüyor ama bir şey göstermiyor. Bu veri kümesiyle etkileşimin olup olmadığını nasıl gördüğümden emin değilim .
TheCloudlessSky

3
@ TheCloudlessSky: Bir yaklaşım, verileri X1'in değerlerine göre bölmelere kesmektir. Kutu Y'ye göre X2 bölmesine karşı Y arsası, bölmeler değiştikçe eğimdeki değişiklikleri arar. Aynısını, X1 ve X2’nin rolleri ters olarak yapın.
whuber

3
@chl Kafes ekranı güzel bir örnektir. Bir değişkeni eşit aralıklarla niceliklerde dilimlemek çekicidir. Başka yaklaşımlar var. Örneğin, Tukey kuyrukları bölerek dilimleme önerilen: olduğunu, o zaman, medyan yarıya X2 değerleri dilim tarafından bu yarıyı dilim onların medyan, daha sonra dilim alt onun ortanca en düşük grubun yarısını ve üst yüksek yarısı ortancadaki grup ve benzerleri, yeni gruplar yeterli veriye sahip olduğu sürece devam eder.
whuber

1
@whuber Yine iyi bir nokta. Olası R uygulamasına bakacağım veya kendim deneyeceğim.
chl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.