데일리 미션/Article

Article : 도메인은 모르지만 인과추론은 하고 싶어

pipiiiiii 2024. 7. 17. 10:02

https://playinpap.github.io/adjustment-for-confounding/

 

도메인은 모르지만 인과추론은 하고 싶어

도메인 없이 인과추론이 가능할까? 인과추론은 도메인에 상당 부분 의존할 수 밖에 없는 방법론입니다. 도…

playinpap.github.io

 

 

<아티클 내용 요약>

도메인 없이 인과추론이 가능할까?

인과추론은 도메인에 상당 부분 의존할 수 밖에 없는 방법론이다. 도메인에 대한 지식이 있어야 관심의 대상 Y(결과, outcome)를 정의할 수 있고, 이에 직접적으로 개입할 수 있는 요인 A(처치, treatment)를 선정할 수 있다. 그리고 A가 Y에 주는 영향을 정확하게 파악하기위해서 이 둘에 영향을 미치는 교란변수 X(confounder)들을 알고 있어야 한다. 

사실 A와 Y는 상식선에서 선정하는 것이 가능할 수 있지만 교란변수 X를 알기 위해서는 도메인에 대한 지식 없이는 어려운 점들이 많다. 

 

하지만 전문가라고 하더라도 관찰된 변수가 수도 없이 많을 경우 이 관계들을 사전에 정확하게 아는 것이 어렵다. 그래서 완전히 데이터 중심(data-driven )으로 변수간의 그래프 구조를 식별하기 위한 시도로 인과관계 발견(causal discovery)하는 방법이 있다. 

 

causal discovery는 변수의 형태를 제한하는 등의 제약이 없으면 작동하기 어려우며, 변수간의 모든 조합을 고려하는 것은 계산량이 너무 많은 방법이다. 

 

 

인과추론으로 무엇을 알고 싶은데?

 원점으로 돌아가서 인과추론을 통해 알고 싶은 것은 무엇인가?

어떤 실험 / 처치 / 행동 / 정책이 가져온 효과를 정량적으로 분석하고 싶다. 

그렇다면 어떤 변수간의 모든 관계를 알 필요는 없다. 왜냐하면 효과를 추정할때 bias(편견)를 야기할수 있는 교란변수를 보정했다(혹은 모형에 넣었다)는 사실이 중요하지 변수들간의 관계 자체는 bias에 영향을 전혀 미치지 않기 때문이다.

 

우리는 도메인에 대한 지식이 부족해도, 혹은 알고 있지만 수 많은 변수들을 수작업으로 일일이 가려내는게 어려우니 교란변수를 모형 기반으로 보정하는 방법에 대해 알아볼 것이다. 대신 모형기반의 교란변수 보정이라고 해서 도메인에 대한 지식이 전무해되 되는 건 아니지만 기본적인 가정에 대해 알아보려고 한다. 

 

 

모형 기반의 교란변수 보정

모형 기반으로 교란변수를 보정하려면, 잠재적 교란변수의 대상은 한정해줄 필요가 있다. 적어도 변수들간의 시간적 선후관계는 알아야 한다. 그래서 시간적으로 처치 이전에 발생한 변수만을 걸러서 남겨줘야한다. 

우리가 다루는 변수는 교란 변수 X, 처치 A결과 Y 동시에 영향을 주는 변수기 때문이다. 처치 이후 정해지는 변수는 처치에 영향을 주기 어려우니 거르는 것이다. 

 

더불어 교란변수 보정이라고 해서, 단순한 Lasso 회귀모형으로 결과 Y를 처치 A와 일부의 잠재적 교란변수 X로 설명하려는 시도는 적절하지 않다. 계속 강조하듯, 교란변수는 처치 A와 결과 Y에 모두 영향을 주는 변수다. 단순히 Lasso 같은 모형을 넣고 끝내면 해당 변수는 결과 Y를 예측하는 모형이 될 뿐이다. 그 결과로 선택된 교란변수 X는 교란변수라고 말할 수 없으며, 교란변수가 아니기 때문에 정확한 추정도, 인과를 이야기하는 것도 어렵다. 

 

모형 기반의 교란변수 보정 방법은 결과 Y에 대한 모형 뿐만 아니라 처치 A에 대한 모형도 고려해야한다. 실제로 이를 위한 모형들은 결과 Y와 처치 A에 대한 모형 둘 모두 동시에 적합하다. 

 

 

트리 모형 기반의 교란변수 보정

머신러닝 기반의 교란변수 보정 모형은 인과 효과에 대한 추정을 정밀하게 수행할 수 있지만 일반적으로 어떤 변수가 교란변수로 작동하는지 알 수 없다. 하지만 베이지안 트리 앙상블 모형인 BART를 이용하면, 정확한 효과를 추정하고 교란변수일 확률까지 동시에 수행하는것이 가능하다. 

 

해당 모형은 처치 A에 대한 BART와 결과 Y에서 나무 분기에 동시에 사용되는 변수들에 더 큰 가중치를 주어 학습하는 방식이다. 그 결과 교란변수가 아닌변수들은 최종적으로 모형에 전혀 포함되지 않고, 교란변수 혹은 결과 Y에만 영향을 주는 변수만 선택되어 정확한 인과효과 추정이 가능하다는 장점이있다. 

 

 

뉴럴넷 기반의 교란변수 보정

뉴럴넷을 기반으로 데이터 기반의 교란변수 보정을 하고 싶다면, 이를 위한 모형으로 Draggonet이 존재한다. 해당 모형은 잠재적 교란변수 X들로 네트워크를 거쳐 처치 A에 대한 예측을 수행하고, 여기서 만들어진 가중치들로 다시 잠재적 결과 Y(1), Y(0)을 예측하는 모형이다. 

 

단순히 Y(1), Y(0)을 예측하지않고, 처치 A에 에대한 정보를 충분히 갖도록 모형이 구성되어 있어 다른 뉴럴넷 모형에 비해 효과 추정이 우수하다고 알려져있다. 다만, 데이터의 수가 적은 경우 좋은 성능은 고려하기 어렵다.

 

 

언제 쓸 수 있을까?  

모형 기반의 교란변수 보정 방법은 결과 Y와 처치 A의 정보를 종합해 모형을 구성하고, 이를 바탕으로 효과를 추정하는 방법이다. 이를 위한 모형으로 머신러닝 모형이 많이 사용되다보니, 관측치 n의 개수가 충분하면서 잠재적 교란변수의 개수 p가 많은 경우에 사용하는 것이 적절하다. 모형이 무겁지는 않지만, 굳이 설계된 실험같이 간단하게 분석할 수 있는 문제를 이렇게 풀 필요는 없고 이미 관측이 끝났지만 데이터는 충분히 주어져 있는 경우에, 사후적으로 사용할 수 있는 방법이라고 이해하면 좋을 것 같다. 

 

 

<알게 된 개념>

인과 추론에 대해서 그리고 도메인 없이 할 수 있는 인과 추론에 대해 알고자 본 아티클이었다. 

뭔가 용어가 어렵기도 했지만 용어도 알아보면서 보는 아티클이라 재밌게 볼 수 있었다. 

그리고 다양한 기법에 대해 알아본 아티클이라고 느꼈다.

 

평소 보던 아티클보다 내용이 어려워서 읽는 것에도 오래 걸렸지만 뭔가 이 정도의 지식은 있어야 데이터 분석가가 될 수 있나싶은 생각이 든다.