범주형 변수와 상호작용 항

Python으로 배우는 Generalized Linear Models

Ita Cirovic Donev

Data Science Consultant

범주형 변수

  • 단순 이진 변수
    • Yes, No
  • 명목형 변수
    • 색상: red, green, blue
  • 서열형 변수
    • 교육 수준: Education1, Education2,...,Education4
Python으로 배우는 Generalized Linear Models

공분산 분석

  • 설명 변수

    • $x_1$: 범주형(이진)
    • $x_2$: 연속형
  • 로지스틱 모형 $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 $$

Python으로 배우는 Generalized Linear Models

공분산 분석

  • 설명 변수
    • $x_1$: 범주형(이진)
    • $x_2$: 연속형
  • 로지스틱 모형 $$ \text{logit}(y=1|\color{red}{X})=\beta_0 + \beta_1\color{red}{x_1} + \beta_2\color{red}{x_2} $$
Python으로 배우는 Generalized Linear Models

공분산 분석

  • 설명 변수
    • $x_1$: 범주형(이진)
    • $x_2$: 연속형
  • 로지스틱 모형 $$ \text{logit}(y=1|X)=\beta_0 + \beta_1\color{red}{x_1} + \beta_2x_2 $$

  • $x_1=0$이면 $$ \text{logit}(y=1|\color{red}{x_1=0},x_2)=\beta_0 + \color{red}{0} + \beta_2x_2 $$

Python으로 배우는 Generalized Linear Models

공분산 분석

  • 설명 변수
    • $x_1$: 범주형(이진)
    • $x_2$: 연속형
  • 로지스틱 모형 $$ \text{logit}(y=1|X)=\beta_0 + \beta_1\color{red}{x_1} + \beta_2x_2 $$

  • $x_1=0$이면 $$ \text{logit}(y=1|x_1=0,x_2)=\beta_0 + 0 + \beta_2x_2 $$

  • $x_1 = 1$이면 $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=\beta_0 + \color{red}{\beta_1} + \beta_2x_2 $$ $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=(\beta_0 + \color{red}{\beta_1}) + \beta_2x_2 $$

Python으로 배우는 Generalized Linear Models

가정

상호작용이 없는 경우의 평행선 시각화.

Python으로 배우는 Generalized Linear Models

가정

상호작용이 없는 모형에서 절편 차이 강조.

Python으로 배우는 Generalized Linear Models

가정

상호작용 없음 모형

비평행선으로 인한 상호작용 모형.

Python으로 배우는 Generalized Linear Models

상호작용

  • 기울기가 다름 $\rightarrow$ 상호작용 존재
  • $x_1$의 효과가 $x_2$ 수준에 따라, 그 반대도 동일
  • 상호작용을 허용하는 로지스틱 모형 $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \color{red}{\beta_3x_1x_2} $$
Python으로 배우는 Generalized Linear Models

상호작용

  • 기울기가 다름 $\rightarrow$ 상호작용 존재
  • $x_1$의 효과가 $x_2$ 수준에 따라, 그 반대도 동일
  • 상호작용을 허용하는 로지스틱 모형 $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \beta_3x_1x_2 $$

  • $x_1=0$이면 $$ \text{logit}(y=1|\color{red}{x_1=0},x_2)=\beta_0 + \color{red}{0} + \beta_2x_2 + \color{red}{0} $$

Python으로 배우는 Generalized Linear Models

상호작용

  • 기울기가 다름 $\rightarrow$ 상호작용 존재
  • $x_1$의 효과가 $x_2$ 수준에 따라, 그 반대도 동일
  • 상호작용을 허용하는 로지스틱 모형 $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \beta_3x_1x_2 $$

  • $x_1=0$이면 $$ \text{logit}(y=1|x_1=0,x_2)=\beta_0 + \beta_2x_2 $$

  • $x_1 = 1$이면 $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=\beta_0 + \color{red}{\beta_1} + \beta_2x_2 + \color{red}{\beta_3}x_2 $$ $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=(\beta_0 + \color{red}{\beta_1}) + (\beta_2 + \color{red}{\beta_3})x_2 $$

Python으로 배우는 Generalized Linear Models

상호작용

  • 기울기가 다름 $\rightarrow$ 상호작용 존재
  • $x_1$의 효과가 $x_2$ 수준에 따라, 그 반대도 동일
  • 상호작용을 허용하는 로지스틱 모형 $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \beta_3x_1x_2 $$

  • $x_1=0$이면 $$ \text{logit}(y=1|x_1=0,x_2)=\color{red}{\beta_0} + \color{red}{\beta_2}x_2 $$

  • $x_1 = 1$이면 $$ \text{logit}(y=1|x_1=1,x_2)=\beta_0 + \beta_1 + \beta_2x_2 + \beta_3x_2 $$ $$ \text{logit}(y=1|x_1=1,x_2)=\color{red}{(\beta_0 + \beta_1)} + \color{red}{(\beta_2 + \beta_3)}x_2 $$

Python으로 배우는 Generalized Linear Models

상호작용 시각화

상호작용 항이 있는 모형의 표현(비평행선).

상호작용은 다음을 허용:

  • $x_1$에 대해 절편과 기울기 모두 다름
  • $\beta_1$: 두 절편의 차이
  • $\beta_3$: 두 기울기의 차이
Python으로 배우는 Generalized Linear Models

상호작용 유형

  • 이진 $\times$ 이진
  • 이진 $\times$ 범주형
  • 이진 $\times$ 연속형
  • 연속형 $\times$ 범주형
  • 연속형 $\times$ 연속형
  • 범주형 $\times$ 범주형
  • 2개 초과 변수의 상호작용
Python으로 배우는 Generalized Linear Models

연습해 봅시다!

Python으로 배우는 Generalized Linear Models

Preparing Video For Download...