logo

교호작용

교호작용

  • 교호작용(interaction): 한 독립변수와 종속변수의 관계가 다른 독립변수의 값에 따라 달라지는 현상
  • 선형 회귀에서는 두 독립변수의 곱으로 교호작용을 표현
  • xm의 교호작용항은 관계식에서 x:m으로 표시
y ~ x + m + x:m
  • 관계식에서 x * mx + m + x:m과 같음
y=β0+β1x+β2m+β3xm+ϵ
  • β0: m = 0일 때의 절편
  • β1: m = 0일 때 x의 기울기
  • β2: x = 0에서 m = 1m = 0의 절편 차이
  • β3: m = 1m = 0의 기울기 차이

집단별 회귀식은 다음과 같음.

m=0:y^=β0+β1x m=1:y^=(β0+β2)+(β1+β3)x

교호작용의 간단한 예

  • 이해를 돕기 위한 간단한 예시
  • x는 연속형 변수
  • m0 또는 1로 코딩한 범주형 지시변수

교호작용이 없는 경우

  • 관계식
y ~ x + m
  • m의 값에 따라 회귀선의 절편이 달라질 수 있음
  • x:m 교호작용항이 없으므로 m = 0m = 1의 기울기는 같음

절편은 다르고 기울기는 같은 두 집단의 회귀선

기울기가 달라지는 경우

  • 관계식
y ~ x + x:m
  • m에 따라 x의 기울기가 바뀌는 것으로 해석
  • x:m 항은 x의 효과가 m의 값에 따라 달라지는지 나타냄
  • m의 주효과를 제외했으므로 x = 0에서 두 집단의 절편은 같음
  • 절편이 같다는 제한이 타당할 때 사용하는 모형

절편은 같고 기울기는 다른 두 집단의 회귀선

기울기와 절편이 모두 달라지는 경우

  • 관계식
y ~ x + m + x:m
  • m에 따라 x의 절편과 기울기가 모두 바뀌는 것으로 해석
  • m의 주효과는 x = 0에서의 절편 차이를 나타냄
  • x:m 교호작용은 두 집단의 기울기 차이를 나타냄

절편과 기울기가 모두 다른 두 집단의 회귀선

Python 교호작용

세 실습의 전체 코드와 출력은 interaction.ipynb에서 확인 가능.

import pandas as pd
import seaborn as sns
from statsmodels.formula.api import ols

절편만 다른 경우

d1 = pd.read_excel("diff_intercept.xlsx")
model_d1 = ols("y ~ x + m", data=d1).fit()
model_d1.summary()
  • R2: 0.993
  • 절편: 20.3857, p-value < 0.001
  • x: 1.9659, p-value < 0.001
  • m: -17.1611, p-value < 0.001
m=0:y^=20.3857+1.9659x m=1:y^=3.2245+1.9659x

m = 1 집단의 절편은 m = 0 집단보다 약 17.1611 낮음. 두 집단의 기울기는 같음.

sns.scatterplot(x="x", y="y", hue="m", data=d1)

기울기만 다른 경우

d2 = pd.read_excel("diff_slope.xlsx")
model_d2 = ols("y ~ x + x:m", data=d2).fit()
model_d2.summary()
  • R2: 0.999
  • 절편: 0.0352, p-value 0.930
  • x: 2.0266, p-value < 0.001
  • x:m: 5.4842, p-value < 0.001
m=0:y^=0.0352+2.0266x m=1:y^=0.0352+7.5108x

두 집단은 같은 절편을 공유함. m = 1 집단의 기울기는 m = 0 집단보다 약 5.4842 큼.

sns.scatterplot(x="x", y="y", hue="m", data=d2)

절편과 기울기가 모두 다른 경우

d3 = pd.read_excel("interaction.xlsx")
model_d3 = ols("y ~ x + m + x:m", data=d3).fit()
model_d3.summary()
  • R2: 0.966
  • 절편: -0.2975, p-value 0.562
  • x: 2.0403, p-value < 0.001
  • m: 32.6380, p-value < 0.001
  • x:m: -3.4909, p-value < 0.001

추정된 전체 회귀식은 다음과 같음.

y^=0.2975+2.0403x+32.6380m3.4909xm

집단별 회귀식은 다음과 같음.

m=0:y^=0.2975+2.0403x m=1:y^=32.34051.4505x

m = 0에서는 x가 증가할수록 예측되는 y가 증가함. m = 1에서는 기울기가 -1.4505로 바뀌어 x가 증가할수록 예측되는 y가 감소함.

sns.scatterplot(x="x", y="y", hue="m", data=d3)

퀴즈

문제 1 / 6맞음: 0힌트: 0틀림: 0채점중: 0남음: 6

교호작용(interaction)에 대한 설명으로 가장 적절한 것은?

  • 한 독립변수와 종속변수의 관계가 다른 독립변수의 값에 따라 달라지는 현상
  • 두 독립변수의 주효과를 서로 독립적으로 추정하는 상황
  • 한 독립변수의 효과가 다른 독립변수와 무관하게 일정한 상황
  • 범주형 독립변수를 여러 개의 지시변수로 바꾸는 절차

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.