본문 바로가기

계량경제학/인과추론의 데이터과학

인과추론을 위한 회귀분석 - 변수 변환

https://theeffectbook.net/ch-StatisticalAdjustment.html?panelset=python-code 

 

Chapter 13 - Regression | The Effect

Chapter 13 - Regression | The Effect is a textbook that covers the basics and concepts of research design, especially as applied to causal inference from observational data.

theeffectbook.net

해당 내용은 위 사이트를 참고하여 작성했습니다. 


변수 변환

앞선 "인과추론을 위한 회귀분석 - Polynomials" 에서처럼 모델에 변수의 polynomial 항을 추가할 수도 있지만, 변수 자체를 변형시키는 방법도 있다.

  • $Y = \beta_0 + \beta_1X +\epsilon$
  • → $Y = \beta_0 + \beta_1\ln(X) + \epsilon$

변수 변환을 하는 이유 (1) - 변수에 회귀분석에 더 적합한 특성을 제공하기 위함

  • data가 right skewed 되어 있으면 이상치 관측값을 생성할 수 있음 → 회귀모델이 통계적으로 약해질 수 있음 → 큰 관측값을 다른 관측값에 더 가깝게 만들어주는 변수 변환

(우측) X에 로그 변환을 했을 때 outlier가 나머지 관측값에 더 가까워짐 → 회귀선의 모양이 이상치에 robust 해짐

  • 이 때, 우측 그래프에서 OLS fit w/ outlier의 기울기와 OLS fit \wo outlier의 기울기에 차이가 있는 것은 괜찮음 - 오기입된 데이터가 아니라면, 모든 데이터가 회귀선에 영향을 미쳐야 함

변수 변환을 하는 이유 (2) - 변수간 선형관계를 얻기 위함

  • X의 한단계 변화가 Y의 \beta_1 단위 증가와 관련 있어야 할 때 → 변수 변환 불필요
  • X의 한단위 변화과 Y의 백분율 단위 증가 (혹은 X의 백분율 단위 증가가 Y의 한단위 증가)와 관련있어야 할 때 → 변수 변환 필요

$Wealth = InitialWealthe^{(10InterestRate)}$

  • 현재의 재산을 이자율을 반영하여 10년전의 재산으로 구하고자 한다면 위의 식이 부합함
  • 하지만, InterestRate는 multiplicative 하기 때문에, OLS에 적합하기 위해서는 아래의 변수 변환으로 변수간 선형관계를 가지게 해야 함 (log 함수는 muliplicative 관계를 additive 관계로 바꿀 수 있기 때문)
  • $ln(Wealth) = ln(InitialWealth) + 10*InterestRate$

변수 변환 방법

(1) 로그 변환: $X$ → $log(X)$

  • 장점: 데이터가 right skewed 되어있을 때 outlier과 나머지 데이터 간 거리를 좁힐 수 있음
  • 한계: 데이터에 0이 포함된 경우는 계산 불가능

(2) $X$ → $\log(X+1)$

  • 장점: X에 0이 포함된 경우도 계산 가능
  • 한계: log 변환에서 기대했던 속성들이 사라질 수 있음

(3) 제곱근 변환: $X$ → $\sqrt{X}$

  • 장점
    • X에 0이 포함된 경우도 계산 가능
    • log 변환과 마찬가지로 데이터가 right skewed 되어있을 때 outlier과 나머지 데이터 간 거리를 좁힐 수 있음
  • 한계
    • 데이터간 거리를 좁히는 기능이 log에 비해서 약함
    • e.g. 4와 10000 사이 거리는 log 변환시 $\log 1000 / \log 4 = 6.6$배 차이이지만, 제곱근 변환시 $\sqrt{10000} / \sqrt{4} = 50$배 차이로 훨씬 크다.
    • X가 음수인 경우 계산 불가능

(4) asinh 변환 (역 쌍곡선 사인 변환): $X$ → $\ln(X+\sqrt{X^2+1})$

  • 장점
    • X에 0이 포함된 경우도 계산 가능
    • X가 음수인 경우도 계산 가능
    • 데이터간 거리를 좁히는 효과가 log와 비슷함 (e.x. 4와 1000 사이 거리가 약 3.63배 차이가 됨)
  • 단점
    • X와 Y 사이의 percentage 해석이 필요할 때는 이런 변수 변환 방법들보다 자연스럽게 0을 처리하는 방법이 나을 수 있음

(5) Winsorizing

  • 장점
    • 이상값을 처리하는 데 좋음
    • 중심에서 멀리 떨어진 값을 선택하여 중심으로 줄이는 방법
    • e.x. 상위, 하위 5%를 winsorizing 한다면, 하위 5% 값들을 백분위 95% 값으로 바꾸고, 상위 5% 값을 백분위 5% 값으로 대체함
  • 단점
    • skew or linearization을 고려하지 못함

(6) Standardization: $X$ → $(X - mean(X)) / sd(X)$

  • 장점
    • 모델 해석이 쉬움 (e.x. “X의 1단위 증가”보다 “X의 1표준편차만큼 증가”의 해석이 용이함 - X의 1단위 증가가 얼만큼 크거나 작은건지 파악하기 어려울 수 있기 때문)
  • 단점
    • skew, outliers, or linearization을 고려하지 못함

로그 변환이 포함된 회귀의 결과 해석

$Y = \beta_0 + \beta_1\ln(X) + \epsilon$

  • $\beta_1$의 해석: $ln(X)$이 한단계 증가할 때 Y의 변화량 → “$ln(X)$의 1단계 증가”의 의미가 모호함
  • $\beta_1$의 해석은 X의 비율 변화와 관련됨
    • $c + \ln(X) = \ln(e^c) + \ln(X) = \ln(e^cX)$