일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 데이터분석가
- recommendation system
- 빅쿼리
- SQL
- Bayesian
- 독후감
- 글또10기
- 네카라쿠배당토
- 나의서양미술순례
- 오블완
- mathematicalthinking
- CausalInference
- 티스토리챌린지
- Recsys
- 데이터 분석
- BigQuery
- 벡터
- 잠재적결과
- 인과추론개요
- 코세라
- 데이터분석
- 선형대수학
- 인과추론 무작위 실험
- 데이터분석가 코딩테스트
- 수학적해석학
- DataAnalyst
- 실무로통하는인과추론
- 베이지안통계
- 인과추론
- chatGPT
- Today
- Total
Derek 의 데이터 분석 성장기
1. [인과추론] 인과추론(Causal Inference) 개요와 소개 본문
1. 인과추론이란?
인과추론이란 원인과 결과 간의 관계를 이해하고 추론하는 방법입니다. 독립변수가 종속변수에 미치는 영향도를 파악하기 위한 방법론입니다.
특히, A/B Test 등 실험적인 조작이 어려운 경우, 관측된 데이터를 사용하여 원인과 결과 간의 인과 관계를 추론하는데 주로 사용합니다.
무엇보다, 실험 조작이 어려운 경우 에 인과추론은 효과적으로 원인과 결과를 파악하는데 용이합니다. 하지만, 인과추론도 만능이라고 부르긴 어렵습니다. 우리의 현실은 우리가 관측할 수 없는 모든 변수들이 내생적으로 관여하고 있으며, 이런 변수들을 모두 통제하며 인과성을 추론한다는 것은 현실적으로 어렵기 때문입니다.
하지만, 예를 들어 회귀 모델을 구축한다고 가정 했을때, 인과성을 가지는 원인변수를 명확하게 파악하여 모델링을 구축한다면 이는 상관관계는 인과관계를 의미하지 않는다. 라는 모델 보다 좋은 설명력을 가지는 결과가 될 수 있습니다. 앞서 말했듯 A/B Test를 시행하기 어려운 경우나 분석가의 분석 목적과 방법론에 따라 인과추론이 효과적으로 작용하는 경우들이 있습니다. (EX: 신약 주입은 사망률을 낮추는가? 마케팅 쿠폰 사용은 유저의 생애가치를 높이는 원인인가?)
정리하자면, 우리가 사는 현실세계는 관측할 수 없는 다양한 혼합된 변인(Confounding) 들로 구성되어있습니다. 그러나, 우리는 데이터 분석 및 자료를 해석할 때 X 라는 시행을 했더니 Y 라는 종속변수 값이 증대 되었다고 해석하길 원합니다. 오직 X 라는 독립변수만이 Y 값의 증대에 영향을 미쳤을까?
시행을 받은 그룹은 X 라는 변수가 아닌 C 라는 변수에 함께 영향을 받아 Y 값이 높아진 결과를 만든 것이 아닐까? 이런 문제를 최대한 통제하고, 인과성을 관측하기 위해 인과추론은 하나의 분석방법론으로서 적용됩니다.
예시를 하나 들어보겠습니다.
< Brady Neal - Causal Infernce Course > 의 강의 자료를 참고했습니다.
예시 : 신약을 통해 질병을 치료한다고 가정해보자. 신약 A 를 처방한 그룹의 사망률은 16% 이고 신약을 처방하지 않은 그룹 B 의 사망률은 19%이다. 그렇다면, A 약을 처방받은 사람의 Total 사망률이 3% 낮기 때문에 신약이 효과적이라 판단할 수 있다.
그러나, Condition(상태) 에 따라 Mild(경증), Severe(중증)인 사람들의 사망률을 관측하였을때는 어떨까? 신약을 처방 받지 않는 B 그룹은 A약 처방 그룹에 비해 사망률이 상대적으로 낮다.
Segment 혹은 층화추출로 그룹의 Condition 상태에 따라 그룹을 나누었을때 신약의 효과가 오히려 역전되는 결과도 관측할 수 있다. 여기서 중요한 점은 Condition 이라는 Confounder(교란변수) 에 따라 환자들의 사망률이 달라지는 것을 관측할 수 있었다. 물론, 위의 자료에서 신약을 처방 받지 않은 B 그룹의 Mild 환자는 50명밖에 되지 않으며, 반면 A 그룹은 1400명이나 되는 명백한 Sample Size 의 차이가 존재한다.
2. 심슨의 역설
그렇지만, 여기서 중요한 점을 파악할 수 있다. 바로, 심슨의 역설(Simpson's paradox) 이다.
심슨의 역설 : 여러 자료를 합 했을때, 각 그룹을 구분했을 때의 결과값은 다를 수 있다.
혹은, 각 부분에 대한 평균이 크다고 전체에 대한 평균까지 크지는 않다.
실제로, 데이터 분석의 결과를 확인할 때 우리는 2진 분류로 나누어진 그룹의 결과만을 보고 확언할 때가 존재합니다. 위의 자료를 예시로 해석해보자면 A 신약의 사망률이 낮아서, 모든 사람들에게 A 약을 처방해야 겠다. 라는 의사결정을 내릴 수 있지만, 오히려 Severe 상태인 사람들에게는 약을 처방하지 않는 것이 더 효과적이었을 수도 있습니다. 이런 부분에서, 심슨의 역설을 고려하며 우리는 데이터를 해석해야 합니다.
그리고, 인과추론은 Condition 을 통제해서 결과를 해석하기 위함인 것 이고요.
3. 상관관계는 인과관계를 의미하지 않는다.
교란 변수 통제 이외에도 상관관계는 인과관계를 의미하지 않는다.(Correlation doest not imply causation) 를 해결하고자 인과추론이 사용 되고 합니다.
상관은 인과를 함축하지 않는다
2개의 변수의 상관이 자동적으로 한 변수가 다른 한 변수의 원일 의미하는 것은 아니다. 물론, 관계가 있는 경우를 완전하게 부정하는 것은 아니다. 하지만, 원인이라 단정짓지 못한다.
인과추론에서 강조하는 것 또한, 독립변수와 종속변수간의 상관성을 인과성으로 파악하는 것을 경계하고 있습니다. 위대하신 Neal 선생님은 위 강의에서 신발을 신고 자면 > 머리가 아프다 라는 것을 예시로 들었는데요.
신발을 신고자는 사람과 머리가 아픈 사람들의 데이터를 분석해보니, 신발을 신고자는 횟수가 높을 수록 머리가 아픈 횟수가 많다는 것을 관측할 수 있었다고 합니다.
그렇다면, 신발을 신고자면 머리가 아플 확률이 높을까요?
데이터를 분석해보니 신발을 신고 잔 사람들에는 전날 술을 진탕 마신 헤비드렁크들이, 신발을 신고자지 않은 사람들은 술을 마시지 않은 사람들이 많았다고 합니다.
이와 같이, 신발을 신고자면 > 머리가 아프다 라는 상관성에는 '음주여부' 가 교란 변수로 존재한 것 이 였습니다.
때문에, 상관성을 인과성으로 오해하는 것은 굉장히 위험하며, 이를 방지하고자 데이터 분석시 우리는 최대한 층화추출 혹은 교란변수를 통제하여 데이터를 분석해야 합니다.
4. 결론
결론적으로, 인과추론은 T 라는 독립변수가 Y 라는 종속 변수 결과와 인과성이 존재하는가, X가 Y의 원인 인지 인과성을 파악할 수 있는가를 설명하는 방법입니다.
인과성을 파악하기 위해선 교란변수(C) 및 다른 Mediator(추후 배울 개념) 을 통제하고 순수한 치료(T = Treatment) 가 Y 결과에 영향을 준 인과성을 파악하는 방법입니다.
그렇다면, 위에서 언급한 교란변수는 어떻게 통제할까? T의 영향도만을 구할 수 있는 방법은 어떻게 될까?
여기에는 필요한 지식들이 많습니다! 다음장에서 알아보겠습니다.
'Data > 인과추론' 카테고리의 다른 글
[실무로 통하는 인과추론] 3. 그래프 인과모델 (0) | 2024.10.27 |
---|---|
[실무로 통하는 인과추론] 2장. 무작위 실험과 가설검정 (0) | 2024.10.20 |
[실무로 통하는 인과추론] 1장 : 인과추론 소개 (4) | 2024.10.09 |
3. [인과추론] 무작위 실험(Randomized Control trial) (0) | 2024.02.25 |
2. [인과추론] Potential Outcome(잠재적 결과) : What IF? (0) | 2024.02.17 |