causal discovery 大致可分为两类,independence-based 完全基于数据去建图; Semi-Parametric 针对 parametric form 作假设建模
Independence-Based Causal Discovery
首先我们需要作出一些假设
Faithfulness 在之前的马尔科夫假设中,我们从因果图出发分析数据,假设如果 X 和 Y 在 G 图中的 Z 节点条件下独立,那么 X 和 Y 基于 Z 条件独立。 这里的faithfulness假设则是从反方向假设,即如果 X 和 Y 在数据上对 Z 条件独立,那么在其对应的因果图中,同样有此条件独立关系
现在来到了下一个问题,我们应该如何得到 Essential graph 呢?其中一种方法称为 PC Algorithm,该算法分为三步
Identify the skeleton 我们首先从无向完全图开始,对于边 X-Y,如果存在一个 Condition set Z 使得 $X \perp !!! \perp Y \vert Z$ ,那么我们删除连接 X 和 Y 的这条边。condition set 从空集开始,逐渐增加集合内元素的个数进行判断
Orient qualifying edges that are incident on colliders 经过第二步后,所有的immorality都别识别出并添加了边的方向。在现在的图中,针对所有 $X \rightarrow Z - Y$ 的路径,当 X 和 Y 之间没有边连接时,我们可以对 Z 和 Y 之间的边添加方向,即 $Z \rightarrow Y$
我们从 PC Algorithm 得到的因果图只是 Essential graph 中的一种形式,并不能保证得到和真实因果图一模一样的graph。
除了 PC Algorithm 外,还有一些算法针对更加广泛的情况(即移除部分假设)进行应用,这里列举一些
No assumed causal sufficiency: FCI algorithm
No assumed acyclicity: CCD algorithm
Neither causal sufficiency nor acyclicity: SAT-based causal discovery