Baron & Kenny 매개,조절효과/조절효과

조절효과와 다중공선성, 그리고 조절효과 그래프 그리기

학위논문통계 2014. 6. 18. 23:41

 

 

조절효과 마지막 글입니다.

 

 

 

1, 조절효과와 다중공선성

 

 

 

Baron & Kenny(1986)나 그 후에 나온 Baron & Kenny 조절효과를 설명한 논문을 읽어보면 상호작용항을 만들 때 독립변수와 조절변수를 평균이동하거나 표준화를 하라고 되어 있습니다. 그렇게 하지 않으면 다중공선성 문제가 생긴다고 하네요. 실제로 평균이동이나 표준화를 하지 않고 다중공선성 측도인 VIF를 보면 값이 매우 크게 나옵니다. 평균이동이나 표준화를 하면 다중공선성 문제가 별로 없고요.

 

 

 

다중공선성 문제는 독립변수들간에 상관관계가 높을 때 생기는 문제입니다. 여기서 두 가지 문제가 생기는데 하나는 컴퓨터 계산상의 문제입니다. 회귀계수 구하는데 역행렬을 구해야 하는데 다중공선성 문제가 생기면 이 역행렬 계산에서 문제가 생깁니다. 그러나 최근 운영체제나 통계프로그램의 성능이 매우 좋아졌기 때문에 이 문제는 지금은 심각한 것 같지 않고요.

 

 

 

두 번째 문제는 다중공선성 문제가 심각하면 추정한 회귀계수의 변동이 매우 크다는 점입니다. 그래서 상식적으로 회귀계수가 +값이 나와야 하는데 -값이 나오고 -값이 나와야 하는데 + 값이 나오고 하는 현상이 생겨납니다. 이 경우 상관계수를 보면 독립변수와 종속변수간의 관계가 상식적인 +나 - 관계가 나올 겁니다. 상관계수는 독립변수가 하나인 회귀분석을 한 결과와 일치합니다. 독립변수가 하나이니까 아예 다중공선성 문제가 일어날 수 없죠.

 

 

 

조절효과 검증에서는 독립변수를 X, 조절변수를 Y라고 하면 조절효과를 보려면 상호작용항 XY를 만들어야 합니다. 그런데 이 X와 XY, 또는 Y와 XY간의 상관관계가 커서 다중공선성 문제가 생긴다는 것이죠.

 

 

 

그러나 어떤 사람은 다중공선성 문제가 생겨도 결과에는 별 영향이 없다고 주장하기도 하는데 저는 심각하기 생각해 보지는 않았습니다. 이걸 정확하게 이해하려면 옛날 회귀분석 책을 다시 봐야 하거든요. 솔직히 다시 보기에 이젠 지겹습니다. 회귀계수의 분산을 구하려면 (X'X)-1 이 나오기 때문에 정확하게 분석하려면 골치 아픕니다. 그러나 고급 회귀분석 이론을 이해하려면 (X'X)-1 이 역행렬을 잘 분석할 줄 알아야 합니다.

 

 

 

하여간 Baron & Kenny가 평균이동이나 표준화를 하라고 하니까 또 한국에서 이런식으로 많이 요구하니까 평균 이동이나 표준화를 하는게 좋습니다. 나중에 조절효과를 보여주는 그래프를 그릴 경우를 대비하면 표준화를 하는 것이 가장 좋습니다. 조절효과 그래프를 많이 그릴 경우 종속변수도 표준화를 해 주면 좋습니다. 평균이동이나 표준화는 간단합니다.

 

 

 

평균이동: 평균이동한 새 변수=원 변수-원 변수의 평균

 

표준화: 표준화된 새 변수= (원 변수-원 변수의 평균)/원 변수의 표준편차

 

 

 

이 표준화 공식은 많이 본 공식이죠. 기초통계학에서 표준화 정규분포에 나오는 식입니다. SPSS에서 하려면 먼저 원 변수의 평균과 표준편차를 구한 다음 데이터 변형에서 위 표준화 공식을 적용시켜 새로운 변수를 만들면 됩니다.

 

 

 

따라서 표준화된 변수의 값이 0 이면 이건 원 변수에서 평균값에 해당하고 표준화된 변수의 값이 1이면 원 변수에서는 평균+1시그마, -1이면 원 변수에서는 평균-1시그마에 해당하는 값이 됩니다. 나중에 조절효과 그래프를 그릴 때 조절변수가 고집단을 표준화된 조절변수가 1인 경우, 조절변수가 저집단인 경우는 표준화된 조절변수가 -1인 값으로 대체를 해서 그립니다. 통상 하는 방법입니다. 기타 변수는 0으로 처리하고요. 즉 다른 변수는 평균값에 해당하는 사람을 집어 넣는다는 것이죠.

 

 

 

 

 

 

2. 조절효과 그래프 그리기

 

