This is the implementation for our paper: "Enabling Causal Discovery in Post-Nonlinear Models with Normalizing Flows", accepted at ECAI 2024.
Setup • Structure • Experiments • Citation
conda env create -n cafpono --file env.yml
conda activate cafpono
- Clone and install dodiscover package at https://github.com/francescomontagna/dodiscover
.
├── data # Data used in the paper
├── env.yml # For environment setup
├── experiments # Main dir for experiments
│ ├── bivariate
│ ├── multivariate_dim
│ ├── multivariate_real
│ └── multivariate_sample_size
├── README.md
└── src # Source code for the implementation of CAF-PoNo and other baseline methods
├── data
├── HSIC.py
├── methods
├── pruning.py
└── utils.py
python experiments/bivariate/main.py
- Run experiment with different sample sizes
python experiments/multivariate_sample_size/main.py
- Run experiment with different data dimensions
python experiments/multivariate_dim/main.py
- Run experiment with real data
python experiments/multivariate_real/main.py
- Run experiment for running time comparison
python experiments/multivariate_dim/timing.py
@inproceedings{hoang2024enabling,
title={Enabling Causal Discovery in Post-Nonlinear Models with Normalizing Flows},
author={Hoang, Nu and Duong, Bao and Nguyen, Thin},
year={2024},
booktitle = {European Conference on Aritificial Intelligence (ECAI)},
}