[Causal Inference] 인과추론 기초 & 무작위 실험

KHUDA 활동을 통해서 이번에 인과추론 스터디를 진행하게 되었는데, 앞으로 해당 블로그에 정리 내용을 업로드 해보고자 한다.

 

아래 글은 해당 도서 내용을 나만의 방식으로 정리한 글이다.

https://product.kyobobook.co.kr/detail/S000212577153

 

실무로 통하는 인과추론 with 파이썬 | 마테우스 파쿠레 - 교보문고

실무로 통하는 인과추론 with 파이썬 | 데이터 기반의 통찰력 있는 의사결정을 위한 인과추론, 효율적인 영향력 분석을 통한 성공적인 비즈니스 정책 결정온라인 마케팅 예산을 1달러 높이면 구

product.kyobobook.co.kr


인과추론 Intro

 

인과관계 != 연관관계

 

"연관관계는 인과관계가 아니다."

 

인과관계는 파악하기 까다롭고 때문에 사람들은 연관관계를 인과관계가 될 수 있다고 잘못 생각하는 경향이 있다. 그러나 연관관계와 인과관계는 분명히 다르다.

  • 연관관계
    • 두 개의 수치나 확률변수(random variable)가 같이 움직이는 것.
  • 인과관계
    • 한 변수의 변화가 다른 변수의 변화를 일으키는 것

물론 두 변수가 같이 움직일 수 있겠지만, 한 변수가 다른 변수의 원인이라고 쉽게 생각해서는 안된다.

 

인과추론은 연관관계로부터 인과관계를 추론하고 언제(when), 왜(why) 다른지 이해하는 과학이다.

 

인과추론의 목적

 

인과추론의 목적은 현실을 이해하는 것이다. 그리고 이것은 원인과 결과의 관계를 파악함으로써 원인에 개입(intervention)하여 원하는 결과를 가져오는 것과 같다.

 

(개입의 영향을 이해하는 것이 중요하다.)

 

머신러닝 & 인과추론

 

인과추론은 만약(if)이라는 질문의 유형으로 대부분 이루어져 있다. 반면 머신러닝은 단순 예측 문제를 다룰 때 유용하다. 즉, 머신러닝을 활용하기 위해선 문제를 예측 문제로 구성해야 한다. 그러나 머신러닝은 데이터가 조금만 달라져도 제대로 작동하지 않는다는 단점이 존재한다.

 

머신러닝은 변수 간 연관관계를 이용, 변수들을 다른 변수에서 예측한다. 그러나 개입이 동반되는 대부분 의사결정에서, 예측 모델로 목적을 달성하기엔 매우매우 어렵다.

 

때문에 머신러닝을 단순 예측 도구가 아닌 도구 상자라는 각도에서 접근하여 인과추론의 목표에 연결되도록 해야한다.

 

연관관계 vs 인과관계

 

예시를 통해 살펴보자.

 

어린이 장난감을 판매하는 기업의 12월, 특히 크리스마스 이전 기간에 가격을 할인하면 판매량이 어떻게 증가하는지 살펴보자.

 

데이터는 아래와 같이 이루어져있다.

  • store: 상점 고유 식별자(ID)
  • weeks_to_xmas: 크리스마스까지 남은 기간(주)
  • avg_week_sales: 12월 각 상점의 주간 판매량
  • is_on_sale: 해당 주간, 기업의 가격 할인 진행 여부(0 or 1)
  • weekly_amount_sold: 해당 연도의 상점 주간 평균 판매량

 

처치와 결과

 

$T_i$는 실험 대상 i의 처치 여부를 나타낸다.

 

여기서 처치(treatment)는 구하려는 효과에 대한 개입을 나타낼 때 사용하는 용어로 예시에서는 is_on_sale(가격할인)을 의미한다. 필자가 영향을 주려는 변수인 weekly_amount_sold(주간 판매량)은 결과를 의미하며 $Y_i$로 표기한다.

 

처치와 결과로 생각하면 T가 Y에 미치는 영향을 학습하는 과정이 인과추론의 목표라고 생각할 수 있다.

 

인과추론의 근본적인 문제

 

결론적으로 말하자면, 인과추론에서 동일한 실험 대상이 처치를 받은 상태와 받지 않은 상태를 동시에 관측할 수 없다는 문제가 존재한다.

 

원래는 동일한 실험 대상에서 할인이 진행되는 상황과 그렇지 않은 상황을 동시에 관측해야만 가격할인이 판매량에 미치는 실제 효과를 확신할 수 있는데(=반사실 상황을 비교), 인과추론의 문제 때문에 두 가지 상황을 동시에 관측할 수 없다. 때문에 다른 방법을 찾아야 한다.

 