전에 한번 설명한 적이 있는데 위계적 회귀분석이라 회귀모형에서 고차원항에 들어가는 변수는 저차원 항에도 항상 들어가야 하는 모형을 이야기합니다. SPSS에서 단계별로 회귀분석을 하는 것을 의미하는 것이 절대로 아닙니다. 단계별로 회귀분석을 하는 것은 회귀계수를 여러개 다루는 다중 가설일 경우 단계별 회귀분석을 합니다.

 

예를 들어 회귀분석 모형이 Y=b0+b1*X1+b2*X2+b3X3+b4*X4라고 할 때 즉 X1부터 X4까지 네 개의 독립변수가 있는 회귀모형인 경우

 

 

귀무가설 b1=b3=0

대립가설 b1과 b3 중 최소한 하나는 0이 아니다

 

 

 

이럴 가설을 검증할 경우 1단계에 독립변수 X2와 X4를 넣고 2단계에서는 추가적으로 X1와 X3를 넣습니다, 그런 다음 추가적 설명력 증가에 따른 F 값을 보고 위의 가설을 검증하는 것입니다. 이럴 경우에 사용하는 것이 단계적 회귀분석입니다. 이 단계적 회귀분석은 최적모형 선택에 나오는 Stepwise 방법을 이야기하는 것은 아닙니다. SPSS에서 독립변수 선택하는 메뉴에서 처음 X2와 X4를 선택하고 거기에 있는 next를 누른 다음 그 다음에 X1와 X3를 독립변수로 선택하여 회귀분석하면 단계적으로 회귀분석이 됩니다.

 

 

 

 

그래서 X는 독립변수, Y는 연구모형에 있는 조절변수, Z를 종속변수라고 하면 위계적 회귀분석 모형은

 

 

 

Z=b0+b1*독립변수+b2*조절변수+b3*(독립변수*조절변수)=b0+b1*X+b2*Y+b3*XY

 

 

 

 

이렇게 됩니다. 여기에 독립변수항이나 조절변수항이 없으면 이 경우 위계적 회귀분석이 아닙니다.

 

 

 

왜 위계적 회귀모형을 생각한 것일까요? 독립변수가 많아지면 우리가 상상할 수 있는 회귀분석 모형은 엄청나게 많습니다.

 

 

 

Y=b0, Y=b0+b1X1, Y=b0+b1X2, Y=b0+b1X3,..., Y=b0+b1X1+b2X2, Y=b0+b1X1+b2X3,..., Y=b0+b1X1+b2X2+...+bkXk

 

 

 

 

등 수 많은 회귀분석 식이 나올 수 있습니다. 이 많은 회귀분석 식 중에서 가장 데이터에 잘 맞는, 또는 이론적으로 잘 맞는, 현실 설명력이 높은 식 하나를 선택하고자 하는 것이 회귀분석에서 최적 모형을 찾는 것입니다.

 

 

 

여기에 상호작용을 보려고 X1*X2, X2*X3*X5 등 상호작용항 까지 들어가면 이때는 정말 감당하기 힘들 정도로 회귀분석식이 많아집니다. 그래서 우리가 고려하는 회귀분석 식을 가능하면 줄이려고 나온 것이 위계적 회귀분석 모형입니다.

 

 

 

 

앞의 위계적 회귀분석 식으로 돌아가면

 

 

 

Z=b0+b1*독립변수+b2*조절변수+b3*(독립변수*조절변수)=b0+b1*X+b2*Y+b3*XY

 

 

 

이렇게 되는데 이때 조절효과를 보는 것은 b3에 대한 가설검증입니다. 즉,

 

 

 

귀무가설 b3=0

대립가설 b3=0이 아니다.

 

 

 

그래서 데이터를 돌려서 b3가 0인지 아니지 t 검증을 하게 됩니다. 통계학에서는 교호작용(interaction effect)라는 말을 사용하고 사회과학에서는 조절효과라는 말을 사용하는데 제가 보기에는 상호작용항이 가장 적절하는 것 같습니다.

 

 

일반적으로 b3가 +값이 나오면 일종의 촉매효과, 촉진효과라 볼 수 있고, - 값이 나오면 억제효과라 볼 수 있습니다. 그러나 이런 해석은 독립변수 X와 종속변수 Y가 서로 + 관계일때 성립합니다. 직무스트레스를 독립변수 X라 하고 직무만족을 종속변수 Y라고 하면 이때 직무스트레스와 직무만족은 -관계에 있습니다. 즉 직무스트레스가 상승하면 직무만족이 내려가는 관계라는 것이죠. 이럴 경우 조절효과를 해석하기에 엄청 헤갈립니다. 이 경우 조절변수를 고집단, 저집단으로 범주화해서 그래프를 그려주는 것이 좋습니다.

 

 

 

