[Update 09/2023] Our new library CausalDisco provides the baseline algorithms and analytics tools presented here, as well as a new scale-invariant version in a single python package for causal discovery benchmarking.
This repository contains stand-alone implementations of varsortability, sortnregress, and chain-orientation as presented in
[1] Reisach, A. G., Seiler, C., & Weichwald, S. (2021). Beware of the Simulated DAG! Causal Discovery Benchmarks May Be Easy To Game.
For a basic experimental set-up for the comparison of causal structure learning algorithms as shown in the same work, see the VarsortabilityExperimentSuite repository.
If you find this code useful, please consider citing:
@article{reisach2021beware,
title={Beware of the Simulated DAG! Causal Discovery Benchmarks May Be Easy to Game},
author={Reisach, Alexander G. and Seiler, Christof and Weichwald, Sebastian},
journal={Advances in Neural Information Processing Systems},
volume={34},
year={2021}
}
To run, perform the following actions within the /src directory:
- Install dependencies by running
./install.sh
in this directory. - For varsortability run
source env/bin/activate; python varsortability.py
in the current directory. - For sortnregress, run
source env/bin/activate; python sortnregress.py
in the current directory. - For chain-orientation
- run
source env/bin/activate; python chain_orientation.py
in the current directory (may take some time). - run
source env/bin/activate; python chain_orientation_three_vars_symbolic.py
in the current directory (may take some time).
- run