ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [LgAimers] Casual Inference for Special Cases(다양한 경우에 대한 Causal Inference 적용방법)
    전공&대외활동 이야기/2024 LG AIMERS 4기 활동 2024. 1. 27. 18:29

    지금가지 배운 인과추론에 관한 개념들, 특히 Do calculus와 베이지안 정리를 기본으로하여 아래의 다양한 상황에 대해서 예시들을 통해 대응해보자. 

     

    Genralized Identifiability(여러 Case에서 do Calculus 적용)

    Example1: Cholestrol level & Heart Attack

     

    위의 상황의 DAG가 주어져있다고 해보자. 

    우리가 궁금한 것은 Q, 즉, 콜레스트롤 level이 심장에 주는 영향을 확인해보려고 한다. 

    What we want to Know: Q = P(y|do(x))

     

    하지만 기존 문제와 다르게 교란변수 Z(diet)와의  bi directed edge가 있어서 backdoor 방법을 사용할 없다. 

     

    하지만 우리는 Z, diet에 대한 실험으로 X,Y의 변화를 구할 수 있다. 즉,  Experimental Study를 통해 추가적인 정보를 얻을 수 있다면, Do Calculus의 Rule 2를 이용해  Q를 계산할 수 있다.

     

    두개의 실험데이터를 이용한 다른 예제를 살펴보자. 

    Example2: Drug-Drug Interaction

    이번 예제에서는 2 원인에 대한 인과관계, 즉, 약 2개를 동시 복용시 심장의 반응에 관한 인과관계를 확인하고 싶다.

    그러면 이를 구하기 위해서, Marginal Distribution을 이용해 식을 전개해보자. 

    그러면, b, 즉, blood pressure에 관한 식으로 Marginal Distribution식을 전개 가능할 것이다. 

     

    만일, X1에 관한 실험 데이터와 X2에 관한 실험 데이터, 즉, 각각에 관한 데이터가 존재할 때, 인과효괄르 계산할 수 있다.

     

    일반화 화면, Divde & Conquer와 같이, 인과효과를 우리가 아는 실험데이터를 이용하기 위해 더 잘게 쪼개어 풀 수 있다

     

    위의 예시를 보자. 위에서 만일 Z라는 교란변수가 w에 영향을 끼치는 상황을 보자. 

    이를 해결하기 위해, 우리는 do(w)와 w에 관한 do(x)의 sum 식으로 변형하여 이를 풀 수 있다.

    최종적으로 위의 식을 전재하여 풀 것이다. 

    즉,  여러가지의 실험 데이터를 활용하는 general identifiability,  복잡한 상황에서 인과효과를 계산하는 것도, do-calculus에 기반하여, 우리에게 있는 데이터를 어떻게 이용할지 잘 식을 분해하면 가능하다. 

     

    Transportability: Distribution Shift 가정이 깨졌을때, 다른 도메인에서의 인과효과 적용

    기본적으로 Machine Learning이나 Deep Learning 등 다양한 모델들에서 데이터를 학습할 때, Test와 Train dataset을 분리하여 학습한다. 

    이 때 우리는 Train과 test 데이터가 동일한 확률분포에서 왔다, 즉, Distribution Shift가 존재하지 않은 동일 domian에 기반한다는 가정하에, 동일한 모델을 다른 dataset에 그대로 사용할 수 있는 것이다. 

     

    만일 이 가정이 깨진, Distribution Shift가 일어난 상황이라면, 어떻게 인과효과를 계산할 수 있을까?

    Transportability 주어져 있는 데이터의 소스와 우리가 인과 효과를 계산하고자 하는 타겟이 서로 다른 도메인일 때의 인과 추론을 다루는 문제이다. 즉, 일반화에 관한 문제이다. 

    source와 taget의 domain이 동일하다면 그대로 모델을 적용해도 되지만, 아니라면 노란색 박스에 해당하는 switch 변수가 하나 더 존재한다고 생각해야한다.

     

    위의 그림에서와 같이, 왼쪽은 Target과 source(우리의 원 모델)이 동일하다면, 그대로 적용하는 것에 문제가 없다. 

    하지만 모든 변수가 다르다면, 우리는 Transporable하지 않을 것이다. 

     

    일반적으로는 둘 사이의 적절한 지점이 현실의 문제일 것이다. 

     

    각 case에 대해 보다 명시적으로 표현하기 위해 각 변수에 노란색 노드에 해당하는 switch를 두어, 만일 1이라면(switch on, 화살표가 연결된 경우) 해당 변수가 distribution shift가 일어난 경우라고 하자. 

     

    Case 1: Switch on Z

    위의 경우처럼, 교란변수 Z만 distribution shif 된 경우라면, Z가 주어져 있고, x에 중재되어있는 경우 target은 영향을 주지 않기 때문에, source로 바꿀 수 있다. 즉, source에서의 조건부 확률과 target에서의 확률을 결합하여 인과 효과를 구하는 것이 가능하다. 

     

    Case 2: Switch on Z child

     

    교란변수가 아닌, 교란변수의 child에 차이가 존재하는 경우이다. 이럴 경우 이는 다른 변수, X,Y에 영향을 주지 않는 경우이기에 차이가 없다(d seperation 적용 가능)

    Case 3: Switch on meidator

     

    3번째 케이스는 X와 Y 사이의 mediator에 차이가 있는 경우이다. 

    이런 경우에는 위에 주어진 것처럼 식을 전개 가능할 것이다.

     

    결국 우리의 실험데이터는 절대적인가? 에 관한 질문에 대답하는 것이 바로 Transportablity에 관한 고려이다. 

    만일  모집단과 인과효과를 적용하고자하는 data의 차이가 있다면, transportablity를 이용해 이런 알고리즘을 통해 문제를 변형하는 것이 중요할 겻이다.

     

     

    Selection Bias

    selection Bias

    Sampling 된 Data에 Bias가 들어가 있는 경우도 인과추론을 통해 해결할 수 있다(사실 해결보다는 해석 가능하다가 맞는 표현 같다).

    위의 비행기 data의 경우 전쟁 때 전투기가 탄을 맞은 착탄지점을 표시한 것인데, 이를 보고 아 날개와 몸체를 강화해야겠구나! 라고 생각할수도 있지만, 실제로 탄을 맞고 추락한 전투기의 경우 data에 포함되어 있지 않기에 이는 Bias가 존재하는 데이터이다. 

    이런 경우처럼 데이터의 샘플이 random하게 선택된 것이 아닌 선택적으로 포함되는 경우를  선택 편향이라고 한다(Selection Bias)

     

    이런 경우에도 sample이 데이터에 포함되어있는지를 표현하는 변수 S를 통해 DAG에 이를 표현 가능하다. 

    selection Bais를 표현

     

    만약 S가 1이면 selection Bias가 있음을 의미한다. 오른쪽 그림은 selection 변수가 있을 때의 그래프를 나타내며, S가 W1, W2에 영향을 받는 것을 확인 가능하다. 

     

    위의 Theorem에 따라서 S와 Y가 X에 대해 조건부 독립일때, 우리는 P(Y|X)=P(Y|X, S=1)을 통해 계산가능하다. 하지만, 위의 Theroem이 매우 엄격한 조건이기에 실제로는 적용하기 힘들다. 

     

    그리하여 일부 편향되지 않는 요소를 활용해 구할 수 있을까? 라는 질문으로 이어지게 되는데, 아래의 예제로 연결된다.

    위의 예제에서는 W1과 W2가 S에 영향을 끼치고 있기에, W1과 W2에 관한 정보나 W2나 Z3에 관한 정보가 있다면 이를 계산 가능하다.

    (Backdoor 조건이나 Do calculus로 식을 이끌어낼 수 있는 것 같다)

    추가적으로 아래의 예제의 식도 유도 가능하다. 

    예제

    Recovering Missing Data

    실제로 data를 다루다보면, NA 즉, 데이터 누락된 경우가 많은데, 이 또한 위에서 처럼 변수를 추가하여, 특정 가정을 통해 어느정도 극복 가능하다. 

    위의 예제의 경우 Obestity, 즉, 비만도의 관한 데이터가 missiing 되어있는데, 이를 다루기 위해 변수를 추가해보자. 

    실제 학생의 비만도를 의미하는 변수 O(주어지지 않았지만 참값), 비만도가 누락되는 매커니즘에 관한 변수 $R_0$, missing 데이터를 포함하는 관측된 데이터 변수 O*을 두자.

     

    그러면 각각의 가정에 따른 DAG를 따로 그릴 수 있다. 

    Case1:  MCAR(missing completely at random)  데이터가 누락되는 원인이 Random하다고 해보자. 

    이 경우는 예시로 무작위적으로 사람들이 데이터를 잃어버렸다고 하는 예시가 될 것이다.

    두번째 가정으로는 MAR(Missng at Random): 매커니즘이 어떤 누락된 변수에 의해 영향을 끼친다

    이 경우는 특정변수에 의해 누락이 되는 경우(나이에 따른 사춘기..? 등 조사되지 않은 변수)를 의미한다

     

    마지막으로는 MNAR(missing completely not at random), 우리가 관측된 변수에 의해 missing된 값이 존재한다라고 하자.

    이 경우 예시로는 비만도가 높거나 매우 낮은 사람들은 부끄러움에 의해 데이터를 기입하지 않은 경우가 될 것이다.

     

    기존 알고리즘, 즉 NA를 계산해서 복원하거나, 데이터를 제외하는 경우에는 MAR, MCAR의 case의 경우에는 잘 작동하는 모델이지만,  MNAR에 관해서는 데이터의 편향을 우려할 수 도 있다. 

     

    이를 잘 파악한다면, 아래의 두 Case처럼 do calculus나 Back-door adjustment로 NA데이터에 대해 보다 엄밀히 대응가능할 것이다. 

Designed by Tistory.