Always awake,

도구 변수(IV) 본문

인과추론(Causal Inference)

도구 변수(IV)

호재 P.B 2021. 7. 20. 21:27

본 포스팅은 도구변수에 대해 공부한 내용을 정리한 글입니다 :)

  • 참고 서적 : Joshua D. Angrist, Jorn-Steffen Pischke. (2018). 고수들의 계량경제학. 시그마프레스. p.98 ~ p.144

들어가며

일전에 causal diagram(인과 다이어그램)에서 backdoor adjustment를 통해 변수를 통제하여 인과 효과를 추론하는 방법을 설명드렸습니다. (해당 내용은 아래 링크를 참고해주시면 감사하겠습니다)

 

backdoor adjustment

"observational data에서 causal estimand를 추론하는 방법 중 하나인 backdoor adjustment를 정리하였습니다 :)" 모든 자료 및 그림의 출처는 아래 youtube 강의의 Chapter 4입니다. Brady Neal - Causal Inferen..

everyday-tech.tistory.com

 

하지만, 해당 방법에는 한계가 존재합니다.

  • Causal Diagram 자체가 맞는지 확인할 방법이 없다(각 노드끼리 영향을 미치는지, 미친다면 어떤 방향으로 영향을 미치는지)
  • 해당 분야를 매우 잘 아는 도메인 전문가가 Causal Diagram을 그렸다고 할지라도 누락 변수가 존재할 수 있다
  • 통제한 변수가 사실 backdoor path 중 collider 일 수도 있다(M-bias)

즉, 이러한 이유로 Causal Diagram을 이용하여 추정한 인과 효과를 완벽히 신뢰하기가 어렵습니다.

그렇다면 어떻게 해야할까요?

 

RCT를 모방할 수 있는 방법은 없을까

인과 추론에서 가장 중요한 것은 비교 대상끼리 처치를 제외한 모든 조건을 평균적으로 동일하게 맞추어야 한다는 것입니다.

객체의 자기 선택이 작용되지 않아야 합니다. 

 

가장 좋은 방법은 실험 대상자에게 처치를 임의로 할당하는 RCT(Randomized Control Trials)로 실험 설계한 후 얻은 데이터로 인과 추론을 하는 것입니다.

이렇게 하면 외부 영향으로 인한 처치의 선택(자기 선택)이 제거되기 때문에 실험군, 대조군 간의 처치를 제외한 모든 조건이 랜덤하게 분포하게 됩니다.

즉, 두 집단 간 처치를 제외한 모든 조건이 평균적으로 동일하게 되는 것이지요.

(이것은 일전에 설명드린 A/B Test, Intervention과 유사한 개념입니다)

 

하지만, 우리는 RCT를 통해 생성된 데이터가 아닌, 관찰된 데이터로 분석을 해야하는 상황입니다.

이미 객체의 선택 편향이 반영된 데이터로 분석을 해야하는 것이지요.

이럴 때 RCT와 유사한 방법을 적용할 수 없는 것일까요?


도구 변수(Instrumental Variable)

여기서 도구 변수가 등장하게 됩니다. 

도구 변수란, 원인 변수와는 상관성이 매우 높으면서 다른 변수와는 상관성이 매우 낮은(독립적인) 변수를 의미합니다. 

 

우리가 사용하고자 하는 원인 변수는 외부 변수와 상관성이 매우 높아서 선택 편향이 발생하였습니다.

하지만, 도구 변수는 원인 변수 이외에 다른 변수와는 상관성이 매우 낮기 때문에 이를 이용하면 선택 편향을 제거할 수 있다 것이 핵심입니다!

 

도구 변수는 Causal Diagram에서 표현하면 다음과 같습니다.

 

도구 변수

그리고 세 가지 조건을 만족해야합니다. 

  • 도구 변수$Z$는 원인 변수 $T$와 상관성이 매우 높다.
  • (독립성 가정) 도구 변수$Z$는 무작위 배정과 마찬가지로 배정된다. 즉, 누락 변수들과 상관이 없다 
  • (배제 제약) 도구 변수 $Z$는 오직 원인 변수 $T$를 통해서만 결과 변수 $Y$에 영향을 미친다.
    • $Z$가 $Y$에 영향을 미칠 수 있는 유일한 경로는 $T$를 통해서이다.

도구 변수의 값이 무작위 배정와 유사하게 생성되기 때문에 외부 영향에 의한 편의를 제거할 수 있습니다. 또한, 원인 변수와 상관성이 높기 때문에 원인 변수가 결과 변수에 미치는 영향을 잘 포착할 수 있는 것이지요.

 

자기 선택 등의 문제로 인해 원인 변수와 결과 변수를 직접 비교하는 방법을 사용하지 않고,

도구 변수를 이용하여 간접적으로 영향을 확인하는 방법을 사용합니다.  

2SLS(Two Stage Least Square)

