[Causal Discover] FCI Algorithm

정성현·2023년 1월 4일
1

인과추론

목록 보기
2/2

본 글의 상당 자료는 인과추론의 데이터과학 강의를 참고하였음을 미리 알립니다.

FCI 알고리즘을 설명하기에 앞서 앞장에서 먼저 PC 알고리즘에 대해 정리하였습니다.

FCI 알고리즘과 PC 알고리즘의 가장 큰 차이는 노드 사이에 Unmeasured confounder가 있을 가능성의 유무라고 할 수 있습니다.

지난 장의 마지막 부분에서 PC 알고리즘의 한계 중에 관찰하지 못한 Confounder가 존재한다면, 실제 인과 그래프와 PC 알고리즘이 도출하는 인과 그래프의 모양이 다를 수 있다고 하였습니다.

이런 한계를 해결하려고 한 알고리즘이 바로 FCI 알고리즘이라고 할 수 있겠습니다.

PC 알고리즘의 시작은 위 표의 2처럼 아무것도 없는 Undirected Graph였습니다.
그렇기에 PC 알고리즘의 경우 위 표처럼 A와 B가 존재할 때, A가 B의 cause가 되거나 B가 A의 cause가 되는 2개의 가능성을 가질 수 있습니다.
왜냐하면, Unmeasured confounder가 없다고 가정하기 때문입니다.

반면에 FCI 알고리즘의 시작은 5처럼 A와 B 사이에 구멍이 뚫린 원이 Edge 끝에 달린 형태의 Undirected Graph로 시작합니다.

이것은 다음과 같은 5가지의 가능성을 내포합니다.

  • A가 B의 원인이다.
  • B가 A의 원인이다.
  • A와 B에 원인이 되는 Unmeasured Confounder가 존재한다.
  • A가 B의 원인임과 동시에 A와 B에 원인이 되는 Unmeasured Confounder가 존재한다.
  • B가 A의 원인임과 동시에 A와 B에 원인이 되는 Unmeasured Confounder가 존재한다.

FCI 알고리즘으로 도출된 그래프를 보면 위 표의 3처럼 양쪽으로 화살표가 그려진 경우가 있는데, 이것의 의미는 서로가 서로의 원인이라는 의미가 아닌, A와 B에 원인이 되는 Unmeasured Confounder가 존재한다는 의미이다.
기존의 PC 알고리즘이었다면, 이 경우에 A와 B의 관계를 규명할 수 없었을 것이다.

위와 같은 Ground Truth가 있다고 가정하고 FCI 알고리즘의 과정을 간단하게 설명하겠습니다.

위 그래프는 모든 노드끼리 Edge를 연결한 후, 노드 간에 Conditionally independence가 존재하는 경우의 Edge들을 제거한 후의 결과입니다.

Ground Truth 그래프를 보면, X와 Z는 독립이지만 만약 Y를 conditioning 하면 Unmeasured Confounder로 인해, X에서 Z로 가는 path가 뚫리게 됩니다.
이 경우에 Y를 X와 Z의 Collider로 보고, Edge의 방향을 그려주게 됩니다.
Y와 W와의 관계도 위 예시와 동일하게 적용되어 Z가 Y와 W의 Collider로 볼 수 있어, Edge 방향을 정해 주어 위 그래프처럼 결과가 나오게 됩니다.

profile
데이터에 관심이 많은 백엔드 개발자

0개의 댓글