지지플랏의 DataScience

(1) Chapter: 인과추론 소개 본문

Data Science/실무로 통하는 인과추론 with 파이썬

(1) Chapter: 인과추론 소개

지지플랏 2024. 9. 2. 09:10
반응형

인과관계는 데이터 분석을 입문할 때 항상 등장하는 개념이다. 단순히 "상관관계와 헷갈리지 말자!! 도메인지식을 활용하자!" 라는 성급한 마무리로 인과관계를 밝혀내고 측정하는 방법에 대해서는 넘겨 버린 것이 사실이다. 이번에 실무로 통하는 인과추론 책을 스터디하면서 공부하는 내용을 정리할 예정이다.


 

1. 글목차

  • 인과추론의 기본 개념
  • 인과 추론을 위한 기본 수식과 기호
  • 인과 추정량

2. 본문

 

 

2.1. 인과추론의 기본 개념

 

인과추론(Casual Inference)란 무엇인가? 두 변수 $X_{1}, X_{2}$의 상관관계를 알았다고 하자. 하지만 두 변수가 바로 원인과 결과로 속단하긴 어렵다. $X_{1}$이 원인 $X_{2}$가 결과일 수 도 있고 그 반대의 경우일 수 도 있다. 반면 둘 다 원인의 결과가 아닌 다른 교란변수(confounder)가 두 변수 $X_{1}, X_{2}$에 영향을 준 사례일 수 도있다. 예를 들어 키카 크면 몸무게가 나가는가? 몸무게가 크면 키가 큰가 라는 질문에 두 변수는 상관관계를 가지고 있지만 어느 하나가 원인이라고 보기 어렵다. 다시 말해 성장 혹은 나이가 두 변수를 상승시키는 요인이라고 보는 것이 더 적절할 것이다. 

 

이처럼 통계방법은 어떤 원인가 결과를 직관적으로 설명해주지 않는다. 하지만 이를 추적하고 정량화 하는 방법을 인과추론의 방법이라고 하겠다. 

  • 원인(Cause): 다른 변수에 영향을 미치는 변수. 흔히 독립 변수(independent variable)이라고 불림
  • 결과(Effect): 원인의 변화로 인해 발생하는 결과. 흔히 종속 변수(dependent variable)이라고 불림
  • 상관관계(Correlation): 두 변수간 관계를 말하며 한 변수가 다른 변수와 함께 변할 때 상관관계가 있다고 함. 그러나 상관관계가 받반드시 인과관계를 의미하는 것은 아님
  • 인과관계(Causation): 한 변수의 변화가 다른 변수를 초래하는 관계. 즉 원인이 결과에 직접적인 영향을 미치는 경우

 

2.2. 인과 추론을 위한 기본 수식과 기호

  • 처리 변수(Treatment Variable, $T$): 실험에서의 독립변수로 예를 들어 고혈압 약물에 대한 효과평가를 진행한다고 할 때 복용한 그룹과 복용하지 않은 그룹은 '복용'이 처리 변수
  • 결과 변수(Outcome Variable, $Y$): 종속 변수로 처리에 의하여 영향을 받는 변수. 예를 들어 고혈압 약을 복용(처리 변수)하여 변하는 혈압의 수치를 결과 변수라 함
  • 잠재적 결과(potential Outcomes): 처리 여부에 따라 나타 날 수 있는 두가지 가능한 결과
    • $Y_1$: 처리 받았을 때의 결과
    • $Y_0$: 처리를 받지 않았을 때의 결과

잠재적 결과는 동시에 관찰 할 수 없기 때문에(평행 우주라도 가져오지 않는 한) 서로 대립적 결과(counterfactual problem)을 가진다. 이런 맥락으로, 범주가 두 개인 이진 처치를 관하여 설명할 때 다음 기호를 사용하며 "잠재적" 결과라는 호칭을 붙인다.

  • $Y_{0i}$: 처치 받지 않는 실험 대상 $i$의 잠재적 결과
  • $Y_{1i}$: 처치 받은 실험 대상 $i$의 잠재적 결과
  • $\tau_{i}  = Y_{1i} - Y_{0i} $: 잠재적 결과의 개별 차이

 

 

2.3. 인과 추정량(Casual Estimands)

하지만 평행 세계를 우리가 탐험할지 못하더라도 결과적으로 인과추정으로 인해서 "추정"할 수 있다고 자신감을 가져보자. 일단 인과 추정이 가능하다는 가정하에서 우리가 측정할 지표를 선언하는게 우선일 것 이다. 다음 3가지 지표를 제시한다.

 

  • 평균 처치 효과(Average Treatment Effect, ATE)
    • 전체 모집단에서 처리의 평균적인 인과효과로 전체 모집단에서 처리로 인해 평균적으로 얼마나 변할 것으로 기대되는지를 타나내는 추정량
    • 수식: $ATE = E[Y_{1} - Y_{0}]$ 또는 $E[\tau_{i}]$
      • $Y_{1}$: 처리를 받았을 때의 잠재적 결과
      • $Y_{0}$: 처리를 받지 않았을 때의 잠재적 결과
      • $E(X)$: 기대값
  • 실험군에 대한 평균 처치 효과(Average Treatment Effect on the Treated, ATT)
    • 실제로 처치를 받은 개체들에 대해 계산된 평균적인 처리 효과, 이미 처치를 받은 사람들에게만 초점을 맞춰 그들이 처치를 받았을 때 평균적인 인과에 대한 추정량. 반대는 대조군(Untreated)에 대한 처치효과인 ATU
    • 수식: $ATT = E[Y_{0} - Y_{1} | T = 1] $
      • $T=1$: 처리를 받은 집단
  • 조건부 평균 처치 효과(Conditional Average Treatment Effect, CATE)
    • 특정한 조건이나 집단에 대해 처치가 결과에 미치는 평균적인 인과 효과를 측정하는 개념.개별 특성이나 조건에 따라 처치 효과가 다를 수 있다는 점을 반영하며 ATE와 달리 하위 집단(sugroup)에서의 인과 효과를 추정하는데 중점
    • 수식: $CATE(x)  = E[Y_{1} - Y_{0} |  X = x] $
      • $ X = x $ : 특정 조건을 만족하는 집단

