회귀분석에서의 교호작용

회귀분석에서의 교호작용

Interaction in regression Analysis

빌드업

우선 질적변수를 포함한 회귀분석에 대해 읽어보는 것을 추천한다.

올해 취업자 전체의 수능 성적 $X_{1}$, 연령 $X_{2}$, 성별 $S$, 최종학력 $E$ 로 초봉 $Y$ 를 추측한다고 상상해보자. 우선 질적변수가 있으므로 성별을

$$ S = \begin{cases} 1 & ,\text{여성} \\ 0 & ,\text{남성} \end{cases} $$

그리고 학력을

$$ E_{1} = \begin{cases} 1 & ,\text{대졸} \\ 0 & ,\text{고졸} \end{cases} \\ E_{2} = \begin{cases} 1 & ,\text{석사} \\ 0 & ,\text{고졸} \end{cases} \\ E_{3} = \begin{cases} 1 & ,\text{박사} \\ 0 & ,\text{고졸} \end{cases} $$

과 같이 정의하면 회귀식은

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \beta_{3} S + \gamma_{1} E_{1} + \gamma_{2} E_{2} + \gamma_{3} E_{3} + \varepsilon $$

과 같이 나타날 것이다. 짐작하건대 수능 성적이 높을수록 똑똑하거나 성실해서, 나이가 많을수록 경력이 많아서, 고강도 육체노동을 하는 사람들이 주로 남자라서, 학력이 좋을수록 전문성을 요구하는 일을 해서 초봉도 높아질 것이다.

그런데 이런 식의 가정은 $X_{1} , X_{2} , S , E$ 가 서로 독립이라는 전제가 있어야만 한다. 당장 눈에 보이는 문제점은 연령과 최종학력이다. 일부 수재들이라면 몰라도 보통은 대졸보단 석사가, 석사보단 박사의 사회진출이 늦는 것이 당연하다. 반대로 20살에 취업한 사람이 있다면 이 사람의 학력은 거의 확실히 고졸이하다. 경력직이 아닌 이상 연령은 어느정도 학력과 관계가 있을 것이고, 독립이라는 전제가 무너진다. 똑같은 사회 초년생이라도 한국에서는 군복무 때문에 남성의 사회진출이 여성에 비해 늦는 편이고, 이는 성별 역시 취업 연령에 영향을 미칠 수 있음을 의미한다.

정의 1

이렇듯 단일 변수만으로는 알 수 없는 변수들간의 작용을 교호작용Interaction이라 한다.

통계 날조의 정체

단순하게 평균만 비교해서 성별간 임금격차가 난다거나 대뜸 대졸이 고졸보다 많이 받는다는 말들은 통계적으로 보았을 때 아주 의심스러운 주장들이다. 물론 그 주장들이 사실일 가능성도 있지만, 이를 입증하기 위해선 인포그래픽으로 잘 꾸며지고 이해하기 쉬운 지표들을 볼 게 아니라 다방면으로 데이터를 검토하고 지루하더라도 통계적인 의미가 있는 분석법으로 얻은 결과가 뒷받침되어야한다.

통계를 이용해 거짓선동을 일삼는 자들이 가장 자주 쓰는 말은 ‘통계적으로 수치적인 차이가 난다’지만, 실상은 ‘평균적으로 수치적인 차이가 나는 것’들이 대부분이다. 통계와 평균은 다르다. 적어도 교호작용을 알 정도로 통계를 공부했다면 속아넘어가지 않도록 하자. 질적변수와의 교호작용을 해결하기 위해서는 주로 두 변수를 곱하는 방법을 즐겨쓴다. 예를 들어

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \beta_{3} S + \gamma E + \varepsilon $$

에서 연령 $X_{2}$ 와 성별 $S$ 의 교호작용을 고려하고 싶다면, $X_{2} \cdot S$ 와 같은 새로운 변수가 추가됨으로써 남성일 때의 연령과 여성일 때의 연령을 고려할 수 있게 된다. 새로운 항이 추가된 회귀식을

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \delta ( X_{2} \cdot S ) + \beta_{3} S + \gamma E + \varepsilon $$

이라고 하면 남성일 때

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \gamma E + \varepsilon $$

여성일 때

$$ Y = \beta_{0} + \beta_{1} X_{1} + ( \beta_{2} + \delta ) X_{2} + \beta_{3} + \gamma E + \varepsilon $$

이 된다. 기하학적으로 말하자면 연령에 따른 회귀직선의 절편과 기울기 모두가 바뀌어서 성별을 고려한 비교가 가능해진다. R 에서는 위와 같이 회귀식을 세우면 그대로 분석이 된다. 팁을 주자면 전체 변수에 대한 제곱(^2)표현을 사용하면 변수 간의 곱이 나올 수 있는 모든 경우에 대해 알아서 계산된다.

실습

(질적변수를 포함한 회귀분석에 이어서)

20180927\_102536.png

20180920\_094549.png out1은 교호작용을 고려하지 않은 회귀분석, out2는 교호작용을 고려한 회귀분석이다. 요약을 보면 suppVC:dose가 유의하면서 그 계수가 양수인데, 이는 기본적으로 비타민을 복용하는 그룹의 치아 길이가 짧지만 복용량이 많다면 비타민을 복용하는 그룹의 치아 길이 역시 꽤 길어질 수 있다고 해석할 수 있다. 오렌지주스를 한 단위 늘릴때마다 길어지는 치아의 길이는 $7.811 \cdots$ 이지만, 비타민을 한 단위 늘릴때마다 길어지는 치아의 길이는 $7.811 \cdots + 3.904 \cdots = 11.715 \cdots$ 이다. 소량을 투여한다면 오렌지주스가, 대량을 투여한다면 비타민이 치아의 길이에 도움이 된다는 뜻이다. 1.png 2.png Plot 1은 교호작용을 고려하지 않은 회귀분석, Plot 2는 교호작용을 고려한 회귀분석에 대한 표준화 잔차그림이다. 그림을 보면 Plot 2 에도 아직 찝찝한 구석은 남아 있지만, 확실히 Plot 1 에 비하면 개선된 것이 눈에 띈다. 분석을 하다보면 독립변수 $A$ 와 $B$ 에 대해 $a \ast b$ 는 유의한데 $A$, $B$ 가 유의하지 않게 나온 경우가 있을 수 있다. 물론 이런 경우에 대해선 매우 주의 깊은 접근이 필요한 것이 사실이나, 분석이 제대로 됐다면 $A$ 와 $B$ 는 유의하지 않아도 회귀식에 포함되어야함을 유념하자. 당연하지만 $A$ 나 $B$ 중 한쪽만 유의하지 않아도 모두 포함시켜야한다.

코드

아래는 예제 코드다. 이 포스트에선 out2를 만들기 위한 lm() 함수의 두가지 경우가 동일하다.

head(ToothGrowth); tail(ToothGrowth); str(ToothGrowth)
out2<-lm(len~.^2,data=ToothGrowth); summary(out2)
out2<-lm(len~.+supp*dose,data=ToothGrowth); summary(out2)
 
win.graph(5,5); plot(rstudent(out2), main="Standardized Residual Plot 2"); abline(h=0)

  1. Hadi. (2006). Regression Analysis by Example(4th Edition): p125127. ↩︎

댓글