해당 포스팅은 "실무로 통하는 인과추론 with 파이썬" 책을 학습하면서 재구성한 글입니다.
1. 들어가며
지난 포스팅에서는 인과추론이 필요한 이유와 연관관계와 인과관계 차이, 처치와 결과, 인과추론의 근본적인 문제에 대해서 다뤘습니다. 우리가 일상을 살다 보면 다양한 의문이 들 때가 종종 있습니다. 예를 들면, 흡연하는 사람들에게는 폐암이 더 잘 발견되는데, 이러한 이유가 꼭 흡연에 의해서 발생하는 것일까? 아니면, 환경이나 유전적 요인에 의한 것인가? 등등 이와 같은 고민을 해보셨다면 오늘 다룰 내용인 인과모델이 도움이 되실 것 같습니다. 또한 만약 모든 사람들에게 돈을 동일하게 줬다면, 어떤 일이 벌어질까? 등처럼 개입에 대한 개념도 오늘 포스팅에서 다뤄보려고 합니다.
2. 인과추론 용어 정리하기
인과모델
인과모델은 화살표를 활용하여 변수가 미치는 영향을 표현하는 방식이라고 이해하면 좋습니다. 아래의 수식에 대해 간략하게 설명하면, $T$는 처치변수이고, $u_{t}$는 내생변수(아직 설명할 수 없는 변수), $f_{t}$라는 함수를 통해 처치변수 $T$를 발생시킵니다. 해당 변수 $T$와 내생변수 $u_{y}$가 $f_{y}$라는 함수를 통해 결과 $Y$가 발생하게 됩니다.
$$ T \leftarrow f_{t}(u_{t})$$
$$ Y \leftarrow f_{y}(T, u_{y}) $$
여기서 나오는 내생변수 $u_{t}$와 $u_{y}$는 현재 모델에서 모델링에 포함하지 않기로 한 변수이지만, 영향을 주기 때문에 포함을 해야 합니다. 비슷하게 예시를 들어보면, 지난 포스팅에서도 적었듯이, 폐암발생률과 흡연은 깊은 인과관계가 있음이 밝혀져 있습니다. 이를 간단하게 모델링한다면 아래와 같이 표현할 수 있을 것입니다.
$$ IsSmoking \leftarrow f_{t}(u_{t})$$
$$ LungCancer \leftarrow f_{y}(IsSmoking, u_{y})$$
모델링에 포함되지 않은 $u_{t}$라는 변수가 $f_{t}$라는 함수에 의해 흡연여부인 $IsSmoking$이라는 처치변수에 영향을 주게 될 것이고, 이 처치변수와 $u_{y}$가 $f_{y}$라는 함수에 의해 결과인 $LungCancer$로 이어지게 됩니다. 이 때, $\leftarrow$를 사용하는 것은 인과관계의 비가역성으로 인해 표시됩니다. 비가역성이란 반대로 돌아갈 수 없다는 것을 의미합니다. 위의 예시를 바탕으로 보면, 흡연이 폐암의 원인이 될 수는 있지만, 그 반대는 성립하지 않기 때문입니다. 이처럼 등호보다는 화살표를 이용하여 비가역성을 표현했다고 보시면 될 것 같습니다.
위의 케이스에 추가로 발전시켜봅시다. 보통 흡연을 하게 되는 다양한 원인이 있겠지만, 대개는 주변 환경에 의해 흡연으로 이어지는 경우가 많이 있다고 생각해 보고 해당 변수를 인과모델에 포함시켜 보겠습니다.
$$ EnvironmentalFactor \leftarrow f_{s}(u_{s})$$
$$ IsSmoking \leftarrow f_{t}(EnvironmentalFactor, u_{t})$$
$$ LungCancer \leftarrow f_{y}(IsSmoking, u_{y})$$
환경요인을 추가해본다면, 위와 같은 방식으로 변수를 추가해 볼 수 있습니다. 이처럼 인과모델은 모델에 포함되어 있지 않은 다양한 변수들을 포함해 볼 수 있습니다.
개입
개입은 인과추론에서 중요한 부분입니다. 이전 포스팅에서 말씀드렸듯이, 인과추론은 실제 원인에 개입하여 원하는 결과를 이끌어 내고자 하기 때문에 중요합니다. 만약 위의 예시에서 가정해서 모든 사람이 흡연하도록 개입했다고 가정해 보겠습니다. 그렇다면, 위의 수식에서 아래와 같이 변화하게 됩니다.
$$ IsSmoking \leftarrow t_{0}$$
$$ LungCancer \leftarrow f_{y}(IsSmoking, u_{y})$$
이처럼 함수 $f_{y}$가 아니라, 상수 $t_{0}$ 로 작용하게 되어 뒤쪽에 영향을 주는 요소를 제거하게 됩니다. 위의 예시로 모든 사람이 흡연하도록 개입했다고 했을 때, 폐암으로 이어질 가능성은 높아지게 될 것입니다. 이처럼 $T$에 개입하여 어떤 결과가 발생할지를 추론하고 싶다면 $do(T=t_{0})$로 표현할 수 있습니다.
여기서 아래의 수식은 어떤 것을 뜻할까요?
$$ E[LungCancer | do(IsSmoking = 1)] $$
위에서 $E[X]$는 확률변수 $X$의 기댓값을 이야기하는데, 여기서의 기댓값은 확률분포에서 평균적으로 결과를 나타내는 값으로, 여기서는 모든 사람에게 흡연하도록 통제한 후의 평균적인 폐암 발생률을 뜻하게 됩니다. 흔하게 아는 조건부 확률은 흡연자로 분모를 한정하게 되지만, 위의 수식과 같이 작성하게 되면 앞에서 설명한 조건부 확률과는 다르게 모든 전체 집단이 분모가 되게 됩니다. 모든 사람에게 흡연하도록 통제했기 때문이죠. 여기서 사용하는 $do(.)$의 개념은 인과추정량을 정의할 때 활용되게 됩니다.
개별 처치효과
개별 처치효과(Individual Treatment Effect)은 실험 대상 $i$에 처치가 결과에 미치는 영향을 표현하는데, 아래의 식으로 표현할 수 있습니다.
$$ \tau_{i} = Y_{i} | do(T=t_{1}) - Y_{i} | do(T=t_{0}) $$
위의 수식을 조금 풀어서 설명하면, 실험 대상 $i$에 대해 처치가 $t_{0}$에서 $t_{1}$으로 바뀌었을 때의 효과를 표현합니다. 하지만, 이전 포스팅에서 다룬 것처럼 두 개의 케이스 중 1개의 케이스 밖에 관측할 수 없는 인과추론의 근본적인 문제가 있습니다.
잠재적 결과
잠재적 결과(Potential Outcome)은 처치가 $t$인 상태일 때, 실험 대상 $i$의 결과 $Y$를 일컫습니다.
$$ Y_{ti} = Y_{i} | do(T_{i} = t) = Y(t)_{i} $$
만약 처치에 대한 범주가 2개라면, 처치 받지 않았을 때의 잠재적 결과를 $Y_{0i}$로 표현하고, 동일 대상의 $i$에 처치했을 때의 잠재적 결과를 $Y_{1i}$로 표현하기로 합니다. 이처럼 2개의 현상 중 관측할 수 있는 것에 대해 사실적 결과, 관측할 수 없는 결과를 반사실적 결과로 책에서 정의하고 있습니다.
일치성과 상호 간섭 없음(SUTVA)
위에서 언급한 개별 처치효과와 잠재적 결과에 대해 숨겨진 가정이 존재합니다. 첫 번째 가정은 잠재적 결과가 처치와 일치성이 있어야 합니다. 일치성이 있어야 한다는 것은 처치로 지정한 $T$ 외에는 다른 형태의 처치는 존재하지 않아야 한다는 것을 말해줍니다. 처치를 여러 번 했는데 그중 일부만 고려하는 경우, 처치가 잘못 정의된 경우에 일치성 가정에 위배된다고 볼 수 있습니다. 일치성 가정 위배를 해결하려면 처치에 대한 모든 버전을 포함해야 합니다.
두 번째 가정은 상호 간섭 없음 또는 SUTVA입니다. 하나의 실험 대상에 대한 효과는 다른 실험 대상의 영향을 받지 않아야 합니다. 파급효과나 네트워크 효과가 있는 경우는 이러한 가정을 위배할 수 있습니다. 이 가정을 위배하면, 일반적으로 처치효과가 실제보다는 작게 나올 수 있습니다.
3. 정리하기
오늘은 인과추론에서 인과모델과 개입, 개별처치효과, 잠재적결과 그리고 이에 수반하는 가정 2개에 대해서 다뤄봤습니다. 저의 경우에는 배터리 제조회사에서 근무하다 보니, 배터리에 포함되는 다양한 부품과 재료들이 성능에 어떤 영향이 끼치는 지를 대충은 알고 있으나, 도식화해보거나 인과관계를 이어볼 생각을 하지는 못했던 것 같습니다. 이번에 인과추론을 공부하면서 실제로 각 재료들의 변화가 배터리 성능에는 어떤 영향을 끼치는지 분석해 보고 이를 활용해 보면 추후에도 원인 분석할 때 도움이 많이 될 것 같습니다. 다음 포스팅에서는 인과 추정량에 대해서 다뤄볼 예정입니다.