표와 그래프(6): 더미변수 만들기

연구자가 단일 변수에 대해 분석하는 경우 측정 수준에 따라 표와 그래프 접근을 구분해 사용하는 데 혼란이 일어날 일은 거의 없다. 범주형 변수(categorical variable)에는 표를 사용하고 수치형 변수(numerical variable)에는 그래프를 사용하면 된다.

혼란은 두 개 이상의 변수들 사이에 존재하는 관계를 분석하는 경우에서 발생한다. 그 경우도 변수들의 측정 수준이 모두 같으면 단일 변수의 경우처럼 표와 그래프 접근을 분별해 사용하면 될 것이다. 하지만 독립변수(예측변수)와 종속변수(반응변수)의 측정 수준이 다르면 어떻게 해야 할까? 특히 독립변수가 여러 개이고 그것들의 측정 수준이 다양하다면 어떻게 해야 할까?

예컨대 종속변수가 범주형 변수인데, 독립변수들이 수치형 변수인 경우도 있을 것이고, 종속변수가 범주형인데, 독립변수들이 범주형과 수치형이 섞여 있는 경우도 있을 것이며, 반대로 종속변수가 수치형인데, 독립변수들이 범주형이거나 범주형과 수치형이 섞여 있는 경우도 있을 것이다. 그럴 때는 표와 그래프 접근 중 어떤 쪽을 선택해야 할까?

연구자가 표 접근을 선호한다면, 모든 변수를 범주형으로 변환해서 교차표 분석을 하고자 할 것이다. 수치형 변수를 범주형 변수로 변환하면 데이터에 담긴 정보를 잃게 됨을 피할 수 없다. 만약 그 정보 상실이 심각한 문제라고 판단되지 않는다면 교차표 접근을 취하고 카이자승을 사용한 독립성 검정을 하거나 로그 선형 모형을 적용하여 변수들의 관계를 분석하면 될 것이다.

수치형 변수를 범주형으로 변환하는 작업은 몇 개의 범주로 나누는 것이 가장 이상적인가는 늘 논란의 여지가 있지만 기술적으로는 매우 간단하다. 엑셀의 피벗테이블에서 그룹 기능을 사용하면 손쉽게 원하는 수만큼의 범주를 생성할 수 있다. 그다음에는 교차표 칸들의 빈도가 어떤가를 눈으로 보면서 적절한 갯수의 범주를 찾아갈 수 있을 것이다. 여기서는 이에 대한 설명은 생략한다. 그에 대해 관심이 있는 독자는 본인의 게시글 중 “어떻게 하면 교차표를 잘 만들 수 있나?”를 참조하기 바란다.

연구자가 그래프 접근을 선호한다면, 상관계수나 회귀모형을 적용하게 될 것이다. 그 경우는 범주형 변수를 모두 수치형 변수로 변환해야 한다. 그 변환을 통해서 각 변수에 대해 의미 있는 평균을 얻을 수 있다면 각 분석 기법의 전제조건(가정)을 크게 위반하지 않는 범위 내에서 그래프 접근이 사용될 수 있다.

범주형을 수치형으로 바꾸는 방법은 더미변환(dummy transformation)이다. 즉, 기존의 범주형 변수로부터 더미변수(어떤 학자들은 그것을 가변수 혹은 모의변수라고 부른다)를 생성하는 것이다.

더미변수 생성에는 반드시 세 가지 점에 유념해야 한다. 첫째, 범주에 대해 0과 1의 수치를 부여한다. 둘째, 범주 수보다 하나 적은 갯수만큼의 변수를 생성한다. 셋째, 더미변수(들)에 대해 적절한 변수명을 붙인다. 사례를 가지고 더미변수를 만들면서 공부해보자.

먼저 가장 간단한 이진변수(binary variable)의 경우를 보자. 설문조사 데이터라면, 성별에 관한 문항 혹은 응답범주가 예/아니오만 있는 문항이 여기에 해당된다. 설문조사에서 성별은 대체로 남자와 여자를 1과 2로 코딩되어 있다. 대체로 여성에게 1, 남성에게 2가 부여되거나 그 반대이다. 예/아니오의 응답도 마찬가지이다. 원래 데이터 파일에 어떻게 코딩이 되어 있든지 더미변수가 되기 위해서는 코딩이 0과 1로 변환되어야 한다. 

만약 성별이라는 변수가 여성은 1, 남성은 2로 코딩되어 있다면, 연구자는 그것으로부터 여성이라는 새 더미변수를 만들 수 있을 것이다. 새 더미변수 여성은 여성 1, 남성 0이라는 새 코드를 갖는다. 새 더미변수가 남성일 수도 있을 것이다. 그 경우 여성 0, 남성 1의 코드를 갖게 한다. 성별의 범주는 여성과 남성 두 개이지만 그것으로부터 생성된 더미변수는 반드시 여성이거나 남성 하나 뿐이어야 한다.

