회귀분석/회귀분석,Regression

통제변인, 공변인, 공변량분석1

학위논문통계 2022. 10. 14. 09:59

늘은 논문에 자주 나오지만 정확하게 정의되어 있지 않는 통제변수와 공변인(covariates)에 대해서 설명을 해보죠.

 

통계학 책에서 이 용어들이 정확하게 정의되어 있지 않는 이유는 회귀분석에서는 이 변인들이 전부 다 독립변수라는 용어를 사용하기 때문입니다.

 

즉, 개념상 통제변수와 공변인의 용어를 사용할 수 있지만 실제 이론상 회귀분석의 독립변수와 똑같은 역할을 하기 때문입니다. 따라서 회귀분석 이론상 전혀 구별할 이유가 없습니다.

 

 

그럼 통제변수와 공변인은 언제 사용하는가?

 

먼저 간단한 예를 들어 보죠.

 

운동을 하면 살이 빠지는가 이런 문제에 관심을 가지고 있다고 하죠.

 

그럼 헬스장에서 운동을 하는 사람들의 운동기간과 그 동안의 체중감소를 측정합니다. 운동기간은 독립변수 X, 운동기간 동안 감소된 체중은 종속변수 Y가 되겠죠.

 

그럼 회귀분석 모형식은

 

Y=bo+b1*X+e

체중감소 Y=b0+b1*운동기간+오차항

 

이렇게 될 겁니다.

 

그런데 체중감소 Y가 성별이나 연령에도 영향을 받는다고 하죠. 그럼 성별과 연령이 체중감소에 미치는 영향을 배제하고 순수한 운동기간과 체중감소 Y의 관계를 알고 싶다고 하죠. 그럼 회귀분석 식은

 

체중감소 Y=b0+b1*성별+b2*연령+b3*운동기간+오차항

 

이렇게 변하게 됩니다.

 

이 경우 성별과 연령을 통제변수라 합니다. 즉 종속변수 Y에 영향을 미친다고 생각이 들지만 우리의 주 관심사는 아닌 변수입니다. 즉 성별이 체중감소에 영향을 미치는지, 아니면 연령이 체중감소에 영향을 미치는지 이런 주제가 우리의 주 연구 목적이 아니라는 것이죠.

 

여기서 수식에서 보듯이 통제변수인 성별과 연령, 주 관심 독립변수인 운동기간은 개념적으로 전혀 구별이 안됩니다. 수식만 보면 그냥 독립변수로 성별, 연령, 운동기간이 들어가 있는 모형입니다.

 

그럼 통계 프로그램에서는 어떻게 처리하면 될까요.

 

SPSS에서 회귀분석(Regression)가서 독립변수에 성별, 연령, 운동기간을 지정하면 됩니다. 특별히 통제변수, 독립변수 항목이 따로 없습니다.

 

 

 

한편 이와 반대로 우리의 주 관심사는 범주형 자료인 성별과 연령이 체중감소에 어떻게 영향을 미치는지 알고 싶습니다. 그런데 운동기간은 주 관심변수가 아니지만 체중감소에 영향을 미친다고 해보죠. 따라서 운동기간의 영향력을 배제한 다음 성별과 연령이 체중감소에 미치는 영향을 분석해야 하겠죠. 그럼 이 경우도 위의 경우와 마찬가지로 회귀분석 모형은

 

체중감소 Y=b0+b1*성별+b2*연령+b3*운동기간+오차항

 

 

이 경우 독립변수는 성별과 연령이 되고, 운동기간이 공변인(covariate)이 됩니다.

 

그럼 이 경우 SPSS에서는 어떻게 처리해야 할까요?

 

일반선형모형(General Linear Model)에 가서 해야 합니다. 메뉴 옵션에서 parameter estimates를 추정하면 회귀분석 결과를 보여 줍니다.

 

그럼 위의 회귀분석 결과와 어떻게 다를까요.

 

회귀분석 결과의 예입니다.

그리고 일반선형모형 결과의 예입니다.

 