인과모델

 

인과모델은 화살표($<-$)로 표시하는 일련의 할당 메커니즘이다. 아래 기호를 정리해보자.

  • $u$: 모델 외부의 변수 (변수 $u$ 이외의 다른 모든 변수는 매우 중요하기에 모델에 직접 포함)
  • $f$: 한 변수를 다른 변수에 매핑하는 함수
  • $<-$: 할당 메커니즘

 

$$T <- F_t(u_t)$$

$$Y <- f_y(T, U_y)$$

 

위 첫 번째 식에서 모델링하지 않는 변수 집합 $u_t$(외부변수)가 함수 $f_t$를 통해 처치변수 $T$를 유발하는 원인이 된다. 두 번째 식에서 처치변수 $T$는 다른 변수 집합 $u_y$와 함께 함수 $f_t$를 통해 결과 Y를 유발한다.

 

이때 중요한 것은 모델링하지 않기로 선택한 변수라고 하더라도 결과에 영향을 미친다는 것이다. (변수 $u$의 목적은 모델에 포함된 변수로는 아직 설명되지 않은 변수의 모든 변동을 설명, 내생변수)

 

이를 실습에 연결하면 아래와 같다.

$$BusinessSize <- f_s(u_s)$$

$$IsOnSales <- f_t(BusinessSize, u_t)$$

$$AmountSold <- f_y(IsOnSales, u_y)$$

 

위 내용을 경제학/통계학은 아래와 같이 모델링 할 수도 있다.

$$AmountSold_i = a + b_1IsOnSales + b_2BusinessSize + e_i$$

 

개입(intervention)

 

인과모델이 있다면 해당 모델을 고치고 개선해서 인과적 질문의 답을 찾아볼 수 있는데, 이를 개입이라고 한다.

 

인과추론에서는 개입을 $do(.)$ 연산자를 활용하여 나타낸다. T에 개입하여 어떤 일이 일어날지를 추론하고 싶을 땐 $do(T = t_0)$로 표현할 수 있다.

가격을 할인한 회사의 판매량 기댓값 $E[AmountSold|IsOnSales = 1]$이 높으면, 가격을 할인하도록 개입한 경우의 판매량 기댓값 $E[AmountSold|do(IsOnSales = 1)]$이 과대 추정될 수 있다. 이때는 가격을 할인하기로 결정한 회사는 대기업일 확률이 높다. 반면, $E[AmountSold|do(IsOnSales = 1)]$은 모든 회사가 가격을 할인하도록 통제했을 때 어떤 일이 발생했을지를 나타낸다.

 

즉, 가격을 할인한 회사의 판매량에 대한 조건부 기댓값과 할인하도록 통제한 회사의 판매량에 대한 조건부 기댓값은 다르다.

$$E[AmountSold|do(IsOnSales = 1)] != E[AmountSold|IsOnSales = 1]$$

(선택 측면에서 할인은 실제로 가격을 할인하기로 선택한 회사들의 하위 표본 판매량)

($do(IsOnSales)$ 개입이 조건으로 주어질 때는 모든 회사가 가격을 할인하도록 통제한 다음 전체 표본에서 판매량 측정)

 

 

개별 처치효과

 

$do(.)$연산자를 사용하면 개별 실험 대상 i에 처치가 결과에 미치는 영향인 개별 처치효과(ITE)를 표현할 수 있다. 아래 식과 같이 두 개입의 차이로 개별 처치효과를 표현할 수 있다.

$$丁_i = Y_i|do(T=t_1) - Y_i|do(T=t_0)$$

$$丁_i = AmountSold_i|do(IsOnSales = 1) - AmountSold_i|do(isOnSales = 0)$$

(인과추론의 문제 때문에 앞의 식 중 한가지 항에 대해서만 관측이 가능, 그렇다고 반드시 찾을 수 있다는 것도 X)

 

잠재적 결과

 

반사실, 잠재적 결과는 "처치가 t인 상태일 때, 실험 대상 i의 결과는 Y가 될 것이다"를 의미한다. 이는 아래와 같이 표기하는데, 두 표기법은 같다고 보면 된다.

$$Y_{ti} = Y_i|do(T_i = t)$$

$$Y_{ti} = Y(t)_i$$

 

범주가 두 개인 이진 처치(처치 or 미처치)에 관해 얘기할 때, 아래와 같이 표기하며 관측할 수 있는 한 가지 잠재적 결과를 사실적 결과, 관측할 수 없는 다른 한 가지 결과를 반사실적 결과로 지칭한다.

 

