본문 바로가기

Radiant

다중 회귀(2) - 범주형 변수

범주형 변수를 설명변수로 넣었을 경우 해석을 어떻게 해야 하는지 보자.

 

먼저 범주형 변수는 '더미 변수'로 표현되는데, 0과 1로 나타내어진다.

예를 들어, 품질 변수로 '좋음, 보통, 안 좋음' 세 가지가 있다면, 다음과 같이 표현할 수 있다.

     좋음: 1 0 0 

    보통: 0 1 0

안 좋음: 0 0 1

이렇게 0과 1로 보이는 각 변수를 '더미 변수'라고 하며 필요한 더미 변수의 개수는 (#수준 - 1)개이다.

위의 예시에서 필요한 더미 변수의 개수는 2개인 것이다.

 

아래의 예시에서 wholesaler_eff 가 더미 변수이다. 수준은 Poor, Fair, Good, Excellent 4 이다.

설명변수에서 해당 변수를 선택하고 모델을 돌리면 오른쪽에 3개의 더미변수가 생성된 것을 볼 수 있다.

나머지는 양적변수와 해석을 똑같이 하면 되지만 coefficient, 즉 계수는 해석을 조심해야 한다.

 

생성된 더미변수를 다시 보면, 수준이 Poor 인 변수가 없다는 것을 알 수 있다. 이 Poor 가 기준이 되는 것이다.

즉, wholesaler_eff 가 Fair 인 경우, Poor 이었을 때보다 18.479 만큼 sales 가 높다고 해석할 수 있다.

 

범주형 변수이기 때문에 한 단위 증가가 아니라는 점, 기준 수준을 기준으로 비교해서 해석해야 한다는 점을 조심하자!

 

만약 기준을 다른 수준으로 하고 싶다면 transform 에서 level 의 순서를 바꿔주면 된다.

 

예를 들어, 원래 Poor 가 level 의 제일 앞쪽에 있었던 것을, 

 

 

 

 

 

 

 

 

 

 

 

Poor 을 제일 뒤로 보내고 제일 앞에는 Fair 이 나오도록 한 다음,

회귀모델을 다시 돌려보면, 

 

Fair 이 사라진 것을 확인할 수 있다. 즉, Fair 을 기준으로 더미 변수가 만들어진 것이다. 당연히 변수의 계수도 바뀌므로 해석에 유의하자.

 

마지막으로 만약 Variables to test 에 범주형 변수를 넣으면, 자유도(df) = #수준 -1 이 된다.

자유도가 df(3, 34) 로 나오는 것 중 앞에 있는 '3' 이 #수준 - 1인 것이고, 

뒤에 있는 '34' = Nr obs - #coefficient = 40 - 6 이다. 이 때, 계수의 개수에는 Intercept 를 포함한다.

'Radiant' 카테고리의 다른 글