2개 결과를 비교하면 먼저 아노바표에서 일반선형모형 결과가 조금 더 복잡하죠. 전형적인 이원분산분석할 때 나오는 아노바표입니다.

 

그리고 회귀분석 결과도 일반선형모형이 더 복잡하고요.

 

회귀분석에서는 성별과 연령을 그냥 연속형 변수로 처리합니다. 이 경우 성별은 별 문제가 없는데 연령은 조금 골치 아파집니다. 일반선형모형에서는 이 연령 변인을 연속형 변수로 처리하는 것이 아니라 명목형 변수로 처리하기 때문입니다.

 

그럼 회귀분석 결과와 일반선형모형의 회귀분석 결과가 일치하도록 하려면 어떻게 하면 될까요.

 

먼저 데이터에서 셩별에서 남자=0, 여자=1로 되어 있는 것을 여자=0, 남자=1로 변환을 합니다. 이 이유는 일반선형모형에서 디폴트로 준거범주를 여자로 잡았기 때문입니다. 회귀계수 값이 0으로 나온 범주가 준거범주입니다.

 

연령은 조금 더 복잡해집니다. 연령의 범주가 1, 2, 3, 4 등 4개이기 때문에 3개의 이진더미변수 (D1, D2, D3)를 새로 만들어야 합니다.

 

40대 이후=4 ==> (0, 0, 0)

30=3 ==> (1, 0, 0)

20=2 ==> (0, 1, 0)

10=1 ==> (0, 0, 1)

 

이렇게 3개의 더미변수로 처리한 다음 회귀분석의 독립변수에 성별, 연령을 나타내는 D1, D2, D3, 그리고 마지막으로 운동기간을 넣으시면 됩니다.

 

그럼 회귀분석 결과와 일반선형모형에서 회귀분석 결과와 일치하는 결과를 얻을 수 있습니다.

 

연령을 3개의 더미변수로 만드는 작업이 쉽지 않겠죠. 자료가 한 10개나 20개 정도 되면 손으로 일일이 작업하면 되겠지만 천개나 만개, 십만개 되면 손으로 일일이 작업하는 것이 사실상 불가능합니다. 이럴 경우 R같은 프로그램을 이용해서 프로그램을 짜서 해야 합니다.

 

만약 학위논문을 쓰는데 심사위원이 회귀분석에서 인구통계 변인을 통제변수로 넣어라, 또 거기에 종교나 혼인상태 등 완전히 명목형 변수도 통제변인으로 넣어라 이렇게 이야기하면 앞의 더미변수로 만드는 작업을 해야 합니다.

 

그럼 R 같은 프로그램을 이용하여 일일이 더미변수 형태로 새로운 변수를 만들거나 아니면

 

앞에서 우리가 한 것처럼 일반선형모형에서 가서 고정변인에서 성별, 혼인상태, 종교 이런 변수를 지정하고 공변인에서 운동기간을 지정하고 또 메뉴에서 parameter estimates를 지정하면 됩니다.

 

그래서 간단하게 요약하면

 

 

 

1) 통제변수

 

일반회귀분석에서, 즉 독립변수가 연속형 변수인 경우 인구통계와 같이 범주형 자료의 영향력을 배제하기 위해서 넣는 경우 이때 범주형 자료를 통제 변인으라 합니다.

 

2) 공변인

 

원래 하고 싶은 분석은 범주형 자료를 요인으로 갖는, 예를 들어 이원분산분석을 하고 싶은데 연속형 변수의 영향력을 배제하기 위하는 경우 이 때 연속형 변인을 공변인이라 합니다. 이와 같이 공변인을 넣은 회귀분석 모형을 공변량분석(ANCOVA)이라 합니다.

 

 

다음에는 이 이야기를 조금 더 하고 사회과학 논문에서 자주 하는 Baron & Kenny(1986)의 조절효과와 이원분산분석의 상호작용효과에 대해서 비교해서 설명하겠습니다.  그리고 통제변인을 이용한 교묘한 논문 조작에 대해 이야기해 보겠습니다.