더미변환 표를 사용하면 도움이 된다. 더미변환 표에서는 행에 원래 변수의 범주를 두고, 열에 새 더미변수를 둔다. 아래 표에는 성별이라는 변수로부터 여성이라는 더미변수를 생성했다.

성별여성
여성(1)1
남성(2)0

만약 새 더미변수의 이름을 그냥 원래 변수 이름 그대로 성별이라고 한다면 혼란이 야기될 수도 있다. 우선 성별 1 혹은 성별 0이라는 범주가 의미를 지닐 수 없다. 더구나 새 더미변수의 평균을 계산했는 데 0.6이 나왔다면 이미 기호적 혼란이 발생한다. 뿐만 아니라 나중에 어떤 범주를 1로 두었고, 어떤 범주를 0으로 두었는지를 기억할 수 없다는 문제도 있다.

새 더미변수의 이름을 여성으로 하고 여성에게 1을, 남성에게 0을 부여하면 의미의 혼란을 피할 수 있다(변수명을 남성으로 하고 반대로 코딩해도 그렇다). 약간 억지가 들어간 주장이기는 하지만 여성성이 여성에게는 있고(1), 남성에게는 없다(0)는 의미를 지닐 수 있으며, 여성의 평균이 0.6이라면 전체 사례(혹은 응답자)의 60%가 여성이라는 의미를 갖는다. 

또한 성별 변수의 범주는 두 개이지만, 더미변수는 그보다 하나 적은 한 개만 생성해야 한다. 만약 여성과 남성이라는 두 개의 더미변수를 생성해서 회귀모형에 포함시킨다면, 두 변수 사이의 상관관계가 너무 높아 앞 게시글에서 설명한 다중공선성의 문제가 발생하게 된다. 이 문제를 어떤 학자들은 더미변수의 함정이라고 한다. 그렇게 무시무시한(?) 이름을 붙인 것은 그 점을 반드시 기억해서 피해야 함을 강조하기 위해서이리라.

image

이번에는 범주가 여러 개인 학력의 경우를 보자. 원 데이터파일에 학력이 다음과 같이 범주화되어 있다고 하자.

학력: 고졸 미만, 고졸, 대졸, 대학원 졸업

이 변수는 아래와 같이 더미변환할 수 있다.

고졸미만: 고졸미만(less than high school) 1, 기타(otherwise) 0

고졸: 고졸(high school diploma) 1, 기타(otherwise) 0

대졸: 대졸(college degree) 1, 기타(otherwise) 0

대학원졸업: 대학원졸업(postgraduate degree) 1, 기타(otherwise) 0

앞 부분에 볼드체로 된 용어가 새 변수명이다. 이렇게 네 종류의 더미변수가 생성될 수 있다. 그러나 실제로 회귀모형에는 반드시 이중 3개만 포함되어야 한다. 어떤 세 개인가는 연구자의 선택에 달려 있다. 회귀모형에서는 제외된 범주(더미변수)가 비교의 기준이다(그래서 그것을 참조 범주, reference category라고 부른다). 회귀모형에 포함된 더미변수의 회귀계수는 해당 더미변수(범주)와 제외된 범주(참조 범주) 사이의 비교한다. 만약 위 학력 변수에서 대졸을 참조 범주로 선택하여 회귀모형에서 제외한다면, 회귀계수들은 대졸과 고졸미만, 대졸과 고졸, 대졸과 대학원졸업의 사례들을 비교한 값이 될 것이다. 대졸은 고졸미만 더미변수에서도 0, 고졸 더미변수에서도 0, 그리고 대학원졸업 더미변수에서도 0이다. 즉, 회귀모형에 포함된 세 더미변수(범주)에서 모두 0의 값을 갖기 때문이다(아래 표 참조).

학력고졸미만고졸대학원졸
고졸미만(1)100
고졸(2)010
대졸(3)000
대학원 졸업(4)001

어떤 범주를 참조 범주로 택할 것인가는 근본적으로 연구자의 선택에 달려 있다. 그것이 별로 큰 문제가 아니라는 말이다. 그러나 경험상 두 가지 기준을 적용하면 도움이 된다.

첫째, 가장(혹은 상대적으로) 일반적인 범주를 참조범주로 선택한다. 예컨대 빈곤이라는 변수에서 빈곤층과 비곤층을 비교한다면, 빈곤층을 참조범주로 택하라는 말이다. 대체로 빈곤층이 일반적이기 때문이다. 혼인상태라는 변수는 대체로 결혼, 미혼, 이혼, 사별 등을 범주를 가질텐데, 이중 결혼이라는 범주가 가장 일반적이기 때문에 그것을 참조범주로 택한다. 아래 그림에서 인종/피부색이라는 변수를 더미변수로 만들었는데 백인/유럽계(white/European-American)가 참조범주로 선택되어 회귀모형에서 제외되었다.

dummy variable에 대한 이미지 검색결과