위 식에서 b2는 조절변수의 주효과(main effect)를 보는 것입니다. 회귀분석에서 주효과라는 말을 잘 쓰지 않는데 이건 분산분석에서 나오는 용어입니다. 이 조절효과 보는 것이 분산분석의 상호작용 효과를 보는 것과 그 의미가 똑같기 때문입니다. 만약 유의적인 조절효과가 없어도 유의적인 주효과가 있으면 의미가 있습니다. 이것은 독립변수의 값에 관계없이 조절변수가 전반적으로 종속변수의 값을 상승시키거나 또는 하락시킨다는 의미입니다.

 

 

 

 

 

아래 그림을 통해 설명하면 이 경우 독립변수와 종속변수간에 + 관계인 경우 조절변수의 주효과인 b2가 +, 조절효과가 +인 경우 전형적인 그림입니다.

 

 

 

 

 

 

 

 

 

 

 

 

그림에서 조절변수 저집단의 직선을 수직으로 이동시킨 양이 조절변수의 주효과 b2이고 고집단과 저집단간의 기울기 차이가 b3입니다. 즉

 

 

 

b3=조절변수 고집단의 기울기-조절변수 저집단의 기울기

 

 

 

이렇게 해석된다는 것이죠.

 

그래서 유의적인 조절효과가 없는 경우 b3가 0에 가깝게 나와 조절변수 고집단의 기울기와 조절변수 저집단의 기울기가 거의 일치하는 경우입니다.

 

 

 

그럼 실제 그래프는 어떻게 그릴까요? 독립변수가 3개인 경우를 보죠. 결과물에 다음과 같이 나왔다고 보죠. 독립변수와 조절변수는 표준화 시켰다는 것을 명심하고요. 위 그림에서 네 개의 사각형에 해당하는 값을 구합니다. 즉 (-1, 조절변수 저집단의 y 값), (+1, 조절변수 저집단의 y 값), (-1, 조절변수 고집단의 y 값), (+1, 조절변수 고집단의 y 값) 이렇게 네 개의 y 값을 구한 다음 직선으로 연결한다는 것이죠.

 

 

 

그럼 SPSS 결과물이 다음과 같다고 보죠.

 

비표준 회귀계수

표준회귀계수

t 값

p 값

상수

0.257

 

 

 

독립변수1

 

 

 

 

독립변수2

0.134

 

 

 

독립변수3

 

 

 

 

조절변수

0.119

 

2.186

0.041*

독립1*조절

 

 

 

 

독립2*조절

0.242

 

3.157

0.009**

독립3*조절

 

 

 

 


 

 

 

 

 

 

여기서 조절변수는 독립변수2와 종속변수간에 유의적인 조절효과가 있다고 하죠.

 

그럼 위의 모형은

 

 

 

Y=0.257+b1*독립1+0.134*독립2+b3*독립3+0.119*조절+b5*독립1*조절+0.242*독립2*조절+b7*독립3*조절

 

 

 

이렇게 됩니다. 그런데 관심없는 변수 독립1과 독립3은 모두 0을 집어 넣습니다. 즉 독립1과 독립3이 원 변수의 평균값에 해당하는 집단에 대해서 보겠다는 것입니다. 그래서 실제 계산에서는

 

 

 

Y=0.257+0.134*독립2+0.119*조절+0.242*독립2*조절

 

 

 

이 수식만 사용됩니다. 그래서 구해야 할 네 개의 값은

 

 

 

조절변수 저집단의 경우 직선

(독립변수가 -1인 경우, 조절변수가 -1인 경우),

(독립변수가 +1인 경우, 조절변수가 -1인 경우)

 

 

 

조절변수가 고집단인 경우 직선

(독립변수가 -1인 경우, 조절변수가 +1인 경우)

(독립변수가 +1인 경우, 조절변수가 +1인 경우)

 

 

 

이렇게 위 식에 값을 대입하여 y 값, 즉 종속변수의 값을 구한 다음 직선으로 연결하면 됩니다.

 

이건 SPSS에서 자동적으로 그려지는 그래프가 아닙니다. 위 값을 구해 그래프 그리는 사람에게 부탁하거나 본인이 엑설에서 그리거나, 저는 S-Plus를 이용하여 그립니다.

 


아래 성진님 질문에 대한 구체적인 예를 적습니다.



 

 

비교

휴식시간부족 심각하지 않음

휴식시간부족 심함

저 노동시간

사고 없음

사고 없음

고 노동시간

사고 상당히 많음

사고 상당히 많음

 

 

노동시간 변화: (사고없음, 사고 없음)==>(사고 상당히 많음, 사고 상당히 많음)

으로 상당히 유의적인 사고의 변화가 있음

 

휴식시간 부족의 변화:(사고 없음, 사고 상당히 많음)==>(사고 없음, 사고 상당히 많음)

으로 휴식시간 부족이 커지면 약간은 늘어나겠지만 유의적으로 사고가 늘어나는 것은 아님.


그러나 (휴식시간 충분, 저 노동시간)에서 (휴식시간 부족, 고 노동시간)으로 변할때는 상당히 사고가 늘어남.