실험효과분석/공변량분석

공변량 분석 이해하기

학위논문통계 2013. 4. 7. 01:14

이젠 공변량 분석에 대해서 조금 이야기 해볼까요? 앞에서 이야기했지만 확률요인(random factor)을 제외하고는 그냥 회귀분석에 불과합니다. 확률요인이 있는 경우도 아마 회귀분석으로 전환시킬 수 있을 것 같은데 지금으로서는 장담은 못하겠네요.

 

단순한 예를 들어보죠. 우리는 학생들이 성적에 영향을 미치는 원인을 찾고 싶다는 것이죠. 그래서 생각한 게 학생의 성별, 거주지역, 그리고 집안 경제력 세 개의 변수를 고려했습니다. 성별과 거주지역은 명목형 자료이고 집안 경제력은 연속형 변수입니다.

 

그런데 여기서 두 가지 경우를 생각해보죠.

 

 

 

 

1.

 

첫 번째는 내가 주관심을 가지고 있는 변수는 집안 경제력이다. 즉 집안 경제력이 학생들의 성적에 미치는 영향을 보고 싶은 것입니다. 성별과 거주지역은 관심 밖의 변수입니다. 그러나 성별과 거주지역에 성적에 영향을 미치는 것 같으니까 통제변수로 넣고 싶습니다.

 

회귀분석(안 보신 분은 회귀분석부터 먼저 보시기 바랍니다)에서 이미 이야기했지만 통제변수 역시 똑같은 독립변수에 불과합니다. 단지 주관심 변수인지 아니면 다른 영향력이 있는 변수의 역할을 통제하기 위한 목적으로 독립변수에 넣는 것인지 이런 목적이 다른 변수입니다. 하여간 이런 통제변수를 독립변수로 넣는 것은 사회복지학과에서 많이 합니다. 다른 과는 별로 안합니다.

 

통제변수를 많이 넣으면 자유도가 달라져 주관심 변수가 영향력이 없는 것으로 판정될 가능성이 많지만, 즉 논문의 가설, 대립가설이 기각될 가능성이 많아지지만 성적에 영향을 미치지 못하는 변수를 통제변수로 많이 넣으면 오히려 가설이 채택될 가능성이 높아집니다. 약간 사기성이 많죠.

 

 

 

 

2. 똑같은 회귀분석

 

두 번째는 내가 주관심을 가지고 있는 변수는 성별과 거주지역입니다. 성별이 성적에 영향을 미치는 요인인지, 또 거주지역이 성적에 영향을 미치는 요인인지, 또 성별과 거주지역에 상호작용하여 성적에 영향을 미치는 것인지 이런 것을 알고 싶다는 것이죠. 그러나 주 관심 변수는 아니지만 집안 경제력이라는 연속형 변수도 성적에 영향을 미치는 것 같아서 이걸 통제할 필요가 있어서 통제변수로 넣어야 할 것 같거든요. 이 경우가 공변량 분석을 하는 것이고 기본적인 회귀분석이랑 전혀 다를 것이 없습니다.

 

그럼 성별과 거주지역의 상호작용을 고려하지 않는다면

 

 

이걸 회귀분석 수식으로 표현하면

 

학생의 성적=b0+b1*집안경제력+b2*성별+b3*거주지역

 

이 됩니다. 앞의 첫 번째 목적이든 두 번째 목적이든 같습니다. 실제 작업에서는 거주지역은 명목형 변수이기 때문에 더미변수화 해야 한다는 점입니다. 성별은 이미 더미화 되어 있기 때문에 그냥 코딩된 채로 쓰면 됩니다.

 

그러나 똑같은 회귀분석인데 두 번째의 경우는 공변량 분석(ANCOVA, analysis of covariance)이라 따로 부르고 있습니다. 왜 이렇게 이름을 붙였는지는 아직 잘 모르겠습니다. 공분산과 그리 관계가 없어 보이는데요, 아는 분 있으면 알려 주시고요. 여기서 통제 변수인 연속형 변수 집안 경제력을 공변인(covariate)라고 합니다. 사실 이론 통계책에는 이런 용어를 잘 안쓰는데.

 

그래서 어떤 성격의 변수를 통제변수로 하고 어떤 성격의 변수를 주 독립변수로 하느냐에 따라서 그냥 일반회귀분석이 되기도 하고 공변량 분석이 되기도 합니다.

 

 

 

그럼 실제 작업에서는 어떻게 달라질까요?

 

