NODAGS-Flow: Nonlinear Cyclic Causal Structure Learning

Muralikrishnna G. Sethuraman, Romain Lopez, Rahul Mohan, Faramarz Fekri, Tommaso Biancalani +1 more
1/4/2023
cs.LGstat.MEstat.ML

No official code found. Best implementation: Genentech/nodags-flows (12 stars, Apache-2.0, last commit 2025-08-19).

Abstract

Learning causal relationships between variables is a well-studied problem in statistics, with many important applications in science. However, modeling real-world systems remain challenging, as most existing algorithms assume that the underlying causal graph is acyclic. While this is a convenient framework for developing theoretical developments about causal reasoning and inference, the underlying modeling assumption is likely to be violated in real systems, because feedback loops are common (e.g., in biological systems). Although a few methods search for cyclic causal models, they usually rely on some form of linearity, which is also limiting, or lack a clear underlying probabilistic model. In this work, we propose a novel framework for learning nonlinear cyclic causal graphical models from interventional data, called NODAGS-Flow. We perform inference via direct likelihood optimization, employing techniques from residual normalizing flows for likelihood estimation. Through synthetic experiments and an application to single-cell high-content perturbation screening data, we show significant performance improvements with our approach compared to state-of-the-art methods with respect to structure recovery and predictive performance.

View on arXivView PDF

Code Implementations(1)

Apache-2.0
121Python, Jupyter NotebookAug 11, 20221 years agoApache-2.0

Similar Papers

Cite this paper

@article{sethuraman2023nodagsflow,
  title  = {NODAGS-Flow: Nonlinear Cyclic Causal Structure Learning},
  author = {Muralikrishnna G. Sethuraman and Romain Lopez and Rahul Mohan and Faramarz Fekri and Tommaso Biancalani and Jan-Christian Hütter},
  year   = {2023},
  eprint = {2301.01849},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2301.01849v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2301.01849.svg)](https://codeofpaper.com/paper/2301.01849)

Discussion