2022년 1학기 대학원 과목으로 Causal Analysis를 강의하고자 한다.
1. 서론
데이터분석이라면 Machine Learning으로 알고 있다. 기계 학습의 목표는 예측(prediction)이다. 일반적으로 기계학습은 인과 관계(Causal Relationship)에 대해서는 많은 신경을 쓰지는 않는다. 다만, 데이터를 준비할 때 속성의 선택은 인과 관계를 고려하여 선택된다고 볼 수 있다. 결과에 관계가 없는 속성은 선택하지는 않기 때문이다. 그러나 결과가 어떤 원인에 의해서 나왔는지는 잘 고려하지 않는다. 물론 최근에 논의되고 있는 Explainable AI는 이런 인과 분석을 위한 노력으로 볼 수 도 있다.
Causal Analysis는 인과 관계를 파악하고, 확인하는 분석기법이다. 이런 접근은 전통적으로 사회과학 연구에서 많이 사용되었고, 어찌 보면 표준으로서 역할을 하였다. 빅데이터, 기계학습, 인공지능 등의 이야기가 나오면서 많이 위축되었던 것이 사실이다. 그런데, 모든 것이 그렇지만 살아 있음으로 인해 새로운 변화에 적응하는 것이당연한 결과라고 생각한다. 인과 관계 분석은 아직 죽지 않았다. 다만 새로운 환경에 새로운 접근 방법이 필요했던 것이다. 이것이 최근에 Causal Analysis가 새롭게 주목을 받게 되는 이유라고 생각한다.
과학적 연구의 연구 주제 및 가설은 많은 경우 인과적 질문(causal question) 을 포함하다. 예를 들어, 코로나 예방을 위한 접종은 얼마나 효과적인가? 건설 정책은 부동산 가격의 상승에 영향을 미칠까? 지금 쇼핑몰을 방문한 고객에게 어떤 제품을 보여주면 구매 확률이 높을까? 등이 그런 예이다.
인과 관계를 규명하는 가장 좋은 방법은 임의 실험 randomized experiment 가 있다. 그렇지만 현실에서 다루는 대부분의 자료는 임의 실험보다는 비실험 관찰로 수집되는 자료가 많다. 따라서 이런 경우에 대한 인과성 추론을 위한 이론 개발이 필요하다.
예일대학교의 Institution for Social and Policy Studies에서 설명하는 임의 실험에 대한 설명을 보자.
무작위 현장 실험은 연구자들이 특정한 관심 결과에 대한 개입의 영향을 과학적으로 측정할 수 있게 해준다.
무작위 현장 실험이란 무엇인가? 무작위 실험에서 연구 샘플은 연구 중인 개입을 받을 그룹(처치 그룹, the treatment group)과 개입을 받지 않을 그룹(제어 그룹, the control group)으로 나뉜다. 예를 들어, 연구 샘플은 특정 도시에 등록된 모든 유권자로 구성될 수 있다. 그런 다음 이 표본을 처리 그룹과 통제 그룹으로 랜덤하게 나눕니다. 아마도 샘플의 40%는 캠페인의 GOTV(Get-Out-the-Vote) 메일링 목록에 포함될 것이고 나머지 60%는 GOTV 메일을 받지 못할 것이다. 유권자 투표율을 측정한 결과를 두 그룹에서 비교할 수 있다. 투표율 차이는 개입의 효과를 반영할 것이다.
무작위 할당(randomized assignment)은 무엇을 의미할까? 무작위 실험 연구 설계의 핵심은 연구 참여자(예: 개인 유권자, 선거구, 미디어 시장 또는 기타 그룹)를 처치 또는 통제 그룹에 무작위로 할당하는 것이다. 무작위화는 이 맥락에서 매우 구체적인 의미를 갖는다. 그것은 무작정 또는 우연한 선택을 의미하지 않는다. 이러한 맥락에서 무작위화는 피험자를 그룹으로 할당하는 것과 피험자의 특성 사이에 패턴이 존재하지 않도록 주의를 기울여야 한다는 것을 의미한다. 모든 피험자가 치료(또는 관리) 그룹에 할당될 가능성이 높습니다. 무작위화는 일반적으로 난수 발생기를 포함하는 컴퓨터 프로그램을 사용함으로써 달성된다. 무작위화 절차는 실험의 연구 설계에 따라 다르다. 개인 또는 그룹은 처리 또는 관리 그룹에 랜덤하게 할당될 수 있습니다. 일부 연구 설계는 치료의 추정 효과의 통계적 검정력(예: GOTV 개입)을 극대화하기 위해 무작위 할당 전에 지리적, 인구학적 또는 기타 요인에 의해 참여자를 계층화 한다. 무작위화 절차에 대한 정보는 각 실험 요약에 포함되어 있다.
무작위 실험 설계의 장점은 무엇일까? 무작위 실험 설계는 개입의 영향을 가장 정확하게 분석한다(예: 유권자 동원 전화 드라이브 또는 GOTV 조사원의 방문, 유권자 행동에 대한). 무작위로 대상자를 지정해 처치를 받는 집단이나 대조군으로 지정함으로써 일부 사람이나 집단이 정치적 과정에 참여할 가능성이 높은 다른 요인에 관계없이 동원방식의 효과를 측정할 수 있다. 간단한 예를 들면, 우리가 고등학교 3학년 학생들을 대상으로 유권자 교육 프로그램의 효과를 시험하고 있다고 하자. 해당 반 학생들이 자발적으로 프로그램에 참여할 수 있도록 허용한 다음, 자원봉사자들의 투표 행태를 참여하지 않은 학생들과 비교한다면, 우리의 결과는 유권자 교육 개입의 영향과는 다른 것을 반영하게 될 것이다. 이것은 의심할 여지 없이 자원봉사자들에 대한 자질이 그들을 자원 봉사하지 않는 학생들과 다르게 만들기 때문이다. 그리고, 우리의 작업에서 가장 중요한 것은, 그러한 차이점들이 투표 성향과 매우 잘 연관될 수 있다는 것이다. 학생들이 스스로 선택하게 하거나 심지어 선생님들이 학생들을 선택하게 하는 대신에, 우리는 주어진 반의 모든 학생들을 처치나 통제 그룹에 속하도록 무작위로 배정할 수 있다. 이것은 처치 그룹과 대조군 그룹의 그룹들이 단지 우연에 의해서만 다르다는 것을 보장할 것이다. 무작위화의 가치는 방문 탐방자의 걷기 목록 사용에서도 확인할 수 있다. 조사원이 어느 집을 갈지, 건너뛸지를 고르면 더 매력적으로 보이는 집을 선택할 수도 있고, 더 넓게 펼쳐진 집보다는 서로 가깝게 배치한 집을 선택할 수도 있다. 이러한 차이는 아마도 투표율과 관련이 있을 것이다. 또는 10페이지 목록의 전반부에서 집 번호를 선택하여 선택한다면, 집 번호는 목록의 후반부에 있는 이웃과 중요한 방식으로 다른 이웃에 모여 있을 수 있다. 분석을 혼동하기 위해 다른 선택 프로세스와 함께 슬며시 개입할 수 있는 알려진 변수와 알려지지 않은 변수 모두에 대한 무작위 할당 제어. 랜덤화된 실험 설계는 원인과 결과에 대한 유효한 추론을 도출할 수 있는 강력한 도구다. 무작위 실험 설계의 사용은 이 방법론을 채택한 연구에서 인용된 연구 결과가 측정되는 개입의 영향을 반영하는 것이지 다른 기초 변수나 변수가 아닌 어느 정도의 확실성을 허용해야 한다.
출처: https://isps.yale.edu/research/field-experiments-initiative/why-randomize
2. 수업에서는 무엇을 배우나?
최근 인과 분석이 발전하게 된 이면에는 인과 분석에 잘 개발된 기계학습을 포함시키면서 좀 더 정확하고, 믿을 수 있는 연구가 가능하게 되었다는 점이다. 인과 분석은 방대한 분야를 가지고 있어 여기에서 모두 다루어 줄 수 없다는 한계가 있다. 따라서 이번 강좌에서는 핵심이 되는 주제들을 가지고 실질적인 공부를 할 것이다.
우선 인과 분석에 대한 기초적인 개념에 대해 학습할 것이다. 기초 개념 학습을 위해 본 강좌에서는 Matheus Facure Alves가 쓴 Causal Inference for The Brave and True라는 책을 사용할 것이다. 실무적 측면에서는 아래의 세 가지 프로젝트를 사용할 것이다.
- Counterfactual Explanation: DiCE
- Causal inference: DoWhy
- Causal Impact: CausalImpact
DiCE
반사실적 설명(Counterfactual explanations)은 유망한 대안을 제공한다. 예측 중요도에 따라 ML 모델을 근사화 하거나 특징 순위를 매기는 대신, CF 설명은 모델의 결정을 뒤집을 수 있는 필요한 변경 사항을 찾기 위해 모델에 "질의"한다. DiCE는 마이크로소프트의 연구자들에 의해 개발되었다. DiCE와 관련한 이들의 연구 논문에는 다음과 같은 것들이 있다.
- Kommiya Mothilal, R., Mahajan, D., Tan, C., & Sharma, A. (2021, July). Towards unifying feature attribution and counterfactual explanations: Different means to the same end. In Proceedings of the 2021 AAAI/ACM Conference on AI, Ethics, and Society (pp. 652-663). https://arxiv.org/pdf/2011.04917.pdf
- Mothilal, R. K., Sharma, A., & Tan, C. (2020, January). Explaining machine learning classifiers through diverse counterfactual explanations. In Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency (pp. 607-617). https://arxiv.org/pdf/1905.07697.pdf
- Mahajan, D., Tan, C., & Sharma, A. (2019). Preserving causal constraints in counterfactual explanations for machine learning classifiers. arXiv preprint arXiv:1912.03277. https://arxiv.org/abs/1912.03277.pdf
Dice에 대한 Python 코드 및 예제는 아래의 깃 페이지에 있다.
CARLA는 반사실적 설명과 상환 모델을 벤치마킹하기 위한 파이썬 라이브러리이다. 일반적으로 사용되는 데이터 세트와 다양한 머신러닝 모델과 함께 즉시 사용할 수 있다. 확장성을 염두에 두고 설계되었다. 즉, 자신만의 반사실적 방법, 새로운 머신러닝 모델 또는 기타 데이터 세트를 쉽게 포함할 수 있다. CARLA는 아래 논문에서 발표되었다.
CARLA의 사용방법에 대한 예제 코드는 아래의 웹사이트에서 찾을 수 있다.
여기에서는 DiCE에 대한 학습에 집중할 것이다. 좀 더 다양한 반대 사실 설명에 대해 공부하려면 CARLA를 참조하도록 하자.
DoWhy
Microsoft의 DoWhy는 머신러닝 응용 프로그램에서 인과 추론 및 분석을 위한 파이썬 기반 라이브러리이다. Judea Pearl의 인과 추론을 위한 Do-calculus에서 영감을 받아, DoWhy는 전통적인 접근법의 많은 복잡성을 제거하는 간단한 프로그래밍 모델에 따라 몇 가지 인과 추론 방법을 결합한다. 이전 모델과 비교하여 DoWhy는 인과 추론 모델의 구현에 세 가지 주요 기여를 한다.
- 주어진 문제를 인과 그래프(causal graph)로 모델링하여 모든 가정이 명시되도록 하는 원칙적인 방법을 제공한다.
- 그래픽 모델(graphic model)과 잠재적 결과(potrntial outcomes)의 두 가지 주요 프레임워크를 결합하여 널리 사용되는 많은 인과 추론 방법에 대한 통합 인터페이스를 제공한다.
- 가능한 경우 가정의 유효성(validity)을 자동으로 검정하고 위반에 대한 추정치의 견고성(robustness of the estimate violations)을 평가한다.
강건 추정(Robust Estimation)
알고리즘을 최적화하기 위해 사용된 이상화 된 가정으로부터의 작은 이탈에도 무감각한 추정 기법이다. 이러한 기법의 종류에는 M-추정(최대우도 고려사항 maximum likelihood considerations), L-추정(순서 통계량의 선형 조합 linear combination of order statistics) 및 R-추정(통계 순위 검정statistical rank tests 기준)이 포함된다. M-추정은 최대우도 인수 maximum likelihood argument를 기반으로 한 강력한 추정치이다. L-추정은 순서 통계량의 선형 조합에 기초한 강력한 추정치입니다. 예를 들어 통계적 중위수(median)와 삼량형(trimean)이다. R-추정은 순위 검정을 기반으로 한 강력한 추정치다.
개념적으로 DoWhy는 인과적 가정을 명시적으로 질문하는 것과 그러한 가정의 위반에 대한 추정치의 건전성을 시험하는 두 가지 지침 원칙에 따라 만들어졌다. 다시 말해, DoWhy는 매우 정교한 인과 관계를 추론할 수 있는 인과 효과의 식별과 관련성의 추정을 분리한다. 목표를 달성하기 위해 DoWhy는 워크플로우에서 인과 추론 문제를 모델링(model), 식별(identify), 추정 (estimate) 및 반박(refute)의 네 가지 기본 단계로 모델링한다.
DoWhy와 관련된 논문은 아래와 같다.
- Sharma, A., & Kiciman, E. (2020). DoWhy: An end-to-end library for causal inference. arXiv preprint arXiv:2011.04216. https://arxiv.org/pdf/2011.04216.pdf
- Sharma, A., Syrgkanis, V., Zhang, C., & Kıcıman, E. (2021). Dowhy: Addressing challenges in expressing and validating causal assumptions. arXiv preprint arXiv:2108.13518. https://arxiv.org/pdf/2108.13518.pdf
DoWhy의 소스 코드는 아래 깃허브 사이트에 있다.
DoWhy를 공부하는데 활용할 자료는 다음과 같은 웹사이트를 참조하면 된다.
Causal Inference 와 관련된 다양한 자원들이 있다. 그 중에 중요한 것에는 다음과 같은 것들이 있다.
Causal Impact
인과적 영향(Causal Impact)은 구글이 간섭 후 시간에 대한 일련의 기준선 값을 추정하기 위해 복수의 제어 그룹을 기반으로 베이지안 구조 시계열 모델을 만들기 위해 만든 알고리즘이다. 더 소화하기 쉬운 용어로 설명하면 인과적 영향은 1) 테스트 그룹과 유사한 "통제" 그룹 간의 관계를 파악한다(예: 캠페인 A는 캠페인 B의 50%, 캠페인 C의 30% 등). 2) 이러한 관계를 사용하여 개입 또는 테스트 시작 날짜 이후의 예상 성능을 표시한다. 이 그림은 합성 기준선(synthetic baseline)으로 간주된다. 실제 제어 그룹이 아니라 여러 제어 그룹으로 만들어진 합성 그룹이다. 3) 실제 결과와 예상 결과를 비교하여 개입의 영향을 확인한다.
이 캐주얼 임팩트 비주얼은 테스트량이 사후 기간에 증가했음에도 불구하고 다른 관련 채널의 성능을 고려할 때 기대만큼 증가하지는 않았음을 보여준다.
구글 연구자들의 논문은 아래와 같다.
- Brodersen, K. H., Gallusser, F., Koehler, J., Remy, N., & Scott, S. L. (2015). Inferring causal impact using Bayesian structural time-series models. The Annals of Applied Statistics, 9(1), 247-274.https://research.google/pubs/pub41854/
원래 소프트웨어는 R을 사용하여 개발되었는데, 최근에 윌리안 푹스(WIlian Fuks)는 파이썬과 Tensorflow을를 활용하여 하였다. 이 강의에서는 이것을 사용할 것이다. 이와 관련된 소스코드는 아래에서 찾을 수 있다.
결론
이번 장에서는 이번 강좌에서 익할 Causal Analysis에 대한 개략적인 내용을 소개하였다. 이 강의에서는 깊은 이론적이 공부보다 소프트웨어 패키지를 사용한 활용 방안에 집중을 할 것이다.
다음 강의를 위한 읽을 거리