더미코딩
범주형 변수는 기울기를 곱할 수 없습니다. 그래서 회귀분석에서 범주형 변수를 독립변수로 투입할 때는 연속 변수로 변환하여 모형에 투입하게 됩니다. 이렇게 변환하는 방법에는 여러 가지가 있으나, 가장 많이 사용하는 것은 더미 코딩(dummy coding)이라는 방법입니다.
범주형 변수에 범주가 k개 있을 경우 k-1개의 더미 변수를 대신 투입합니다. 이때 범주 중에 하나를 기준(reference)으로 지정합니다. 기본적으로 ABC 순으로 먼저 나오는 것이 기준입니다(변경할 수도 있음). 기준를 제외한 범주들은 범주별로 더미 변수를 하나씩 가집니다.
범주가 2개인 경우
중고차 데이터에서 model
변수에는 Avante
와 K3
두 가지 범주가 있습니다. ABC 순으로 Avante
가 먼저이므로 이를 기준 범주로 지정하고, 나머지 K3
에 해당하는 더미변수 model[T.K3]
를 모형에 투입합니다. 이때 더미변수는 다음과 같이 변환됩니다.
model | model[T.K3] |
---|---|
Avante | 0 |
K3 | 1 |
간단히 생각하면 0 = No, 1 = Yes로 이해하면 됩니다.
m = ols('price ~ model', df).fit()
m.summary()
m = lm(price ~ model, df)
summary(m)
회귀분석을 실시하면 절편은 833, 기울기는 80이 됩니다. Avante
의 경우 가격 예측치는 $833 + 80 \times 0 = 833$만원이 됩니다. 그리고 K3
의 경우에는 $833 + 80 \times 1 = 913$만원이 됩니다. 따라서 절편 833만원은 기준 범주인 Avante
의 가격 예측치가 되고, 기울기 80만원은 K3
의 예측치와 기준인 Avante
의 예측치의 차이가 됩니다.
Question
범주형 변수 pet
을 회귀분석에 투입하려고 합니다. pet
에는 dog
와 cat
, 두 종류의 범주가 있습니다. 이때 더미코딩을 한다면 기준범주는 무엇이 됩니까?
- dog
- cat
- 알 수 없음
위의 경우 회귀분석에 실제 투입되는 더미 변수는 모두 몇 개입니까?
- 0개
- 1개
- 2개
- 3개
위의 경우 회귀분석에서 다른 독립변수가 없을 때 절편(intercept)은 무엇을 의미합니까?
- dog의 예측값
- cat의 예측값
- dog의 예측값과 cat의 예측값의 차이
위의 경우 회귀분석에서 다른 독립변수가 없을 때 더미변수의 기울기는 무엇을 의미합니까?
- dog의 예측값
- cat의 예측값
- dog의 예측값과 cat의 예측값의 차이
Question
안전도 데이터를 다운받아 risk
를 종속변수로,
fuel
를 독립변수로 회귀분석을 해보세요.
(01) fuel
의 범주는 모두 몇 개입니까?
(02) fuel
의 더미변수는 모두 몇 개입니까?
(03) 기준이 되는 범주는 무엇입니까?
(04) diesel은 gasolin에 비해 모집단에서 위험도가 어떻습니까? (유의수준 5%)
- gas가 diesel보다 낮다
- gas가 diesel보다 높다
- gas와 diesel의 위험도는 같다z
- 결론 내릴 수 없다
범주가 3개 이상인 경우
TRT
변수에는 A
, B
, C
세 가지 범주가 있습니다. ABC 순으로 A
가 제일 먼저이므로 기준 범주로 설정합니다. 그리고 B
와 C
에 해당하는 더미변수 TRT[T.B]
와 TRT[T.C]
를 추가합니다.
TRT | TRT[T.B] | TRT[T.C] |
---|---|---|
A | 0 | 0 |
B | 1 | 0 |
C | 0 | 1 |
A
의 경우 B
도 C
도 아니므로 더미변수 TRT[T.B]
와 TRT[T.C]
는 모두 0
이 됩니다. B
의 경우에는 TRT[T.B]
가 1이 되고, C
의 경우에는 TRT[T.C]
가 1이 됩니다.
따라서 절편은 A
의 예측치, TRT[T.B]
의 기울기는 B
와 A
의 차이, TRT[T.C]
의 기울기는 C
와 A
의 차이가 됩니다.
dp = pd.read_excel('depression.xlsx')
m = ols('y ~ TRT', dp).fit()
m.summary()
dp = readxl.read_excel('depression.xlsx')
m = lm(y ~ TRT, dp)
summary(m)
Question
범주형 변수 lunch
를 회귀분석에 투입하려고 합니다. lunch
에는 rice
와 bread
, noodle
세 종류의 범주가 있습니다. 이때 더미코딩을 한다면 기준범주는 무엇이 됩니까?
- rice
- bread
- noodle
- 알 수 없음
위의 경우 회귀분석에 실제 투입되는 더미 변수는 모두 몇 개입니까?
- 0개
- 1개
- 2개
- 3개
위의 경우 회귀분석에서 다른 독립변수가 없을 때 절편(intercept)은 무엇을 의미합니까?
- rice의 예측값
- bread의 예측값
- noodle의 예측값
위의 경우 회귀분석에서 다른 독립변수가 없을 때 rice에 해당하는 더미변수의 기울기는 무엇을 의미합니까?
- rice의 예측값
- 기준범주와 rice의 예측값 차이
Question
안전도 데이터를 다운받아 risk
를 종속변수로,
wheels
를 독립변수로 회귀분석을 해보세요.
(01) wheels
의 범주는 모두 몇 개입니까?
(02) wheels
의 더미변수는 모두 몇 개입니까?
(03) 기준이 되는 범주는 무엇입니까?
(04) fwd은 4wd에 비해 모집단에서 위험도가 어떻습니까? (유의수준 5%)
- fwd가 낮다
- fwd가 높다
- 결론을 유보한다
- 알 수 없다
(05) rwd은 4wd에 비해 모집단에서 위험도가 어떻습니까? (유의수준 5%)
- rwd가 낮다
- rwd가 높다
- 결론을 유보한다
- 알 수 없다
(05) fwd은 rwd에 비해 모집단에서 위험도가 어떻습니까? (유의수준 5%)
- fwd가 낮다
- fwd가 높다
- 결론을 유보한다
- 알 수 없다
Question
냥이, 멍뭉, 토깽 3개의 범주를 가지는 반려동물 변수로 귀여움 종속변수를 예측하는 회귀분석을 하였다고 할 때 설명으로 잘못된 것은?
- 독립변수에 반려동물을 대신해서 더미변수 "반려동물[T.멍뭉]"과 "반려동물[T.토깽]"이 추가될 것이다.
- 반려동물[T.멍뭉]은 반려동물이 멍뭉일 때 1이고, 이외에는 0일 것이다
- 반려동물[T.멍뭉]은 멍뭉의 귀여움을 나타낼 것이다
- 이 회귀분석의 절편은 냥이의 귀여움을 나타낼 것이다