Juliacon 2024

Recursive Causal Discovery with Julia
2024-07-11 , Method (1.5)

We present a package for Recursive Causal Discovery for learning the causal relationships between variables. The package, called RecursiveCausalDiscovery.jl, contains, so far, the implementation of one algorithm called Recursive Structural Learning (RSL), which efficiently utilizes underlying side-information about the structure of the graph that relates the variables to one another.


The problem of causal discovery seeks to determine causal relationships between variables. Unlike traditional statistical methods which often focus on identifying correlations, causal discovery aims to understand how changes in one variable can directly influence or cause changes in another. Algorithms for causal discovery use data, alongside with statistical methods, to determine such causal relationships.

The Julia package for causal discovery, CausalInference.jl, implements some score-based and constraint-based algorithms for causal discovery, such as the parent-child (PC) algorithm. However, such algorithms often require conditional independence (CI) tests with large conditioning sets or a large number of CI tests which grows exponentially as the number of variables increases. Moreover, we often have side-information about the structure of the underlying graph that relates the variables to one another, knowing which can drastically reduce the learning complexity. To this end, Mokhtarian et al., 2022 present an algorithm called Recursive Structural Learning (RSL) algorithm, which incorporates side-information about the underlying graph and performs a polynomial number of CI tests. Further, Recursive Causal Discovery is a class of efficient algorithms for efficiently learning causal graphs using side-information.

In our package, called RecursiveCausalDiscovery.jl, we implement RSL and in doing so we create a framework that would allow for implementing other recursive causal discovery algorithms, such as L-MARVEL and MARVEL, in the future.

The lightning talk will be structured as follows:
Basic background on causality: 2 min
Brief overview of causal discovery and the PC algorithm: 2 min
Recursive causal discovery (RCD): 2 min
Our implementation of RCD and our package, RecursiveCausalDiscovery.jl: 3 min
Q&A: 1 mins

See also:

Sepehr Elahi is a second-year PhD student at the Computer & Communication Sciences department of EPFL.

His personal website: sepehrelahi.com