인과추론

인과추론의 분석단위와 인과모델

백악기작은펭귄 2024. 5. 20.
반응형

인과추론의 분석단위와 인과모델

인과추론 연구에서 분석단위(unit of analysis)는 일반적으로 개입(처치)하려는 대상이다. 이전 게시글에서 개입(intervention)에 대해서 간단하게 이야기했지만, 개입이 무엇인지 정확히 알아볼 필요가 있다.

 

이번 게시글에서는 개입 혹은 처치에 대해서 알아볼 것이고, 또한 인과추론에서 사용되는 공식 표기법인 인과모델에 대해서 알아볼 것이다.

 

처치와 결과

온라인 커머스 기업에서, 가격할인이 판매량에 미치는 영향을 알아보고자 인과추론을 활용하는 시나리오를 생각해 보자. 품목이나 그 특성에 따라 조금 복잡해질 수 있으니, 여기서는 문제를 더 단순화해서, '12월 크리스마스 이전 기간의 장난감 판매 기업에서의 가격할인과 판매량 사이 인과관계 추론' 시나리오를 가정해 보도록 하겠다. 이를 위한 샘플 데이터는 다음 csv 파일을 다운로드하여 사용하면 된다.

 

xmas_sales.csv
0.04MB

 

앞서 우리는 개입, 즉 처치(treatment)가 원인에 대해 인위적인 변동을 주는 것이라고 하였다. 여기서 우리는 직관적으로, 처치가 할인 여부임을 알 수 있고, 결과는 판매량의 변화라는 것을 알 수 있다.

 

하지만 좀 더 기술적으로 표현해 보도록 하자. 일반적으로 인과추론에서 처치는 $T$ 또는 $D$로 나타낸다. 이러한 처치는 구하려는 효과에 대한 개입을 나타낼 때 사용하는 용어로, 실험 대상 $i$에 대한 처치 여부 $T_i$를 다음과 같이 표현할 수 있다. 이번 시나리오 상에서는 '할인'이 곧 처치가 된다.

 

또, 결과(outcome)의 경우 영향을 주고자 하는 변수로, 이번 시나리오 상에서는 '판매량'이 될 것이다. 이러한 실험 대상 $i$의 결과는 $Y_i$로 표기한다.

 

이처럼 인과추론은 처치 $T$가 결과 $Y$에 미치는 영향을 학습하는 과정이라고 할 수 있다. 해당 시나리오 상에서는 할인 여부가 판매량에 미치는 효과를 파악하는 것이 목표가 된다.

 

인과추론의 근본적 문제

조금 예리한 사람들이라면 알아차렸을 수도 있겠지만, 인과추론에는 근본적인 문제가 존재한다. 바로, 동일한 실험 대상의 '처치를 받은 상태'와 '처치를 받지 않은 상태'를 동시에 관측할 수 없다는 점이다. 다음 boxplot을 보면 할인은 진행한 상점들의 판매량이 훨씬 많았음을 알 수 있다.

 

 

이는 대체로 납득이 가는 결과이다. 일반적으로 할인을 하면 사람들이 더 많이 구매하게 되고 판매량이 늘어나기 마련이니 말이다. 하지만 위 그림을 자세히 살펴보면 약간 의심스러운 부분을 발견할 수 있다. 할인을 하지 않은 경우의 판매량은 0에서 100 정도인데 할인을 한 경우 100에서 200으로 판매량이 매우 급격하게 증가하였음을 알 수 있다. 물론 아예 있을 수 없는 일은 아니지만, 여전히 약간 비정상적인 증가율을 보이고 있음을 느낄 수 있다.

 

인과추론은 도메인 지식과 밀접한 관련이 있다. 이처럼 결과가 비정상적인 양상을 보일 때에는 도메인 지식을 바탕으로 검토를 해볼 필요가 있다. 예를 들어, 원래 판매량이 높은 대기업이 공격적으로 할인을 진행해서 중소 규모에 비해 두 배에 가까운 판매량을 기록했을 수도 있다. 혹은 크리스마스에 근접해서 초특가 세일 공지를 함으로써 순간 판매량을 급격하게 올린 결과일 수도 있을 것이다.

 