둘째, 가장 흔한(사례수가 가장 많은) 범주를 참조범주로 선택한다. 사실 일반적인 범주가 흔한 범주인 경우가 많겠지만 꼭 그렇지는 않을 것이다. 그리고 일반적인 범주가 어떤 것인지 분명치 않을 때도 있다. 분석 대상에서 대학졸업자가 다수인 경우 대졸을 참조범주로 택한다. 만약 고졸미만이 아주 작은 비율인데도, 그것을 참조범주로 택할 경우 회귀계수 값이 문제가 될 수도 있다. 분모가 0에 가깝다고 상상해보라.

이제 더미변수가 포함된 다중회귀모형의 사례를 보자.

미국의 경제 잡지 Fortune은 매년 일하기 좋은 100대 기업의 목록을 공개한다. 링크된 엑셀 파일 FortuneBest.xlsx는 2012년도 상위 100개 기업들 중 무작위 표본 30개의 자료를 담고 있다(재인용). 데이터셋은 순위, 기업, 크기, 정직원 연봉(단위: $1,000), 시간제 직원 연봉(단위 $1,000)라는 네 개의 필드로 구성되어 있다. 순위는 기업들의 순위이고, 기업은 기업명이다. 그리고 크기는 그 기업의 크기를 소기업, 중견기업, 대기업으로 나타내고, 정직원 연봉은 정규직 직원들의 평균 연봉을, 시간제직원 연봉은 비정규직 직원들의 평균 연봉을 말한다. Fortune은 10,000 명 이상의 직원이 근무하면 대기업, 2,500에서 10,000 명 사이의 직원이 근무하면 중견기업, 그리고 2,500 명 이하의 직원이 근무하면 소기업으로 정의한다.

a. 이 자료를 이용하여 비정규직의 평균 연봉이 주어졌을 때 정규직의 평균 연봉을 예측할 수 있는 추정회귀식을 구하시오.

b. 을 사용하여 통계적 유의성을 검증하시오.

c. 기업의 크기가 주는 영향을 포함하기 위해서, 기업의 크기를 나타내는 더미변수를 생성하여 비정규직 평균 연봉(NRES)과 기업의 크기가 주어졌을 때 정규직의 평균 연봉(RES)을 예측할 수 있는 추정회귀식을 구하시오.

(해제)

a.

b. 모형의 유의성: F 검정의 p-값이 0.000525로서 회귀 모형이 통계적으로 유의미함. 회귀계수의 유의성: t 검정의 p-값이 0.000525로서 회귀계수가 통계적으로 유의미함.

c. 기업 크기는 대기업을 참조범주로 놓고, 중견기업과 소기업이라는 더미변수로 변환한다(아래 표 참조). 엑셀의 데이터셋에 소기업과 중견기업의 필드가 생성되어 있다.

기업 크기중견기업소기업
대기업00
중견기업10
소기업01

이제 비정규의 평균 연봉과 기업의 크기를 가지고 추정회귀식을 만들 수 있다. 회귀모형에 사용된 실제 독립변수는 비정규적의 평균 연봉(NRES), 소기업(Small Firm, SM), 중견기업(Mid-size Firm, MF)이다. 아래는 엑셀의 데이터분석 애드인에서 회귀분석 기능을 적용해서 나온 결과이다.

이 결과를 가지고 추정회귀식을 구성하면 다음과 같다. 중견기업의 회귀계수가 통계적으로 유의미하지 않음(회귀계수가 0이라는 의미)으로 추정회귀식에서 제외하였다.

분산분석표를 보면, F 검정의 p-값이 4.82E-05로 모형이 통계적으로 유의함을 보여준다. 맨 아래의 회귀모형 표를 보면, 더미변수 중견기업의 회귀계수는 통계적으로 유의미하지 않다(p-값이 0.801553). 비정규직 평균 연봉(시간제 직원 연봉)을 통제했을 때 대기업과 중견기업의 정규직 평균 연봉에는 차이가 없는 것으로 추정된다. 더미변수 소기업의 회귀계수는 34.40215이며, p-값이 0.002837로 통계적으로 유의미하다. 이는 비정규직 평균 연봉을 통제했을 때 소기업의 정규직 평균 연봉은 대기업의 정규직 평균 연봉보다 평균 3만4천4백불 정도 높다. 또한 예측변수 비정규직 평균 연봉(시간제 직원 연봉)의 회귀계수는 1.224045이며, p-값이 6.63E-05로 통계적으로 유의미하다. 이는 기업의 크기를 통제했을 때, Fortune Best 상위 100개 기업에서 비정규직의 평균 연봉이 1천 달러 올라가면, 정규직의 평균 연봉은 1천2백24불 정도 올라간다.

이상으로 더미변수를 생성하는 방법과 그것을 회귀모형에 사용하고 회귀분석 결과를 해석하는 방법을 공부했다. (2019-12-05)

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.