2.3. 인과 추정량 예시

다음은 크리스마스 전주/해당 주간 상점의 할인에 대한 데이터이다. 실제로 상점이 할인 한 세계와 할인하지 않은 세계는 동시에 존재할 수 없지만 인과추정량 계산을 위해 알 수 있다고 가정하고 작성한다.

  • i: 상점 번호
  • y0: 할인(처치)를 적용하지 않은 잠재적 판매량 결과
  • y1: 할인(처치)를 적용한 잠재적 판매량 결과
  • t: 할인(처치) 여부
  • x: 크리스마스 1주일 전이면 1, 크리스마스 주간이면 0
  • y: 할인(처치)에 따른 실제 판매량
  • y1-y0: 잠재적 판매량 결과의 차
i y0 y1 t x y y1-y0
1 200 220 0 0 200 20
2 120 140 0 0 120 20
3 300 400 0 1 300 100
4 450 500 1 0 500 50
5 600 600 1 0 600 0
6 600 800 1 1 800 200

위처럼 평행세계의 관찰자라면 각 인과 추정량을 쉽게 구할 수 있다. 

평균 처치 효과(ATE)는 마지막 열에 대한 평균 값이다. $(20 + 20 + 100 +50 + 0 + 200) / 6 = 65 $ 따라서 가격의 할인으로 판매량이 65가 증가함을 알 수 있다.

실험군에 대한 평균 처치 효과(ATT)는 가격을 할인한 회사(t=1)의 평균 판매량이다. $(50 + 0 + 200)/3 = 83.33$ 

크리스마스 1주일 전이라는 조건부 평균 효과(CATE) 는 회사의 3번과 6번의 효과의 평균이다. $(100 + 200)/2 = 150$ 

하지만 위처럼 데이터를 모두 아는 경우는 없다. 따라서 표는 다음 데이터가 실제 현황이라고 볼 수 있다.

i y0 y1 t x y y1-y0
1 200 NaN 0 0 200 NaN
2 120 NaN 0 0 120 NaN
3 300 NaN 0 1 300 NaN
4 NaN 500 1 0 500 NaN
5 NaN 600 1 0 600 NaN
6 NaN 800 1 1 800 NaN

실제로 한 상점의 할인과 할인을 하지 않은 세계를 동시에 관측하기는 불가능 하므로 처치군과 대조군의 평균을 비교하면 안될까? 

$ ATE = (500 + 600 + 800) / 3 - (200 + 120 + 300) /3   = 426.67 $

이는 상관관계를 인과관계를 착각하는 대표적인 예시이다. 왜냐면 두 할인한 회사와 할인하지 않은 회사가 규모가 다르기 때문이다. 할인을 한다는건 큼 경제적으로 튼튼하여 할인을 많이할 수 도 있다. 두 회사의 매출 규모자체가 다르기 때문이다.  이마트와 롯데마트처럼 다르지만 규모가 비슷한 데이터를 비교해야하지 이마트와 편의점을 비교하면 안된다. 

이는 실험군과 대조군의 교환가능성(Exchangeability)에 대한 여부를 말하는 사례이다. 

2.4. 독립성 가정

인과추론에서 독립성 가정은 조건부 독립성(Conditional Indepence)와 혼란 변수의 통제(Control for Confounders)가 있다.  한가지 방법은 무작위 배정을 통해서 혼란 변수의 통제가 가능하다. 

조건부 독립성은 처리(treatment)와 잠재적 결과(potential outcomes, $Y_{1}, Y_{0}$)가 혼란 변수집합($X$)에 대하 조건부로 독립적이여야한다는 가정이다. 이를 통해 선택 편향(selection bias)를 없는 상태로 만드는 것이며 이를 다음과 같은 수식으로 표현한다.

$(Y_{1}, Y_{0}) \perp T | X$

  • $Y_{1},Y_{0}$: 각각 처치 받았을 때, 받지 않았을 때의 잠재적 결과
  • $X$: 혼란변수
  • $T$: 처리 변수

 

결과적으로 실험군과 대조군이 교환 가능하거나 처치를 무작위로 배정한 경우에는 단순히 실험군과 대조군의 결과를 단순히 비교하면 처치 효과를 얻을 수 있다.

 

$E[Y_{1} - Y_{0}] = E[Y | T = 1] - E[Y | T = 0] $

 

 

 

 

 

3. 출처와 링크

 

반응형