SNU Causal Inference : Identification of Causal Effects

김대원·2026년 1월 8일

SNU : Causal Inference

목록 보기
4/8

1. Challenge of Causal Inference

어떠한 변수 X 를 우리가 조작한다고 할 때, 기존에 우리가 수집한 데이터의 분포는 조작 후의 데이터 분포와는 달라질 것이다.

우리가 개입한 후에 발생하는 목표 변수 Y의 변화량을 인과 효과 (Causal Effect)라 부름. 앞서 말했 듯, 주어진 데이터셋의 분포는 우리가 알고자 하는 분포와는 다르기에 문제가 발생한다.

Figure 1. Graph Surgery

1.1 Causal Effect


인과 효과에 대한 수학적 정의는 다음과 같고, 기존에 우리가 학습한 SCM 에서의 변수 X를 생성하는 fXf_XX=xX=x 로, 즉 상수 함수로 바꾸는 것과 동일하다고 볼 수 있다.

이를 통해, Figure 1에서의 확률 분포를 본다면 다음과 같이 나타낼 수 있다.

여기서 PxP_x는 intervention 이후의 바뀌게 된 확률 분포

이때, w와 z에 대해 Marginalization 을 수행하게 되면 Px(y)=P(ydo(x))P_x(y)=P(y|do(x)) 를 알 수 있게 된다. 고로, 실제로 intervention을 수행하지 않고 기존에 수집한 데이터만으로도 인과 효과를 계산할 수 있다.

1.2 Truncated Factorization Product

Markovian Model 가정 (곧, unobserved confounder 가 없다는 가정) 하에, 우리는 P(V)=viVP(vipai)P(V)=\underset{v_i\in\bold{V}}{\prod}P(v_i|pa_i)(Markovian Factorization) 으로 표현할 수 있었다.

do(x) 이후에도 이는 달라지지 않고, 위에서 P(v)P(v) 를 표현한 것과 마찬가지로 P(xpai)P(x|\bold{pa_i})를 생략한 Markovian Product 로 나타낼 수 있다.

P(v\xdo(x))=viV\XP(vipai)=P(v)xXP(xipai)P(\bold{v}\backslash \bold{x}|do(\bold{x}))=\underset{v_i\in\bold{V}\backslash{\bold{X}}}{\prod}P(v_i|\bold{pa_i})={P(\bold{v})\over\underset{x\in\bold{X}}{\prod}P(x_i|pa_i)}

2. Identification Problem


수식적으로만 보면 직관적으로 와닿지 않을 수 있기에 풀어서 설명하자면, 관측 가능한 변수 집합에 대한 확률 분포 P(v)P(v) 가 동일하며, 인과 그래프 구조가 동일한 그래프 집합들에 대해 그 중 어떠한 두 그래프를 뽑더라도 P(ydo(x))P(y|do(x)) 가 바뀌어선 안 된다는 것이다.

곧, U가 어떠한 형태이든지 상관 없이 P(ydo(x))P(y|do(x))가 하나로 결정되어야 한다.

이를 벤 다이어그램으로 나타내면 위와 같이 나타낼 수 있다.

2.1 Identification in Markovian Models

이때, unobserved confounder가 존재하지 않는 Markovian Model을 가정함에 주의하자. 곧, Semi-Markovian 상황이라고 한다면 Non-identifiable 할 수 있다는 것.

하지만 우리가 Monte Carlo Sampling이 되었건, 현실에서도 데이터를 수집할 때 어떠한 vSparse 하거나 아예 관측하지 못했을 수 있기에, 모든 V\X\bold{V}\backslash X 의 부분 집합만 보더라도 P(ydo(x))P(y|do(x)) 를 계산할 수 있다면 이 문제를 해결하고자 하는 Motivation 이 존재한다.

2.2 Adjustment by Direct Parents (X={x}, Singleton)


우리가 실제로 관찰하고자 하는 것은 XYX\rightarrow{Y}로의 인과 효과이다.
그렇기에 Markovian Model 을 가정할 때, 우리가 간섭하고자 하는 변수의 부모 집합만을 전부 조건으로 제시하게 되면, 비인과경로(non-causal path, or back-door path) 가 존재한다 하더라도 이러한 경로는 Chain 또는 Fork 형태의 Triplet을 가질 수 밖에 없다.
(부모 노드를 Z라고 할 때, WZX,WZXW\rightarrow{Z}\rightarrow{X},\,W\leftarrow{Z}\rightarrow{X} 등)

그렇기에 부모 노드를 전부 막는다는 것은 위의 형태로 X를 포함하는 triplet 들을 in-active triplet 으로 만드는 것이기에, X가 Y에 미치는 직접적인 인과 효과만을 계산할 수 있다.

2.3 Adjustment by Direct Parents (set of treatments X)

앞서 2.2에서 다룬 것은 treatment 변수를 하나만 설정 했을 경우지만 현실에선 우리는 다양한 조치를 한 번에 취할 수도 있다.

어떤 환자에게 주사를 놓았을 때의 인과 효과 뿐 아니라, 주사를 놓고 영양제를 먹이는 등 다양한 조치를 동시에 취할 수 있고 이를 측정하려 하며 위의 공식을 다음과 같이 일반화 시킬 수 있다.

이때, PaWPaW\W,Pax=XXPa\bold{Pa^-_W}\equiv{\bold{Pa_W}\backslash\bold{W}},\,\bold{Pa_x}=\bigcup_{X\in\bold{X}}\bold{Pa}
여기서 PaX\bold{Pa^-_X}를 정의 내리는 이유는, 앞서 Singleton 의 경우와 다르게 PaX\bold{Pa_X}X\bold{X} 의 원소가 들어가 있을 수 있어서다.

강의 자료에서의 증명은 Mathematical Induction을 이용하여 처리 되었지만, 이 글에서 나는 직관적으로 위의 명제가 성립할 수 밖에 없음을 얘기해볼 것이다.

그렇기에 causal effect 를 계산하기 위해, non-causal path를 block 하기 위하여 given condition 으로 추가해야 하는 변수들은 2.2 에서 다룬 바와 같이 X 집합에 속하지 않은 부모 노드들만 추가하면 충분하다는 것이다.

3. Case Study : Back to Sprinkler

이전 게시글에서 다루었던 Sprinkler 예시를 다시 가져와보도록 하자. 하지만 이번엔 season 을 unobserved confounder 라 생각하고 말이다.

이 경우 P(wtdo(sp))P(wt| do(sp)) 를 계산할 수 있을까? 결론부터 말하자면 가능하다. 앞서 우리가 다룬 Adjustment formula 를 이용하여 이를 계산할 수 있다.

Sprinkler의 직접적인 인과 효과만을 보고 싶기에 non-causal path를 막을 필요가 있으나, sprinkler 와 rain의 confounder인 season을 우리는 관측할 수 없기에 season 을 조건부로 사용할 수 없다.

하지만 그렇다고 해서 spsnrnwtsp\leftarrow{sn}\rightarrow{rn}\rightarrow{wt} 의 non-causal path를 차단할 수 없는 것인가?

아니다, 차단할 수 있다. 이때 우리가 관찰 가능한 변수 중 rn이 있음에 주목하라. rn이 존재한다는 것은 곧 rn 을 given condition 으로 조정하면 snrnwtsn\rightarrow{rn}\rightarrow{wt} 의 triplet 이 in-active triplet 이 되어 차단 됨을 알 수 있다.

고로, Direct ParentsAdjustment formula를 사용하기 위한 충분 조건이지, 필요 충분 조건이 아님을 알 수 있다.

profile
Tech Bunny

0개의 댓글