여기서 중요한 점은, 동일한 기업이, 동일한 시기에 할인을 한 경우와 할인을 하지 않은 경우를 동시에 관측할 수 없다는 점이다. 그것이 가능하다면 정확한 원인이 무엇인지 파악할 수 있지만 실제 세상은 그렇게 작동하지 않기 때문에 한계점이 존재한다. 이와 같이, 처치 여부에 따라 관측할 수 없는 상황반사실(counterfactual) 상황이라고 하며 이를 비교해야만 정확한 인과관계를 알 수 있지만 그것은 대부분의 경우 불가능하다. 직관이나 선형회귀와 같은 머신러닝, 혹은 다른 수학적 기법을 간접적으로 활용할 수도 있겠지만 인과추론에 들어맞는 다른 방법을 찾아야 할 필요가 있다.

 

인과모델

인과모델(causal model)은 인과관계에 대해 이야기할 때 사용하는 공식적인 표기법이다. 이러한 공식적인 표기법과 개념을 정립해야 직관 이상의 결과를 얻어낼 수 있기 때문에 이를 잘 이해하는 것은 매우 중요하다.

 

인과모델은 화살표($\leftarrow$)로 표현하는 일련의 할당 메커니즘이다. 이 메커니즘은 모델의 외부 변수 $u$와, 한 변수를 다른 변수에 매핑하는 함수 $f$로 구성되어 있다.

 

$$
T \leftarrow f_t(u_t)
$$
$$
Y \leftarrow f_y(T, u_y)
$$

 

첫 번째 식에서, 모델링하지 않는 외부 변수 집합 $u_t$가 함수 $f_t$를 통해 처치 변수 $T$를 유발하는 원인이 된다. 두 번째 식에서는 처치 변수 $T$가 다른 변수 집합 $u_y$와 함께 함수 $f_y$에 입력되어 결과 $Y$를 유발한다. 이 식에서 $u_y$는 결과 $Y$가 단순히 처치 변수 $T$에 의해서만 결정되지 않음을 나타낸다. 즉, 모델링하지 않은 외부 변수일지라도 결과에 영향을 미칠 수 있음을 의미하는 것이다.

 

가격 할인이 판매량에 미치는 영향을 분석하는 시나리오에서는 처치에 해당하는 할인 여부 외에도 모델링 되지 않은 외부 변수들(ex - 기업 규모, 할인 시점 등)이 판매량에 영향을 미칠 수 있음을 알 수 있다. 이처럼, 변수 $u$의 목적은 모델링에 포함되는 내부 변수(여기서는 할인 여부)만으로는 설명되지 않는 모든 변동을 설명하는 것이다.

 

인과모델에서는 일반적인 등식과 달리 등호(=)가 아닌 화살표를 사용하는데, 이는 인과관계의 비가역성(non-reversibility)을 명확하게 표시하기 위함이다. $T$가 $Y$의 원인인 것과, 그 반대로 $Y$가 $T$의 원인인 것은 다른 문제이기 때문이다. 이러한 원인과 효과의 비가역성으로 인해 인과모델에서는 일반적인 대수학과 달리 양변의 변수 이동이 자유롭지 않음을 기억하자.

 

우리의 예시 시나리오에서는 내부 변수로 할인 여부만을 사용했다. 하지만 실제 상황에서 우리는 더 많은 변수들을 원인으로 고려할 수 있다. 이처럼 더 많은 변수를 사용하여 모델링을 하려면 외부 변수 집합 $u$에서 원하는 변수를 꺼내어 명시적으로 인과모델에 포함시키면 된다. 이로써 해당 변수들을 모델 내에서 설명할 수 있게 된다. 예를 들어, 기업 규모(BusinessSize) 등을 내부 변수에 추가하고자 한다면 다음과 같이 인과모델을 표현할 수 있다.

 

$$
BusinessSize \leftarrow f_s(u_s)
$$


$$
IsOnSales \leftarrow f_t(BusinessSize, u_t)
$$

 

$$
AmountSold \leftarrow f_y(IsOnSales, u_y)
$$

 

이처럼 추가적인 내부 변수 $BusinessSize$를 인과모델에 추가하기 위해서는 해당 변수가 어떻게 생성되었는지 나타내는 수식을 추가하고 이를 $u_t$에서 제외하면 된다.

반응형

'인과추론' 카테고리의 다른 글

그래프 인과모델  (0) 2024.05.30
인과적 식별  (0) 2024.05.28
인과효과에서의 편향  (1) 2024.05.24
처치 효과와 사실적/반사실적 결과  (0) 2024.05.22
인과관계와 인과추론  (0) 2024.05.18

댓글