가변수 회귀분석(Dummy Regression)

가변수 회귀분석(Dummy Variable Regression)은 범주형 변수를 회귀 분석에 포함하기 위해 가변수를 사용하는 기법입니다. 이 방법은 범주형 데이터를 수치형 데이터로 변환하여 회귀 모델에 포함할 수 있게 합니다.

\(\)

가변수(Dummy Variable)란?

가변수는 범주형 변수를 0과 1로 변환한 이진 변수입니다. 예를 들어, 성별 변수를 ‘남성’과 ‘여성’으로 구분할 때, ‘남성’은 1, ‘여성’은 0으로 코딩할 수 있습니다.

가변수 생성 방법

가변수를 생성하는 방법은 다음과 같습니다:

  1. 범주형 변수의 각 범주에 대해 새로운 변수를 생성합니다.
  2. 각 범주는 해당 범주에 속하면 1, 그렇지 않으면 0으로 코딩됩니다.
  3. \( k \)개의 범주를 가진 변수의 경우, \( k-1 \)개의 가변수를 생성하여 사용합니다. 이는 다중공선성 문제를 피하기 위해서입니다.

예시: 가변수 회귀분석

가변수를 사용하여 회귀분석을 수행하는 예시를 들어보겠습니다.

데이터셋

다음은 샘플 데이터셋입니다:

학생시험 점수성별
185남성
290여성
378여성
492남성
588여성

여기서 ‘성별’ 변수를 가변수로 변환하여 회귀분석에 포함하겠습니다.

가변수 생성

성별 변수를 가변수로 변환합니다:

학생시험 점수남성여성
18510
29001
37801
49210
58801

이제 여성 변수를 제외하고 남성 변수만 포함합니다(기준 범주로 설정):

학생시험 점수남성
1851
2900
3780
4921
5880

회귀분석 수행

이제 회귀분석 모델을 만들 수 있습니다:

\[ \text{시험 점수} = \beta_0 + \beta_1 \times \text{남성} + \epsilon \]

여기서:

  • \(\beta_0\): 여성의 평균 시험 점수
  • \(\beta_1\): 남성의 평균 시험 점수와 여성의 평균 시험 점수의 차이

파이썬 코드 예제

다음은 파이썬을 사용한 가변수 회귀분석의 예제입니다:

import pandas as pd
import statsmodels.api as sm

# 데이터 생성
data = {
    '학생': [1, 2, 3, 4, 5],
    '시험 점수': [85, 90, 78, 92, 88],
    '성별': ['남성', '여성', '여성', '남성', '여성']
}

df = pd.DataFrame(data)

# 가변수 생성
df = pd.get_dummies(df, columns=['성별'], drop_first=True)

# 독립 변수와 종속 변수 설정
X = df[['성별_남성']]
y = df['시험 점수']

# 상수항 추가
X = sm.add_constant(X)

# 회귀모델 적합
model = sm.OLS(y, X).fit()

# 결과 출력
print(model.summary())

이 예제는 범주형 변수(성별)를 가변수로 변환하고, 이를 사용하여 회귀 모델을 구축하는 과정을 보여줍니다. 회귀 모델의 결과는 성별이 시험 점수에 미치는 영향을 평가하는 데 사용할 수 있습니다.

예제 2

위 그림은 가변수 회귀분석 결과를 시각화한 것입니다.

  • 데이터 포인트: 남성(빨간색)과 여성(파란색)의 시험 점수를 표시합니다.
  • 회귀선: 검은 점선은 남성 여부에 따라 예측된 시험 점수를 나타냅니다. 남성(1)일 때와 여성(0)일 때의 차이를 보여줍니다.

회귀분석 결과에서 상수항\((\beta_0)\)는 여성의 평균 시험 점수를 나타내며, 남성 변수의 계수\((\beta_1)\)는 남성의 평균 시험 점수와 여성의 평균 시험 점수의 차이를 나타냅니다. 이 경우, 남성의 시험 점수는 여성보다 평균적으로 약간 더 높은 것으로 나타났습니다.