잠재적 결과를 이래와 같이 수식으로 표현할 수 있다.

$$Y_i = T_iY_{1i} + (1-T_i)Y_{0i} = Y_{0i} + (Y_{1i} - Y_{0i})T_i$$

 

즉, 아래와 같이 잠재적 결과에 따라 회사 i의 인과 효과를 정의할 수 있다.

$$丁_i = Y_{1i} - Y_{0i}$$

 

일치성 및 SUTVA

 

앞선 인과효과에 대한 식에는 아래 두 가지 가정이 존재한다.

1. 점재적 결과가 처치와 일치성이 있어야 한다.

  • $T_i = t$ 일 때, $Y_i(t) = Y$이다.
  • T로 지정된 처치 외에 숨겨진 여러 가지 형태의 처치는 존재하지 않는다.

위 일치성 가정은 두 가지 경우에 위배될 수 있다.

  • 처치를 여러 번 했는데도 그중 일부만 고려한 경우
  • 처치가 잘못 정의된 경우

이 일치성 가정 위배는 분석 할 때 처치에 대한 모든 버전을 포함함으로써 해결한다.

 

2. 상호 간섭 없음(SUTVA)

  • 하나의 실험 대상에 대한 효과는 다른 실험 대상의 영향을 받지 않는다.
  • 파급 효과 or 네트워크 효과가 있는 경우 해당 가정 위배 가능

파급 효과는 다른 대상에서 발생하는 효과를 포함하도록 처치효과의 정의를 확장하고 더 유연한 모델을 사용하여 추정할 수 있다.

 

★ 인과 추정량

 

인과추론의 근본적인 문제 때문에, 잠재적 결과 중 하나만 관측할 수 있기에 개별 처치효과를 알 수 없다. 그러나 인과 추정량을 통해 개별 효과 이외에 다른 추정량을 확인할 수 있다.

 

  • 평균 처치효과(ATE): 3가지 방식으로 정의
    • $ATE = E[丁_i]$
    • $ATE = E[Y_{1i} - Y_{0i}]$
    • $ATE = E[Y | do(T = 1)] - E[Y | do(T = 0)]$

ATE는 처치 T가 평균적으로 미치는 영향을 의미한다. (개별 대상에 미치는 영향은 X)

 

  • 실험군에 대한 평균 처치효과(ATT)
    • $ATT = E[Y_{1i} - Y_{0i} | T = 1]$

ATT는 처치 받은 대상에 대한 처치 효과를 의미한다. ATT는 처치 받은 대상을 조건으로 하기에 $Y_{oi}$는 항상 관측되지 않지만, 이론적으로는 정의된다.

 

  • 조건부 평균 처치효과(CATE)
    • $CATE = E[Y_{1i} - Y_{oi} | X = x]$

CATE는 변수 X로 정의된 그룹에서의 처치효과를 의미한다. 조건부 평균 처치효과는 어떤 유형의 실험 대상이 개입에 더 잘 반응하는지 알 수 있어서 개인화에 유용하다.

처치변수가 연속형일 때는 아래 편도함수로 대체한다. 이는 처치가 조금 증가할 때 $E[Y_i]$가 얼마나 변화할 것으로 기대하는지를 나타내는 방법이다.

$$∂/ ∂t E[Y_i]$$

 

★ 편향(bias)

 

편항(bias)는 인과관계와 연관관계를 다르게 만드는 요소다.

 

인과추론을 위해서는 기본적으로 실험군과 대조군을 비교할 수 있어야 한다.

 

ATE를 추정하기 위해선 실험군이 처치 받지 않았을 경우인 $E[Y_0 | T = 1]$와 대조군이 처치 받았을 경우인 $E[Y_1 | T = 0]$을 추정해야 한다. 기본적으로 $E[Y|T=0]$을 사용하여 $E[Y_0]$을 추정하고 $E[Y|T=1]$을 사용하여 $E[Y_1]$을 추정한다. 그러나 두 값이 일치하지 않는다면, 처치 t를 받은 실험 대상의 평균 결과인 $E[Y|T=t]$는 추정하고 싶은 $E[Y_t]$의 편향 추정량이 된다.

 

편향의 수식적 이해

 

평균의 차이가 ATE와 일반적으로 같지 않은 이유를 살펴보자.

 

