본문 바로가기
수학&통계학/회귀분석

가변수를 이용한 회귀분석

by Alan_Kim 2023. 4. 7.
728x90
반응형

 

가변수란?

가변수(Dummy variable, 假變數)란 독립변수를 0과 1로 변환한 변수를 의미한다. (위키백과)

 

대부분 회귀분석을 할 때 설명변수(독립변수)들이 양적 변수로 주어진 경우가 많았으나 질적변수로 주어지는 경우에도 회귀분석이 적용될 수 있다.

이를 테면 성별, 학년, 원료, 핸드폰 통신사 등 자료가 속하는 범주(category)들을 나타내는 값을 갖는 변수들이 질적변수들의 예인데 이들 변수에 있어서는 평균 등의 측도가 의미가 없으므로 결과의 해석에 주의가 필요하며, 질적변수의 특성에 따른 해석이 요구된다.

 

예로 영화의 영화 배급사가 'A' 또는 'B'라고 가정하자. 이 배급사의 효과를 함께 분석하려면 배급사를 나타내는 설명변수를 정의하여 회귀분석에 포함시키면 된다.

 

하나의 가변수가 있는 경우

변수 Z를 다음과 같이 정의하자.

  • Z = 1 : 배급사가 A인 경우
  • Z = 0 : 배급사가 B인 경우

변수 Z를 포함한 다음의 회귀모형을 생각할 수 있다.

$$ Z = \beta_{0} + \beta_{1}X + \beta_{2}Z + \epsilon $$

 

위에서 정의된 변수 Z와 같이 오직 두 가지 값만을 갖는 변수를 가변수(dummy variable) 또는 지시변수 (indicator variable)이라고 부른다.

 

  • 영화 배급사가 A일 때 수익 (Z = 0) : E[Y] = $\beta_{0} + \beta_{1}X$
  • 영화 배급사가 B일 때 수익 (Z=0) : E[Y] = $( \beta_{0} + \beta_{2} ) + \beta_{1}X$

 

하지만 카테고리 분류가 꼭 A 아니면 B 이렇게 되는 경우는 많지 않다. 3개 4개 등 더 많은 경우가 있을 수 있다.

일반적으로 가변수를 사용하는 기본 원칙은 범주의 개수가 c개일 때 c-1개의 가변수를 정의하여 모형에 포함시킨다는 것이다.

 

예를 들어, 영화 배급사가 A, B, C, D 가 있다고 하자.

다음과 같이 3개의 가변수를 정의하여 사용한다.

 

  • $Z_{1}$ = 1 if 영화 배급사가 A인 경우 / 0 else 영화 배급사가 A가 아닌경우
  • $Z_{2}$ = 1 if 영화 배급사가 B인 경우 / 0 else 영화 배급사가 B가 아닌경우
  • $Z_{3}$ = 1 if 영화 배급사가 C인 경우 / 0 else 영화 배급사가 C가 아닌경우

※ 영화 배급사가 D인 경우 $Z_{1} = Z_{2} = Z_{3} = 0 $을 의미한다.

 

가변수는 편의상 0과 1 또는 -1과 1을 보통 사용한다.

가변수가 갖는 값이 달라지면 회귀계수의 추정값도 달라지나 검정통계량 등 다른 추론 통계량들의 값은 변하지 않는다.

 

 

파이썬(python) 코드 구현

파이썬으로 데이터를 가지고 가변수 코드를 만들 수 있다.

판다스에 get_dummies 함수를 가지고 만들 수 있다.

 

(1) 데이터 가져오기

https://dacon.io/competitions/official/235536/data

(2) 더미 변수 함수 만들기

(3) 위의 더미함수에서 한가지 변수 삭제

4가지 범주 모두 가변수로 변환되었다는 것을 알 수 있다.

 

참고로 df, table, show 모두 같은 데이터프레임이다. (계속 변수변환을 했다...)

참고하고 잘 활용하면 좋은 예측모형 만드는데 도움이 될 것이다.

728x90
반응형

'수학&통계학 > 회귀분석' 카테고리의 다른 글

표준화 잔차 (standarized residual)  (0) 2023.04.06
최소제곱법은 왜 쓸까?  (0) 2022.11.05
오차항(error) vs 잔차(residual)  (0) 2022.11.05
회귀분석은 무엇일까?  (0) 2022.11.05

댓글