DAGs with NO TEARS: Continuous Optimization for Structure Learning
About
Estimating the structure of directed acyclic graphs (DAGs, also known as Bayesian networks) is a challenging problem since the search space of DAGs is combinatorial and scales superexponentially with the number of nodes. Existing approaches rely on various local heuristics for enforcing the acyclicity constraint. In this paper, we introduce a fundamentally different strategy: We formulate the structure learning problem as a purely \emph{continuous} optimization problem over real matrices that avoids this combinatorial constraint entirely. This is achieved by a novel characterization of acyclicity that is not only smooth but also exact. The resulting problem can be efficiently solved by standard numerical algorithms, which also makes implementation effortless. The proposed method outperforms existing ones, without imposing any structural assumptions on the graph such as bounded treewidth or in-degree. Code implementing the proposed algorithm is open-source and publicly available at https://github.com/xunzheng/notears.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Causal Discovery | Synthetic DAGs | TPR0.95 | 125 | |
| DAG learning | Synthetic (test) | SID425 | 101 | |
| DAG learning | Synthetic DAGs (100 nodes, 400 edges) v1 | SHD2.80e+3 | 51 | |
| Causal Discovery | Synthetic Temporal Sequences | SHD5.03 | 40 | |
| Causal Discovery | Synthetic (n=100, |E|=400, sample size=1000) | mAP29.4 | 36 | |
| Causal Discovery | Synthetic n=1000, |E|=2000, sample size=1000 | mAP30.5 | 32 | |
| Causal Discovery | Sachs real-world data protein signaling network | SHD12 | 26 | |
| DAG learning | Synthetic DAG data | Runtime (s)1.81e+3 | 26 | |
| Causal Discovery | ER5 (n=30, h=5) | FDR0.21 | 18 | |
| Causal Discovery | SF5 (n=30, h=5) | FDR24 | 18 |