오늘은 도구변수(Instrumental Variable, 이하 IV)에 대해 써보려고 한다. 해당 기법은 Tricky해서 잘 쓰면 정말 신박한 결과를 얻을 수 있지만 동시에 사용하기 까다로운 방법이기도 하다. 그렇지만 적절한 변수를 잘 찾는다면 인과추론의 내생성 문제를 해결하는데 도움이 되는 방법이라 간략히 정리해보려고 한다.
- 대리변수(Proxy Variable)과 어떻게 다른지
- 도구변수의 기본 개념이 무엇인지
- 사용 시 주의점이 무엇인지
의 단계로 글을 작성할 것이다.
1. 대리변수는 무엇인가?
(사실 나만의 문제일 수 있지만...)도구변수가 주는 어감 때문에 대리변수와 헷갈릴 때가 있다. 마치 도구변수가 도라에몽의 도구같이 언제든 척척 꺼내쓰는 것처럼 느껴져서, 정량화하기 어려운 문제를 도구변수로 해결할 수 있다는 느낌을 받을 때가 많다.
그런데 사실 정량화하기 어려운 변수를 다른 변수로 대체하는 것은 도구변수가 아니라 대리변수(Proxy Variable)의 개념이다. 좀 더 정확하게 대리변수는 정량화하기 어려운 변수를 사용하고 싶을 때, 그와 유사한 성질을 갖고 측정이 가능한 변수를 찾아 대체하는 변수를 의미한다.
가령 어떤 사람의 능력을 측정하고 싶을 때, "IQ", "체력장 점수" 등을 어떤 사람의 사교성을 측정하고 싶을 때 "인스타그램 팔로워수", "전화번호부에 저장된 친구 수" 등을 사용할 수 있는 것과 같다.
대리변수 역시 회귀분석의 내생성 문제를 해결하는데 사용할 수 있다. 가령 소득을 예측한다고 할 때, 능력이라는 요소를 배제하고 소득을 예측한다고 생각해보자. 그러면 모델에 포함되지 않은 능력이라는 요소가 오차항에 계속 포함되어 버린다.
오차항은 운에 의해서 조금씩 변할 수도 있는 랜덤적인 부분만 담겨야 하는데, 운이 아닌 요소가 자꾸 섞여 있다고 하면 우리는 모형을 수정해야 한다는 것을 의미한다. 이 때 "능력"이라는 추상적인 요소에 대해 이를 대체할 수 있는 대리 변수를 포함시켜서, 어떻게든 오차항에는 최대한 운적인 요소만 남을 수 있도록 해야 한다.
가령, 교육연수에 따라 어떤 사람의 소득이 얼마나 변할지를 예측한다고 해보자. 이 때 능력이라는 변수는 교육연수와 소득 둘 다에 영향을 미칠 수도 있다. (능력이 좋을수록 대학원도 가고, 박사 과정도 밟고... 이렇게 간다고 가정해보자!)
이 때 능력이라는 변수를 제외하고 모형을 짜면, 다른 것은 다 통제해도 교육 연수에 영향을 주는 능력이라는 변수가 계속 오차항에 남아 영향을 주기 때문에 인과추론을 올바르게 할 수 없다. 만일 능력을 대체할 수 있는 적절한 대리변수를 찾아 모형에 포함시킨다면 오차항에는 운적인 요소만 남게 되어 교육연수가 소득에 미치는 영향을 측정할 수 있게 된다.
2. 도구변수란 무엇인가?
반면 도구변수라는 것은 이름은 대리변수와 비슷해도 조금 미묘하다. 앞서 말한 교육연수 - 소득의 예시를 다시 가져와보자. 능력이라는 변수가 교육연수와 소득에 둘 다 영향을 미치는 상황도 동일하다.
다만, 도구변수가 만드려고 하는 상황은 대리변수와는 조금 다르다. 우리가 알고 싶은 건 교육연수가 소득에 미치는 순수한 효과인데, 지금은
- 교육연수가 소득에 미치는 직접적인 영향과
- 능력이 교육연수에 영향을 미치면서, 추가로 소득에 미치는 간접적인 영향이 포함되어 있다.
이 때 도구변수는 능력이 소득에 미치는 간접적인 영향력을 도려냄과 동시에 교육 연수와 비슷한 역할을 할 수 있는 변수를 의미한다.
사실 위에서 교육연수, 능력, 소득이라는 다소 딱딱해보이는 요소를 가져온 건, 사람들이 도구변수를 설명할 때 주로 사용하는 예시를 들기 위한 빌드업이었는데, 데이비드 카드 교수님께서 위와 같은 내생성 문제를 "도구변수"를 써서 해결한 케이스가 있기때문이다.
요 분께서 대학 진학과 임금 간 관계를 파악하기 위해 활용한 도구변수는 "대학교와 집의 거리"인데, 학교와 집의 거리가 가까울수록 대학에 진학할 확률이 높아지지만, 해당 변수는 능력이라는 요소에 영향을 받지 않는다. 즉, 간접적인 영향은 도려내면서 대학 진학 여부와 비슷한 효과를 내는 변수를 찾아내면서 내생성 문제를 해결했다.
3. 도구변수 사용 시의 주의점
단, 도구변수 사용 시에는 몇 가지 주의점이 있는데
1. X가 Y에 미치는 영향력을 보려고 할 때, 도구변수는 X를 통해서만 Y에 영향을 미쳐야 한다.
위 사례를 기준으로 말하면 "대학교와 집의 거리"가 가깝다 멀다 그 사실 자체가 개인 소득에 영향을 미쳐서는 안 된다.
여담이지만, 한국의 상황에서는 위 도구변수가 적절하지 않은 것 같다. 대학교가 가까운 동네가 아무래도 좋은 학군일 경우가 많고 좋은 학군에 살고 있다는 것은 가계 소득이 높을 가능성이 크기 때문에 도구변수와 결과변수(소득) 간에 직접적으로 경로가 생겨버린다..
2. 도구변수는 간접적인 영향력을 충분히 잘 도려낼 수 있어야 한다.
이건 사실 동어 반복일 수 있다. "능력"이라는 변수가 교육에 미치는 간접적인 영향력을 도려내기 위해 도구변수를 썼는데 계속 영향력이 남아 있으면 도구변수를 쓴 의미가 없어진다.
3. 도구변수는 X(인과관계를 알고 싶은 변수)와 충분히 관련성이 있어야 한다. (should be correlated)
만일 교육 연수와 소득 간의 관계를 알고 싶은데, 교육 연수에 대한 도구변수로 주량이나, 하스스톤 전장점수 이런 걸 가져와 버리면 능력이라는 변수가 미치는 영향력을 도려낼 수는 있어도 교육연수랑은 상관이 없어져 버리기 때문에 분석에 의미가 없어진다.
위 3개 조건을 만족하는 변수를 찾는 게 쉬운 일은 아니다. 도메인에 대한 지식이 많이 필요할 수도 있고, 예상치 못하게 도구변수 그 자체가 결과변수(Y)에 영향을 미치게 될 수도 있다. 그렇지만 언젠가 딱 상황에 맞는 적절한 도구변수를 찾게 된다면, 그래서 인과추론의 문제를 멋지게 해결할 수 있다면 너무나도 짜릿할 것 같다. 언젠가 올 수 있는 그 순간을 위해 도구변수 개념은 마음에 품고 사는 것도 좋을 것 같다.
여담이지만 그 전에는 존댓말로 글을 썼는데, 그러면서 글이 좀 딱딱해지고 더 어렵게 읽히는 것 같아서 반말(?)로 문체를 바꿔보았다. 독자의 입장에서 어떨지 모르겠지만 글을 쓰면서 존댓말 필터링을 거치지 않아도 되어서 좀 더 잘 써지는 느낌이 들어 개인적으로는 요 프로세스가 더 나은 것 같다는 생각이 든다..
(글 작성에 참고한 자료)
https://danbi-ncsoft.github.io/study/2019/08/07/IV.html
https://www.econometrics-with-r.org/12.6-exercises-12.html
'Statistics' 카테고리의 다른 글
베이즈 통계학을 공부하면 좋은 이유 (0) | 2023.07.29 |
---|---|
인과추론 학습기 - 05. 2SLS와 LATE의 기본 개념 (0) | 2023.06.29 |
인과추론 학습기 - 03. 성향점수 매칭(Propensity Score matching) (0) | 2023.04.19 |
인과추론 학습기 - 02. 매칭 추정량과 회귀분석 (matching, regression) (1) | 2023.03.11 |
인과추론 학습기 - 01. 인과추론의 핵심문제 (선택편의와 교락) (0) | 2023.02.19 |