Causal Inference and Discovery in Python - Part 1
Causality - an Introduction
이번 장에서는 Observational, Interventional, Counterfactual Queries와 분포 (distribution)의 차이점에 대해서 공부한다. 그리고 Linear Regression, Graph, Causal model간의 연관성을 살펴봅니다. 또한 마지막으로, 거의 모든 인과 관계 연구에서 필수적인 역할을 하는 그래픽 구조의 중요한 특성에 대해 알아본다.
파트 구성은 아래와 같다.
- Causality - Hey, We Have Machine Learning, So Why Even Bother?
- Judea Pearl and Ladder of Causation
- Regression, Observations, and Interventions
- Graphical Models
- Forks, Chains, and Immoralities
Causality - Hey, We Have Machine Learning, So Why Even Bother?
처음은 이러한 질문으로 시작된다.
“인과관계란 무엇일까? 인과 간례 추론은 통계적 추론과 다른가? 그렇다면 어떻게 다를까? 머신 러닝이 충분히 좋은 것 같다면 인과관계가 꼭 필요할까?”
지난 5 ~ 10년 동안 빠르게 변화하는 머신 러닝 환경을 지켜봤다면, Computer Vision, NLP 및 기타 분야에서 최신 머신 러닝 알고리즘의 unresonable effectiveness에 대한 사례를 봤을 것이다. (머신러닝에서는 자주 쓰이는 용어인가보다.)
DALL-E 2나 GPT-3/4와 같은 알고리즘은 연구 커뮤니티 뿐만 아니라 일반 대중의 인식에도 많은 영향을 끼쳤다.
그런데 이 모든것들이 그렇게 잘 작동한다면 왜 굳이 다른 시도들을 하는지 물어볼 수 있다. 그래서 이 장에서는 인과 관계의 역사에 대한 논의와 순수 통계적 접근 방식이 아닌 인과적 접근 방식을 모델링에 사용하는 몇가지 동기를 살표보고 confounding에 대한 개념을 소개한다.
A breif history of causality (원인과 결과의 관계: 아리스토텔레스부터 흄까지)
원인과 결과의 관계는 인류 역사와 함께 발전해온 개념이다. 고대 그리스 철학자인 아리스토텔레스는 모든 지식의 기본 요소로 원인에 대한 이해를 강조해왔다. (궁금한 사람은 아리스토텔레스의 4원인론에 대해서 검색해보면 된다.) 그는 원인을 4가지 유형 (재료적 원인, 형식적 원인, 효과적 원인, 목적적 원인)으로 구분했는데, 이는 때때로 현대에서는 직관적이지 않을 수도 있다.
18세기 스코틀랜드 철학자 데이비드 흄은 원인과 결과에 대한 우리의 이해를 새롭게 했습니다. 흄은 원인과 결과 사이에 직접적인 관찰이 아닌, 사건들의 연속적인 경험을 통해 이들 관계를 파악한다고 주장했다. 예를 들어, 당구공이 다른 공을 칠 때 우리는 공의 움직임을 볼 수는 있지만, 그 사이의 필연적 연결이나 힘을 직접 느낄 수는 없다.
흄의 원인과 결과에 대한 이론은 두가지 관점에서 흥미롭다.
이 이론은 심리학에서 조건화라고 하는 강력한 학습 이론과 유사하다.
$\Rightarrow$ 조건화는 사건이나 객체를 행동과 연결짓는 학습 형태로서 다양한 생물에서 관찰된다.
대부분의 고전적인 머신러닝 알고리즘도 연관성을 기반으로 작동한다.
$\Rightarrow$ 예를 들어, 신경망을 훈련시킬 때는 입력과 출력 사이의 연결을 찾으며, 이 과정에서 입력 요소와 출력의 유용한 연관성을 파악한다.
원인과 결과의 개념은 고대 철학부터 현대 심리학, 인공지능에 이르기까지 다양한 분야에서 중요한 역할을 하며, 이를 통해 우리가 경험하는 세상을 이해하는 데 큰 도움을 준다.
Why causality? Ask babies!
흄의 인과론에서 빠진 것이 있을까? 다른 많은 철학자들이 이 질문에 답하려고 했지만, 오늘은 특히 흥미로운 대답 중 하나인 아기에게서 나온 대답에 초점을 맞춰보겠다.
Interacting with the world
아동 심리학자 앨리슨 고프닉은 아기들이 어떻게 세상에 대해 배우는지 연구했다. 그녀는 아기들이 장난감을 던지는 행위를 통해 물리 법칙과 사회적 상호작용을 실험한다고 보았다. 이러한 행동은 무례하거나 파괴적인 것이 아니라, 아기들이 세계를 어떻게 인식하고 예측하는지를 배우기 위한 시도라고 하였다. 심지어 11개월 된 유아들조차 예측할 수 없는 속성을 지닌 객체를 더 선호하며, 이는 그들의 세계 모델을 보다 효율적으로 구축하는데 도움을 준다고 했다.
흄이 언급한 단순한 관찰을 넘어서, 우리는 세계와 상호작용하며 이를 통해 인과 관계를 배울 수 있다. 이러한 상호작용은 과학적 방법론, 특히 랜덤화 통제 시험(Randomized Controlled Trial, RCT)에서 중요한 개념인 개입으로 이어진다.
Confounding: relationship that are not real
우리가 실험을 수행할 수 있는 능력은 인간의 지식 습득 방식에 큰 도움을 준다. 위에서 다룬 데이비드 흄이 생각한 것 이상으로 실험은 철학적 문제들 중 일부를 해결하는 강력한 도구가 될 수 있다. 특히 잘 설계된 무작위 실험은 혼동변수 (confounding variable)를 피할 수 있게 해주는데 이는 왜 중요할까?
혼동 변수란 두 가지 변수에 영향을 주어 그 사이에 잘못된 관계를 만들어내는 변수를 의미한다. 통계적 관점에서 볼 때, 이런 잘못된 연관성은 실제 인과 관계에 의해 생기는 연관성과 구반하기가 어렵다. 이것이 문제가 되는 이유는 무엇일까?
예를 들어, 연구소에서 사람들이 물에 빠지는 원인을 사회 경제적 변수들로 구성된 방대한 데이터베이스를 가지고 알아내려고 한다고 가정해보자. 우리는 이러한 변수들을 이용해 해당 지역에서 일일 익사 사고 수를 예측하기 위한 회귀 모델을 만들 것이다. 결과를 확인했을 때 아이스크림 판매량에서 가장 큰 계수를 나타냈다고 한다. 아이스크림은 많은 설탕을 함유하고 있을 수도 있다. 왜냐면 설탕이 사람들의 주의력이나 물속에서의 신체적 성능에 영향을 줄 수도 있으니까.
이러한 가설은 타당해 보일수도 있다. 하지만, 이러한 값을 이용해 보기 전에 다른 변수들에 대해 생각해봐야한다. 모델에 포함하지 않은 다른 변수는 없었는지, 문제와 관련된 모든 측면을 설명하기 위해 충분한 예측 변수를 추가했는지, 너무 많은 변수를 추가한 것은 아닌지 등 모델에 단 하나의 변수를 추가하는 것만으로도 결과가 완전히 달라질 수 있다.
여기에서 혼동 변수를 본다면 “일일 평균 기온”으로 볼 수 있다. 왜냐면 일일 평균 기온이 높을수록 사람들은 아이스크림을 더 많이 구매하고 수영을 하러 가는 경향이 더 커진다. 더 많은 사람들이 수영을 할 때 사고도 더 많이 발생한다.
이처럼 혼동 변수는 연구 결과르 오해할 수 있게 만들고, 실제 원인을 잘못 파악하게 할 수 있다. 그래서 무작위 실험을 통해서 이러한 변수들을 통제하는 것은 연구에서 매우 중요하다고 볼 수 있다.
그렇다면 아래의 그래프를 통해서 변수들 간의 관계를 시각화해보자.
우리는 첫번째 그림에서 평균 일일 기온을 추가하면, 아이스크림 판매량과 일일 익사 사고 수 사이의 관계가 사라지는 것을 볼 수 있다. 이러한 내용은 뒤에 추가적으로 다룬다고 한다.
그러나, 먼저 중요한 사실 하나를 명확히 해야하는데, 혼동 (confusion)은 엄격하게 인과적 개념이다. 이게 무슨 말일까? 이것은 우리가 통계적 언어만으로는 혼동에 대해서 많이 말할 수 없다는 것을 의미한다. (이 말은 위에서 정의한 흄의 정의로는 포착할 수 없다는 것을 의미한다.)
이것처럼 평균 일일 기온을 포함시킴으로써 우리는 아이스크림 판매와 익사 사고 사이의 직접적인 인과 관계가 없음을 명확히 할 수 있다. 이러한 예는 혼동 변수를 제어하는 것이 왜 중요한지를 잘 보여주며, 실험 설계에서 이러한 요소들을 고려하는 것이 연구의 신뢰성을 보장하는 데 얼마나 중요한지를 강조한다.