두 개의 연속 변수간에 상호 작용이 가능합니까?


답변:


31

예, 왜 안되나요? 이 경우 범주 형 변수와 동일한 고려 사항이 적용됩니다 . 결과 Y 에 대한 의 효과 는 X 2 값에 따라 동일하지 않습니다 . 도움말을 시각화, 당신이 취한 값 생각할 수 X 1 X 2가 높거나 낮은 값을 사용합니다. 범주 형 변수와 달리 여기에서 상호 작용은 X 1X 2 의 곱으로 표현됩니다 . 참고로 두 변수를 먼저 중심에 두는 것이 좋습니다 ( X 1에 대한 계수 는 X X 1 의 영향으로 읽습니다)X1YX2X1X2X1X2X1X1 는 표본 평균에 있습니다).X2

친절 @whuber 의해 제안 된 바와 같이, 쉽게 어떻게 볼 에 따라 변화 Y를 함수로서 X 2 상호 작용 기간이 포함되고하면, 모델 적어 인 E ( Y | X ) = β 0 + β 1 X를 1 + β 2 X 2 + β 3 X 1 X 2 .X1YX2E(Y|X)=β0+β1X1+β2X2+β3X1X2

그리고, 1 단위 증가의 효과가있는 것을 알 수있다 X 2 유지 상수는 다음과 같이 표현 될 수있다 :X1X2

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

마찬가지로, X 1을 일정하게 유지하면서 가 1 단위 증가 할 때의 효과 는 β 2 + β 3 X 1 입니다. 이것은 X 1 ( β 1 )과 X 2 ( β 2 )의 영향을 분리 하여 해석하기 어려운 이유를 보여줍니다 . 두 예측 변수가 서로 밀접하게 관련되어 있으면 더욱 복잡해집니다. 그러한 선형 모델에서 만들어지는 선형성 가정을 명심해야합니다.X2X1β2+β3X1엑스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 1 의 다른 값 (예를 들어, terciles 또는 decile) 에서 X 2 의 함수로 의 변형을 볼 수 있습니다 . 이 경우 격자 표시가 유용합니다. 위의 데이터를 사용하여 다음과 같이 진행합니다.와이엑스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를 포함하면 X1이 Y에 미치는 영향이 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 : 한 가지 방법은 X1 값에 따라 데이터를 빈으로 슬라이스하는 것입니다. 구간별로 Y 대 X2 구간을 플로팅하여 구간이 다양 할 때 기울기 변화를 찾습니다. X1과 X2의 역순으로 동일한 작업을 수행하십시오.
whuber

3
@chl 격자 표시는 멋진 그림입니다. 등 간격 Quantile에서 하나의 변수를 슬라이스하는 것이 매력적입니다. 다른 접근법이 있습니다. 예 Tukey에가 꼬리를 이등분하여 슬라이싱 추천 : 그 다음, 중간에 반으로 X2 값을 슬라이스하여 그 반쪽 슬라이스 중앙값 다음 슬라이스 하부 그 중앙에서 낮은 그룹의 절반과 상부 높은 절반 새 그룹에 충분한 데이터가있는 한 계속 진행합니다.
whuber

1
@whuber 다시 한번 좋은 지적입니다. 가능한 R 구현을 보거나 직접 시도해 볼 것입니다.
chl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.