Fast Causal Orientation Learning in Directed Acyclic Graphs
Causal relationships among a set of variables are commonly represented by a
directed acyclic graph. The orientations of some edges in the causal DAG can be
discovered from observational/interventional data. Further edges can be
oriented by iteratively applying so-called Meek rules. Inferring edges'
orientations from some previously oriented edges, which we call Causal
Orientation Learning (COL), is a common problem in various causal discovery
tasks. In these tasks, it is often required to solve multiple COL problems and
therefore applying Meek rules could be time-consuming. Motivated by Meek rules,
we introduce Meek functions that can be utilized in solving COL problems. In
particular, we show that these functions have some desirable properties,
enabling us to speed up the process of applying Meek rules. In particular, we
propose a dynamic programming (DP) based method to apply Meek functions.
Moreover, based on the proposed DP method, we present a lower bound on the
number of edges that can be oriented as a result of intervention. We also
propose a method to check whether some oriented edges belong to a causal DAG.
Experimental results show that the proposed methods can outperform previous
work in several causal discovery tasks in terms of running-time.