[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.shin this directory.
- For varsortability run source env/bin/activate; python varsortability.pyin the current directory.
- For sortnregress, run source env/bin/activate; python sortnregress.pyin the current directory.
- For chain-orientation
- run source env/bin/activate; python chain_orientation.pyin the current directory (may take some time).
- run source env/bin/activate; python chain_orientation_three_vars_symbolic.pyin the current directory (may take some time).
 
- run