1) 그냥 회귀분석의 경우 명목형 변수를 일일이 더미변수화 해야 합니다. 만약 성별과 거주지역의 상호작용까지 보겠다고 하면 회귀식은

 

학생의 성적=b0+b1*집안경제력+b2*성별+b3*거주지역+b4*성별*거주지역

 

마지막에 성별*거주지역이라는 상호작용, 교호작용항이 더 붙는다는 것이죠.

 

그럼 이 상호작용항에 대해서 어떻게 코딩할까요? 하는 이런 문제가 생기죠. 이런 것을 알려고 하면 ANOVA나 실험계획 이론 책을 보셔야 합니다. 그래서 일반 회귀분석에서는 대부분의 일반인은 작업을 할 수 없습니다. 그래서 공분산 분석을 하면 SPSS가 알아서 내부에서 코딩을 자동으로 해 줍니다.

 

2) 그래서 공변량 분석에서는 명목형 요인들에 따라 성적에 차이가 있는지, 또는 명목형 요인들이 상호작용이 있는지 알고 싶으니까 여기에 관련된 통계량을 많이 제시합니다. 분산분석표(ANOVA table) 같은 것이죠. 사실 분산분석표 같은 것은 논문에 실을 필요가 없습니다. 실제적인 의미가 있는 값들이 아니거든요. 단순히 F 값과 p 값만 알면 되죠. 통계학과 얘들 시험보는 것도 아니고.

 

그럼 우리가 공변량 분석이라는 것은 기본적으로 회귀분석이고 단지 연속형 변수를 통제변수로 하고 주 관심은 명목형이나 범주형 자료의 분산분석, 일원분산분석, 이원분산분석 등을 알고 싶은 것입니다.

 

 

 

 

3. 실험효과에서는 공변량 분석

 

그럼 실험효과에서의 공변량 분석은 어떻게 될까요? 먼저 회귀분석 식부터 보죠.

 

 

사후 점수=b0+b1*사전 점수+b2*집단

 

 

여기서 집단은 통제집단=0, 실험집단=1로 코딩되어 있습니다.

 

그래서 SPSS에서는 회귀분석에 가서 사후점수를 종속변수로 하고 사전점수와 집단을 독립변수로 하여 b2가 유의적인지 아닌지 판단하시면 됩니다. b2가 유의적이면 뭔가 새로운 수업방식이 영향력이 있는 것이고, 만약 b>0이면 긍정적으로 영향이 있고, b<0이면 부정적으로 영향이 있는 것이죠. 따라서 SPSS에서 특별히 공변량 분석을 할 필요는 없습니다. 참... SPSS에서 공변량 분석은 일반선형모형(general linear model)에서 univariate를 선택하시면 됩니다.

 

그러나 실험집단과 통제집단이라는 집단 뿐만 아니라 학생들 성별, 거주지역 등 다양한 명목변수들의 영향력도 알고 싶다면 이젠 공변량 분석을 하셔야 합니다. 일반 회귀분석에서는 작업이 너무 귀찮아집니다.

 

그럼 b1을 1로 놓고 사전 점수를 오른쪽으로 넘기면 위 식은

 

 

사후점수-사전 점수=b0+b2*집단

 

 

이 됩니다. 여기서 b2에 대해 검증하는 것이 실험집단의 점수 변화와 통제집단의 점수변화를 구해 t 검증한 것이랑 똑 같은 것입니다. 그래서 아주 원초적인 방법이라는 것이죠.

 

 

점수변화=뮤+집단(i)

 

 

라는 일원분산분석이랑 같고, 집단의 분류가 2개인 경우 t 검증이랑 같습니다. 즉 분산분석 표에 나오는 F 값을 루트를 취하면 t 값이 나오고 위의 회귀분석식에서 나오는 t 값과 정확히 일치합니다. 당연히 p 값도 같죠.

 

그럼 위 같이 하면 안되는 것일까요?

 

안되는 경우가 많습니다. 옛날의 경우 대학교때 학생운동하는 학생이 많습니다. 그래서 주 관심이 학생운동 경험이 대학교 성적에 영향을 미치는지 알고 싶다는 것이죠. 그럼 사전 점수로 입학시 성적을 놓고 사후 점수로 졸업시 학점을 놓는다는 것이죠. 그럼 사전과 사후 척도가 달라져 버리잖아요.

 

또한 실험기간 동안 다른 외부 요인이 들어와 성적변화가 묘하게 변할 수가 있거든요. 그래서 좀 더 일반화하기 위해서 b1을 1로 놓으시면 안 좋습니다.

 

 

나중에 시간나면 조금 더 구체적으로 써 볼까요?