ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [LGAimers] Calculating Causal Effect(인과추론 계산법) & BackDoor criterion
    전공&대외활동 이야기/2024 LG AIMERS 4기 활동 2024. 1. 26. 16:32

    Causal Effect

     

    Causal Effect를 계산하기 전에 그 정의부터 알아보고 가자. 저번 글에서 정리한 do operator를 이용해 정리된 원인 X->Y의 인과관계는 P(y|do(x))라고 표현하고, 이를 더 줄여써서 $P_x(y)$라고 한다. 

    이는 X에서 Y의 확률분포를 의미한다.

    Computing Causal Effects

     

    계산하고자 하는 P(y|do(x))를 위해 관측데이터와 Causal Diagram이 존재할 때, 인과추론 알고리즘을 통해 이를 계산한다. 

    이 때 값을 특정할 수 있을 때만 우리가 값을 구할 수 있다(다른 방법론으로, 모델로 graph를 분석했을 때 다른 값이 나오면 특정할 수 없다, 인과효과가 여러 개이다)

     

    위의 예시를 보자. 우선 Z는 교란변수이고, W는 mediator로 존재한다.

    그럼 Do operator를 써서 Z->X로 향하는 edge를 제거하면, 이때 Y의 분포를 알아보자. 

    즉 우리가 궁금한 것은 P(Y|do(x))이다. 

     

    그럼 P(v), 즉, observed된 데이터 set(of y)에 관한 분포를 보자. 

    do(x)를 통해 x를 변수가 아닌 상수로 고정하면, 아래와 같이 식이 변하게 된다.

    이는 v, 즉 관측된 y는 z에 관한 확률 * z에 영향을 받는 x * x에 영향을 받는 * ... 으로 식이 구성되어있었다면,

    이중 x를 고정한 확률의 경우 x|z가 항상 일어나기에 1로 변형된 것을 확인 가능하다. 

    조금 햇갈리는데 다른 예시를 통해 더 살펴보자.

     

    Sprinkler and slippler 예시

     

    위의 이미지와 같이, 우리가 관측된 dataset에 관해서 Slippery와 Season의 관계를 알고싶다고 해보자. 

    그렇다면 위에서 했던 것과 같이 decompose 가능할 것이다. 

     

    그럼 이 때 sprinkler에 중재를 하면(P(W|do(Sp=on)))

    이 do에 관한 조건부확률 식을

    유도가능하고,

    그러면 첫번째 식에서 Sprinkler가 seaon에 영향을 받는 식을 제거하면 최종 식은 아래와 같이 유도된다.

    인과효과를 계산하기 위해 위에서처럼, 중재변수를 제거하기 위해 조건부확률을 이용 식을 변형할 수도 있지만, 이런 방법을 적용하려면 그래프의 모든 변수들이 관측가능해야, 각 확률을 모두 구할 수 있어야한다는 조건이 있다.

    이를 조금 변형하여 Causal effect를 계산할 때, X, Y, Parents of X만 알면 값을 계산할 수 있다(결합확률분포 이용)

    수식은 아래와 같다.

     

    하지만 대다수의 경우에 all parents of X 등 위에서 말한 data들이 관측이 힘들거나 불가능할 경우도 있다. 이럴 경우에는 어떻게 해야할까?

    동일한 예시를 사용해보자. 만일 Season data가 latent, 즉, 관측이 불가능하다면 effect를 계산하는 것이 가능할까?

    season에 관한 부분을 뒤로 sum을 뒤로 빼면 계산이 가능하다. 

     

    이렇게 나오는 수식들을 Adjustment Formula라고 한다. 

    위의 식 같은 경우에는 r에 관해 P(r) 형식임으로 r(rain)에 관한 adjustment formula라고 한다.

    이런 방법론을 일반화한것이 Back-door Criterion이다.

    Back-door criterion

    이전 예제에서 다룬 Simpson's Paradox의 예시로 돌아와보자. 

    Z, Kideny Stone의 size는 교란변수로 작용하고, X와 Y는 각각 원인과 결과이다(우리가 보고싶은 인과성확인을 위한)

    그러면 우리는 원하는 데이터 간의 인과성만을 판단하기 위해 데이터에서 교란변수에 의한 상관성을 제거하고자 할 것이다. 

    이런 상관성 제거를 위한 방법이 바로 Back door Criterion이다.

     

    즉, Z라는 교란변수를 제거하고자 하는 것이다. 이를 더 자세히 살펴보자.

    Z라는 조건은 아래의 2조건을 만족해야하는데(Z는 set다)

    1. Z는 X의 descendant, 즉 영향을 받는 변수이면 안된다.

    2. Z가 X->Y를 모두 막아야한다(뒷문 조건)

     

    조금 더 구체적으로 보기 위해 조금 복잡한 그래프를 통해 이를 살펴보자.

    1. $Z_6$의 경우 X에 종속됨으로 1번 조건 불만족

    2. 2번조건을 보면, $Z_1, Z_4, Z_2$를 모두 꼭짓점, 혹은 반환점으로 가지는 뒷문들이 있는데, 우선 $Z_4$를 막으면, $Z_1, Z_2$가 바운스 해서, 즉 $Z_4$를 거쳐서 통과하여 갈 수 있기에 이 둘 중 하나를 추가로 막아야한다.

     

    혹은 위와 같이 구하지 않고, X의 descendent한 vertex(X에서 화살표가 직접 연결된)와 연결된 Edge만 제거한 우측 그래프에서 조건부독립되는 변수 Z를 찾아도 된다. 

     

    하지만 Back door criterian은 Sound하다. 즉, 방법을 찾을 수는 있지만, 모든 방법을 보장하지는 않는다. 이를 해결하기 위해 Do-Calculus를 이용가능하다.

    Do-Calculus

    여러 중재조건에서 나오는 확률들끼리의 연결고리를 만든 뒤, 서로 다른 중재로 어떤 확률분포를 바꾸어주는 것이 Do-calculus이다. 말로 풀어쓰니 역시 이해하기 어렵다. 

    단순히 아래의 if조건들을 만족할 때, 등호가 성립하는 식 변환 방법이라고 이해하면 된다. 

    밑에 있는 x,y,z는 일반적인 vertex  요소를 의미한다.

     

    그럼 예시를 통해 Do calculus의 적용을 확인해보자.

    아래 예시는 흡연, 암, 타르의 관계를 보여주는 Graph이다.

     

    Do calculus는 sound하고 complete하지만 어떤 방법을 거쳐야 우리가 원하는 식에 도달할 수 있을지는 정해져 있지 않다. 최근에는 이런 Do calculus를 이용하여 식을 다항시간 내에 유도하는(가능한 경우) 알고리즘이 있어, 이를 통해 식을 유도 가능하다. 

Designed by Tistory.