본문 바로가기

Enginius/Machine Learning

Causalty란 무엇일까?


Causality - 한국 말로는 인과성 정도 되려나? 

인과 관계와 상관 관계는 연구자라면 항상 주의 깊게 구분할 줄 알아야 한다. 이 둘을 혼용하는 사람들이 많은데 특히 특정 목적을 가지고 이 둘을 혼용하는 사람들을 보면 화가 날 때가 많다. 

결론부터 말하자면, 난 이걸 잘 모른다. 그리고 대충 가지고 있는 느낌은 directed acyclic graph를 구성해야 한다. Conditional dependency를 잡는 것이 중요하다. 





간단한 인과 관계의 예로 위의 그림과 같이 비가 오면 진흙이 생긴다를 생각해보자. 진흙은 다른 일로도 생길 수 있기에 other cause를 고려하는 DAG가 생겼다. 화살표로 연결이 안되어 있으면 'no direct causal' 관계이다. 



위의 그림에서 얻을 수 있는 사실은 

1. A와 B는 causally independent하다.

2. C, D, E는 A와 B에 causally dependent하다. 여기서 C만이 아니라 D와 E도 들어감에 주의하라. Grand children도 당연히 포함된다. 

3. A와 B는 C의 direct cause이다. 

4. A와 B는 D, E, F의  indirect cause이다. 

5. C가 A와 B에 영향에서 벗어나면 A와 B는 D, E, F에 더이상 영향을 줄 수 없다. 



Conditional independence는 중요하다. 

$$ P(x|y,z) = P(x|z) $$

가 말하는 것은 우리는 '$z$'만 알아도 '$x$'에 대한 정보를 아는대 충분하다는 것이다. sufficient statistics같은 느낌적인 느낌이랄까? 



Conditional independence의 special case는 marginal이다. 즉

$$ p(x|y) = p(x) $$

인 경우이다. 이러면

$$ p(x,y) = p(x|y)p(y) = p(x)p(y) $$

가 된다. 



자 이제 드디어 causal structure가 등장한다. 결국 DAG로 관계를 나타낸다는 것이다. 



DAG 구조와 이 구조를 정의할 수 있는 파라미터가 있으면 Causal Model이 된다. 구체적으로는 파라미터는 DAG구조에 맞는 conditional dependency를 알려주고, 각 random variable의 probability measure를 구할 수 있게 해준다. 



당연히 conditional structure가 주어지면 joint probability distribution을 구할 수 있다. 이 분포는 causal structure를 구할 수 있게 해준다. 부모가 주어지면 자식은 증조부와 무관해진다. 아래 두 statement가 중요하다. 

1. We may allowed to inspect a select subset of observed variables to ask questions about the probability distribution over the observations.

2. We may recover the topology of DAG from the probability distribution over the observations. 



'$X$'가 '$Y$'에 대해서 causal influence가 있다는 것은 '$X$'에서 '$Y$'로 가는 경로가 있다는 것이다. 여기에 in every minimal structure consistent with the data가 붙는다. 데이터를 옳바르게 설명하는 minimal 구조에 대해서! 는 뒤에서 설명이 나오는데 잘 모르겠다. 



자 여기서 minimal에 대한 정의가 나온다. 이 속성은 일단 latent structure에 붙는 속성이고, observation의 분포를 '옳바르게' 설명할 수 있는 구조를 뜻한다. 하나는 아닌 것 같다.  



역시나 여기서도 consistency는 observation의 joint 분포를 잘 만들 수 있으면 해당 latent structure가 consistent하다고 한다. 



여기에서 deduction과 abduction, induction를 구분한다. 아주 좋은 구분이다. 


1. Deduction


- 이 박스에 있는 '모든' 공은 검은 색이다. 

- 이 공들은 박스에서 나왔다. 

=> 이 공은 검은 색이다.

를 추론하는 것이다. 그래서 항상 참이다. 


2. Abduction


- 이 박스에 있는 모든 공은 검은 색이다. 

- 이 공은 검은 색이다. 

=> 이 공은 박스에서 나오지 않았을까?

라고 유추 하는 것이다. 물론 틀릴 가능성이 많다. 


3. Induction


- 이 공들은 박스에서 나왔다 

- 이 공들은 검은 색이다. 

- 이 박스에 있는 모든 공은 검은 색이지 않을까?

라고 귀납하는 것이다. 즉 일반화를 하는 것이고, 역시나 틀릴 가능성이 많다. 일종에 가설을 새우는 것이라 볼 수 있다.