도구 변수를 이용하여 간접적으로 인과 효과(Second Stage; $T$가 $Y$에 미치는 영향)를 추정하는 방법에 대해 알아보겠습니다.

First Stage와 Reduced Form을 이용하여 Second Stage(인과 효과)를 계산하게 됩니다. 

저는 딥러닝에서 chain rule에 의해 gradient를 계산하는 것과 유사한 느낌이 들어 conceptual하게 이해했습니다.

 

여기서 도구 변수$Z$와 원인 변수$T$ 모두 dummy 변수라고 가정하겠습니다 (0 or 1)

  • (First Stage) $Z$가 $T$에 미치는 영향을 추정
    • $T_i = \alpha_1 + \phi Z_i + \epsilon_{1i}$
    • $E[T_i | Z_i = 1] - E[T_i | Z_i = 0] = \phi$
  • (Reduced Form) $Z$가 $Y$에 미치는 영향을 추정
    • $Y_i = \alpha_0 + \rho Z_i + \epsilon_{0i}$
    • $E[Y_i | Z_i = 1] - E[Y_i | Z_i = 0] = \rho$

First Stage의 예측치($\hat{T_i}$)는 $\hat{T_i} = \alpha_1 + \phi Z_i$ 로 표현되고

이 예측치를 결과 변수$Y_i$에 회귀한 회귀 계수가 Second Stage에서 $T$가 $Y$에 미치는 인과 효과가 됩니다.

($\lambda_{2SLS}$로 표현합니다)

  • $Y_i = \alpha_2 + \lambda_{2SLS} \hat{T_i} + \epsilon_{2i}$

그리고 $\lambda_{2SLS}$는 아래와 같이 계산할 수 있습니다.

$\lambda_{2SLS} = \large\frac{\rho}{\phi} = \large\frac{E[Y_i | Z_i = 1] - E[Y_i | Z_i = 0]}{E[T_i | Z_i = 1] - E[T_i | Z_i = 0]}$

 

(Second Stage의 $T_i$의 회귀 계수) = (Reduced Form의 $Z_i$의 회귀 계수 / First Stage의 $Z_i$의 회귀 계수)

($T$가 $Y$에 미치는 영향) = ($Z$가 $Y$에 미치는 영향 / $Z$가 $T$에 미치는 영향) ← chain rule이 생각나지 않나요??

 

$\lambda_{2SLS} = \large\frac{\rho}{\phi}$ 증명 

OLS 추정치에 의해 위의 회귀 식에서 $\lambda_{2SLS}$는 아래와 같이 계산할 수 있습니다.

$\lambda_{2SLS} = \large\frac{Cov(Y_i, \hat{T_i})}{Var(\hat{T_i})}$

그리고, $\hat{T_i} = \alpha_1 + \phi Z_i$ 이므로 이를 대입하면

 

$\lambda_{2SLS} = \large\frac{Cov(Y_i, \hat{T_i})}{Var(\hat{T_i})} = \large\frac{Cov(Y_i,\alpha_1 + \phi Z_i)}{Var(\alpha_1 + \phi Z_i)} = \large\frac{\phi Cov(Y_i,Z_i)}{\phi^2  Var(Z_i)} = \frac{1}{\phi} \large\frac{Cov(Y_i, Z_i)}{Var(Z_i)}$

 

여기서 $\large\frac{Cov(Y_i, Z_i)}{Var(Z_i)}$는 $Z_i$를 $Y_i$에 회귀한 회귀 계수를 의미하고,

이는 Reduced Form에서 $Z_i$의 회귀 계수에 해당하므로 $\rho$ 입니다. ($\large\frac{Cov(Y_i, Z_i)}{Var(Z_i)} = \normalsize\rho$)

 

따라서, 최종 정리하면 아래와 같이 증명이 완료됩니다!

$\large\lambda_{2SLS} = \Large\frac{\rho}{\phi}$

 


마치며

실제로 원인 변수와 상관성이 매우 높고, 무작위로 배정되는 도구 변수는 찾기 어려운 것 같습니다 ㅠ

하지만, 만약 좋은 도구 변수를 찾을 수 있다면 인과 분석 시 적극 사용할 생각입니다.

RCT와 유사한 효과를 낼 수 있다고 생각하기 때문입니다.

 

본 포스팅에서 잘못된 부분이나 궁금하신 부분이 있다면 댓글 남겨주시면 감사하겠습니다.

긴 글 읽어주셔서 감사합니다 :D

 

 

글이 도움이 되셨다면 아래 클릭 한번 부탁드립니다 :)

반응형

'인과추론(Causal Inference)' 카테고리의 다른 글

이중차분법(DID)  (0) 2021.10.02
도구 변수(IV) 예제  (0) 2021.08.26
누락 편의(OVB) 예제  (3) 2021.07.20
누락 편의(OVB)  (0) 2021.07.17
[인과 추론 발표] 2021 Summer Session On Causal Inference  (0) 2021.07.16