데이터 사이언스/Statistics

[인과성 추론 (Causal Inference) ] 필요한 가정 1편 - 인과 변수 설정, 일관성

라니체 2022. 6. 13. 22:33
728x90

 

데이터로부터 두 변수간의 인과성을 추론해내기 위해서는 네가지 가정이 필요하다.

여기서 인과성을 추론한다는 것은 두 변수 사이의 원인과 결과 관계를 밝혀내고, 그 관계를 수량적인 함수로 밝혀냄을 말한다. 이러한 인과성 추론은 실생활에 매우 유용하게 사용될 수 있으며, 예를 들면 요즘 핫한 주제인 "코로나 백신 접종률이 코로나 확산 예방에 정말 효과가 있는가" 와 같은데에도 사용될 수 있겠다. 다만, 가정이 좀 까다로워서 실질적으로 사용하기 위해서는 많은 주의가 필요하다. 오늘은 그 네가지 가정 중 두가지 가정만 다뤄보도록 하겠다.

 

첫째로, "한 변수가 다른 변수의 원인이다." 라는 가정이다. 이 가정은 사실 모든 인과 연구의 시작점이 되며, 위 예시에서는 코로나 백신 접종률이 원인, 코로나 확산 예방이 그에 따른 결과로 볼 수 있겠다.

 

출처 : 한국일보

 

 

 

두번째로, 일관성(consistency) 이라고 불리는 가정이다. 이 가정은 반 사실(counterfactual)에 대한 이해가 필요한데, 반 사실이란 쉽게 얘기해서 평행 세계를 생각해보는 것이다. 위 예시를 예로 들면, 우리가 지금 살고 있는 세계에서는 정부의 지침과 국민들의 성원에 힘업어 백신 접종률 84%를 달성하였다. 그런데 만약 평행 세계가 있다고 가정하고 그 평행 세계에서는 백신 접종률이 44%밖에 안된다고 생각해보는 것이다. 이러한 평행 세계를 반 사실(counterfactual)이라고 한다.

 

그렇다면, 일관성(consistency)이란 무엇일까. 이해를 돕기 위해 좀 더 쉬운 예시를 들도록 하자. 예를 들어, 어떤 암 환자가 어떤 의사에게서 A라는 수술법을 통해 암 수술을 받았다고 하자. 그리고 그 후에 30년을 더 살고 사망하였다고 하자. 그런데 우리는 인과 분석을 하기 위해서 그 환자가 만약 A 수술법이 아닌 B라는 수술법으로 암 수술을 받았더라면 혹은, C라는 수술법으로 암 수술을 받았더라면 그 결과 (그 환자의 기대 수명)가 어떻게 되었을 지 궁금할 수 있다. 즉, 우리는 이 환자가 A라는 수술을 받고 30년을 더 살았다는 "관측값"을 가지고 있지만, B라는 수술과 C라는 수술을 받고 몇년을 더 살았다는 관측값은 가지고 있지 않다.

 

그러므로 우리는 사실(factual)에 대한 결과값은 가지고 있고, 반 사실(counterfactual)에 대한 결과값은 가지고 있지 못한 셈이다. 이러한 사실(factual)에 대한 결과값과 반 사실(counterfactual)에 대한 결과값을 포괄하여 함수로 표현한 것이 잠재적 결과(potential outcome)이다. 잠재적 결과는 Y(A), Y(B), Y(C) 와 같이 결과값(원인 종류)로 표현하며, Y(A), Y(B), Y(C)는 각각 A,B,C 수술의 결과로 인한 환자의 기대 수명으로 표현할 수 있다. 일관성이란, 사실 (factual)에 대한 잠재적 결과값에 해당하는 Y(A)가 A수술을 받은 환자의 관측된 Y와 일치한다는 것을 의미한다.

 

일관성은 어찌보면, 당연한 소리인거 같지만 항상 당연하지는 않을 수도 있다. 그것은 우리가 A,B,C와 같은 원인 (또는 개입(intervention) 이라고도 부른다.)을 어떻게 설정해주느냐에 따라 일관성 가정이 깨질 수 있다. 예를 들어, 위에서 A,B,C를 수술의 종류로만 둔다면, Y(A)라는게 나타내는 것은 어떤 환자가 A라는 수술을 받았을 때 결과로 나타날 기대 수명이다. 그렇다면, 이 환자가 10년차 의사에게서 A라는 수술을 받았을 때의 결과도 Y(A)이고, 1년차 의사에게서 A라는 수술을 받았을 때의 결과도 Y(A)이다. 이 두가지 Y(A)는 충분히 서로 다를 수 있다. 그런데 만약 이 환자가 실제로 10년차 의사에게서 A라는 수술을 받았었다면, 그 관측된 Y는 잠재적 결과값 Y(A)와 달라질 수 있는 경우가 발생한다. 따라서 intervention에 대한 정의를 최대한 정교하게 할 필요가 있다.

 

이러한 일관성 가정은 관념적인 개념인 potential outcome을 현실 (factual)에서 관측한 관측값들로 부터 구해낼 수 있게 하는데 요긴하게 사용된다. 예시는 아래와 같다. (Y는 기대수명, Y("A")는 A 수술에 대한 잠재적 결과, T는 수술 종류, X는 환자의 기본 체력 정보)

 

 

E[Y("A") | T="A", X=x ] = E[Y | T="A", X=x]

 

 

위 식을 해석해보자면,

수술 A를 받았던 기본 체력정보가 x인 사람들을 다시 수술을 받기전으로 되돌려서 (평행세계)

수술 A를 받게 한다면, 그 결과에 대한 평균값은

지금 현재 관측되는 수술 A를 받고 기본 체력 정보가 x인 사람들의 평균과 같다는 것이다.

 

한편, 위에서 말한 것 처럼 Y(A)라는게 수술 A를 누구에게 받느냐에 따라 달라질 수도 있다고 하더라도,

그 randomness를 위와같이 expectation 연산으로 뭉뚱그려버리면 현실에서 관측된 관측값들의 평균으로

potential outcome의 평균을 근사하는 건 어느정도 합리적으로 보이긴 하다. (현실에서 관측된 관측값들도 그 randomness를 안고 있을 것이므로.. 예를 들어, 한 사람의 의사만 수술을 하진 않을 것이다.)

 

하지만, 좀 더 정교하고 정확하게 인과추론(causal inference)를 하기 위해서는 Y(A)의 randomness를 줄이는게 좋으며, 이를 위해서는 A,B,C와 같은 intervention들을 적절히 구체적으로 정의할 필요가 있다.

 

이를 통해서 정확한 데이터 분석을 위해서는 가설과 문제를 clear하게 정해놓는것이 매우 중요하다는 것을 또 한 번 느꼈다. (즉, 데이터로부터 무엇이 알고싶은건지 가설을 확실하게 할 것!)

그리고 이처럼 인과추론은 말을 많이해야하는 분야라는 것도 새삼 느꼈다. (그만큼 도메인 지식의 역할이 크다.)

 

 

 

% 출처 : “Hernán MA, Robins JM (2020). Causal Inference: What If. Boca Raton: Chapman & Hall/CRC.”