Data Analysis & ML/인과추론

[인과추론] Structural Causal Model(SCMs) (구조적 인과모형) (작성중)

YSY^ 2023. 12. 3. 23:06

Causality란?

Correlation과 Causality

만약 아래의 데이터가 있다고 가정할 때, 운동과 콜레스테롤 수치에 Correlation(상관관계)가 있는것으로 보이는데, 과연 운동을 많이할 수록 콜레스테롤 수치가 높다고 인과관계를 정의할 수 있는가

데이터를 더 detail하게 뜯어보면, 나이에 따라 보면, 운동을 많이할 수록 콜레스테롤 수치가 줄어드는것으로 볼 수 있다.

따라서 Correlation (상관관계)은 Casuality(인과관계)가 아니다.

Counterfactual

  • Potential Outcome(PO)
    • X가 원인이고 Y가 결과이며, 만약 X가 x로 고정되었을때 (원인이 명확해졌을때)
    • $Y_{X=1} = 1$ & $Y_{X=0} = 0 $
    • X가 일어났으면 Y도 일어나며, X가 일어나지 않았을때, Y도 일어나지 않았으면 인과관계가 있다고 볼 수 있다.
    • 하지만 인과관계를 이렇게 정의할 수 있을까

예시 ) 수지와 빌리가 병을 향해 공을 던져 깨트리는 상황을 가정하자, 여기서 수지는 빌리보다 병에서 더 가깝기에 공을 더 먼저 깨트린다.

그리고 위 예시를 아래와 같이 정의할 수 있다.

  • ST : Suzy Throws $\in {T, F}$
  • BT : Billy Throws $\in {T, F}$
  • SH : Suzy's ball Hit the bottle
  • BH : Billy's ball Hit the bottle
  • BFO : Bottle Fall Off

이때 아래와 같이 인과 그래프를 표현할 수 있다.

여기서 공을 던지는 행위를 do(T), 수지가 공을 던지지 않는 행위를 do(F)로 정의하자

그런데 위 그래프에서 볼수 있다시피, 수지가 공을 던지든(do(T)) 던지지 않든(do(F)) 병은 깨지는 것을 확인할 수 있다. (BFO -> T), 왜냐하면 수지가 공을 던지지 않아도 어처피 빌리가 나중에 공을 던지기 때문에 병은 깨지는 것이다.

따라서 위에서 정의한 Potential Outcome은 성립하지 않는다.

하지만 여기서 "빌리가 공을 던지지 않는다" 라는 전제가 있다면 아래와 같은 인과그래프가 성립한다.

이때는 수지가 공을 던지면 병이 깨지고, 수지가 공을 던지지 않는다면 병이 깨지지 않게 된다.

Causal Model

  • 위 예시를 Causal Model이라고 한다.
  • $m = <V,U,F>$
  • V : a set of endogenous observable variables (관찰가능한 변수)
  • U : A set of exogenous latent variables (관찰 불가능한 변수)
    • U가 고정이 되면 V도 고정, 즉 모든 불확실성은 전부 U에 있음
    • 위 예시의 경우 U (빌리가 공을 던지는 경우)가 정해져 있다.
  • F : A set of structrual equations ( ${f_{Vi}}_{Vi \in V}$ )
    • 관찰가능한 변수들이 어떻게 값이 변하는지 정해줄 수 있는 함수)

Structural Causal Model (SCMs)

  • Causal Model에서의 U (관찰 불가능한 변수)는 우리가 알기 어려움,
  • 따라서 이 불확실성을 담당하는 확률이 있을때 이를 SCM이라고 함
  • causal model에 확률을 넣은 것임
  • SCMs 은 Potential Outcome Framework가 표현하고자 하는 것을 채워줄 뿐만 아니라, 부족한 부분도 보완해준다.
  • X를 x로 고정했을때 나오는 Y가 PO이다.
  • $m = <V,U,F, P(u)>$
  • V : a set of endogenous observable variables (관찰가능한 변수)
  • U : A set of exogenous latent variables (관찰 불가능한 변수)
  • F : A set of structrual equations ( ${f_{Vi}}_{Vi \in V}$ )

SCM의 특징 : Axiomatic logic

  • simple하고 당연한 것부터 시작함
  • acyclicity : cause -> effect & effect ->x cause (즉 양방향이 아님)
  1. Composition : X를 특정값으로 고정하면 (ex.모든 환자들이 약을 먹었다.), W(ex. 환자들의 혈압)은 $W_x$로 고정됨
    • $Y_{x(u)} = Y_{x, W_{x(u)}}(u)$
  2. Effectiveness : X를 x로 가정하면 $X_x(u) = x$ 이다
  • 위와 같은 당연한 조건을 만족하는 모델은 scm 뿐이다.

Three hierarchy in human cognition

Human Cognition 의미 Task Quantity 예시
L1(Association) 상관관계 관찰 Classification
Regression
Observational Study
P(y|x) 이 증상이 내 두통의 원인인가
L2 (Intervention) 개입(do)
인과관계 확인
Reinforcement Learning
Randomized Trail (A/B Test)
P(y|do(x)) 아스피린을 먹으면(do(x)) 두통이 나을까
L3 (Counterfactual) Retrospect  Structural Causal Model P(y_x | x',y') 아스피린을 먹지 않았다면, 아픈것이 나았을까
  • SCM은 AI에게 인간의 생각을 가르치기 좋은 모델
  • L1 -> L2 -> L3으로 하위에서 상위 단계로 추정하는건 불가
    • 예를들어, 상관관계 관찰한거(L1)로 인과관계(L2)를 도출할 수 없음

L1,L2,L3의 관계

SCM Process

1. Graph(인과 그래프) :  우리가 알고 있는거는 X랑 Y랑 대충 이런 관계가 있다는 graph가 필요함

2. Data : 관찰된 데이터 (L1)

3. Query : L1과 graph를 가지고 L2, L3를 어떻게 이야기할 것인가

  • 따라서 SCM을 구현하기 위해서는 Data와 Graph가 필요함!

 

728x90
반응형