앞선 예시에서 연관관계는 $E[Y|T=1] - E[Y|T=0]$으로 측정이 되며, 반면 인과관계는 $E[Y_1 - Y_0](E[Y|do(t=1)] - E[Y|do(t=0)]$로 측정할 수 있다. 결론적으로 말하자면, 아래 수식으로 증명이 된다.

 

연관관계는 ATT에 편향을 더한 값과 같다. 편향은 처치와 관계없이 실험군과 대조군이 어떻게 다른지에 따라 주어지고 이는 $Y_0$의 차이로 표현이 된다. 즉, 실험군과 대조군이 교환가능한 상황($E[Y_0|T = 1] = E[Y_0|T=0]$)이 되어야 인과관계로 볼 수 있는데, 교란으로 인해 처치(T)외에도 여러 가지 면에서 차이가 있기에 불가능한 경우가 많다. 때문에, 특정 변수로 결과값의 차이를 결정하려면 실험군(할인한 회사)과 대조군(할인하지 않는 회사)이 교환 가능해야 한다.

 

편향의 시각적 가이드

 

실험군과 대조군의 교환 가능성을 파악하기 위해 수학적 증명 뿐 아니라, 실험군의 변수별 결과의 관계를 시각화하여 교환 가능성을 파악할 수 있다. 

 

아래 그림을 보면, 가격할인 O인 dot가 더 오른쪽에 많은 것을 볼 수 있으며, 이는 일반적으로 할인한 회사가 더 큰 규모의 회사임을 의미한다. 가격을 할인한(T=1) 회사 수와 할인하지 않았을 때의 해당 회사 결과($Y_0$)가 모두 회사의 규모에 따라 증가하기 때문에 상향 편향이 존재함도 확인할 수 있다. 때문에, 실험군과 대조군이 교환 가능하지 않음을 시각적으로 확인할 수 있다.

이와 같이 인과 추론에서는 처치효과와 판매량이 다른 외부적 요인(Ex. 회사 규모)을 모두 파악해야 한다.

 

아래 그림(역 삼각형은 반사실적 결과)을 비교해보자.

 

두 번째 그래프의 개별 대상의 차이(기존 - 반사실적 결과)는 첫 번째 그래프에서의 처치 받은 그룹과 받지 않은 그룹 간의 차이보다 적은데, 이는 오른쪽 그래프의 편향 때문이다. 모든 실험 대상이 처치 받지 않도록 설정한 후 편향을 나타내면 $Y_0$의 잠재적 결과만 남게 되는데, 여기서 처치가 없는 상태에서 실험군과 대조군의 잠재적 결과가 다른지를 확인할 수 있다. 차이가 존재한다면 처치 이외에 다른 요인 때문에 실험군과 대조군의 차이가 생기는 것이다.

 

인과효과 식별하기

 

식별을 알아보기 전에, 하나의 잠재적 결과만 관측할 수 있으므로 인과 추정량을 관측할 수 없음을 언급했다. 그러나 관측 가능한 다른 수치를 찾아서 이를 관심 있는 인과 추정량을 찾는 데 활용할 수 있다. 즉, 관측 가능한 데이터에서 인과 추정량을 찾아내는 방법이 바로 식별 과정이다.

 

인과적 식별은 "편향을 없애는 과정"이다. 즉, 잠재적 결과를 이용하여 연관관계와 인과관계를 동일하게 만들어야 하는데, 만약 $E[Y_0|T=0] = E[Y_0|T=1]$이라면 연관관계는 인과관계가 된다. 이 의미는 처치와 관계없이 대조군과 실험군이 비교 가능함을 의미하며, 수학적으로 편향은 사라지고 실험군의 효과만 남게 된다.

$$E[Y|T=1] - E[Y|T=0] = E[Y_1-Y_0|T=1] = ATT$$

 

더불어 실험군과 대조군이 처치에 유사하게 반응하면 평균의 차이가 평균 인과효과가 된다.

$$E[Y|T=1] - E[Y|T=0] = ATT = ATE = E[Y_1 - Y_0]$$

 

장황하게 말했지만, 간단히 정리하면 실험군과 대조군이 서로 교환 가능하다면 데이터에서 관측할 수 있는 수치로 인과관계를 표현하는 일이 간단해진다.

 

독립성 가정

 

독립성 가정은 처치가 잠재적 결과에 관한 어떠한 정보도 제공하지 않음을 의미한다. ($E[Y_0|T] = E[Y_0]$) 즉 쉽게 말하면 처치 여부에 관계없이 실험군과 대조군 모두 서로 비교 가능하고 구별할 수 없다는 뜻이다. (가격할인 예시에서 모든 회사가 할인하지 않았다면 할인하기로 한 회사와 그렇지 않은 회사를 구분할 수 없음) 독립성 가정에 대한 기호는 $(Y_0, Y_1) ㅗ T$로 표현한다.

 

랜덤화와 식별

 

인과추론 문제는 보통 식별과 추정으로 나뉜다.

  • 식별: 관측 가능한 데이터로 인과 추정량을 표현하는 방법을 알아내는 단계
  • 추정: 실제로 데이터를 사용하여 앞서 식별한 인과 추정량을 추정하는 단계

 

앞서 인과추론에 있어서 편향을 제거하는 것이 중요하다고 언급하였다. 랜덤화(무작위 배정 방식)는 편향을 없애는 방법이다. 랜덤화는 처치 배정 매커니즘이 완전히 알려지기에 인과모델에서 외부변수 $u_t$가 사라진다. 더불어 무작위로 처치가 이루어지기에 독립성 가정을 강제적으로 만족하게 된다.

$$IsOnSales <- rand(t)$$

$$AmountSold <- f_y(IsOnSales, u_y)$$

 

예를 들어 아직 아직 실현되지 않은 잠재적 결과(삼각형)을 랜덤화하여 두 개의 잠재적 결과 중 하나를 실현시켜보자.

그 다음 잠재적 결과(삼각형)를 제거하여 군더더기를 제거해보자. 이제 실험군과 대조군을 비교할 수 있는데 여기서의 실험군과 대조군의 차이는 처치 이외에 다른 차이를 발생시키는 요인이 없기 때문에 평균 인과효과로 볼 수 있다.  ($E[Y_0|T=0] = E[Y_0|T=1]$)

 

 

식별은 이같이 데이터 생성 과정을 알거나 기꺼이 가정할 수 있는 경우에만 가능하다. 즉, 쉽게 말해 일반적으로 처치가 어떻게 배정되었는지를 알 수 있을 때 식별이 가능하다. 데이터 자체도 인과추정에 매우 중요하지만, 처치가 어떻게 이루어졌는지에 대한 설명도 굉장히 중요하다.

 

무작위 배정으로 독립성 확보하기

 

무작위 실험은 인과추론의 가장 중요한 "표준"이다. 때문에 무작위 실험이 특별한 이유를 반드시 이해해야 한다.

 

연관관계는 아래와 같이 ATT와 편향의 합으로 설명할 수 있다.

 

편향이 0일때, 측정된 연관관계가 인과관계라고 볼 수 있는데, 편향이 없다는 말은 $E[Y_t|T=0] = E[Y_t|T=1]$인 경우를 의미한다고 하였다. 즉, 이는 실험군과 대조군이 처치 이외에 나머지 조건이 동일(비교 가능)한 상황임을 알 수 있다. (실험군과 대조군의 잠재적 결과에 대한 기댓값이 같음)

 

더불어 잠재적 결과가 처치와 독립(독립성 가정)인 경우, 연관관계가 인과관계와 동일해짐을 배웠다. $Y_1 ㅗT$는 실험 대상이 처치 받았더라면 관측되었을 결과가 실제로 처치 받았는지의 여부와는 관계가 없다는 의미다. 즉, 이때는 관측된 결과 Y가 처치 여부에 따라 달라짐을 알 수 있다. (실험군 = 대조군, 실험군과 대조군의 결과 차이를 유발한 요인이 "처치")

 

처치 T를 무작위로 배정하면, 실험군과 대조군이 비교가능해 지는 상황을 만들어볼 수 있다. 무작위로 처치를 배정하면 실험군과 대조군의 기댓값은 거의 비교 가능해지며, 두 그룹 간 차이가 처치(T)밖에 없는 상황이 만들어진다. 때문에 랜덤화는 처치와 잠재적 결과를 독립적으로 만들게 된다.

 

무작위 실험의 장점은 실험군이 처치 받았다는 사실 외에 다른 차별점이 있는지 걱정할 필요가 없다는 것이다. 무작위 실험은 이러한 차이점을 의도적으로 없애주기에 $(Y_0, Y_1) ㅗ T$를 만족한다. 그러나, 실제로 무작위 배정이 제대로 이뤄졌는지 확인하기 위해선 실험군과 대조군이 처치 받기 전에 동일한지 확인하는 것이 좋다. (Ex. 성별, 나이 등 비율)

 

두 그룹의 유사성을 평가하는 방법은 여러 가지 있지만, 여기서는 실험 대상 집단 사이의 정규화 차이를 계산하여 평가할 수 있음을 말한다.

 

소규모 표본에서는 무작위로 배정해도 우연히 그룹들 간 차이가 클 수 있지만, 대규모 표본에서는 그룹들 간 차이가 사라지는 경향이 있다.


Reference

https://product.kyobobook.co.kr/detail/S000212577153