[ICLR 2024] Federated Causal Discovery from Heterogeneous Data

February 20, 2024 ยท View on GitHub

This is the official implementation of the paper "Federated Causal Discovery from Heterogeneous Data", ICLR 2024.

If you find it useful, please consider citing:

@inproceedings{li2024learning,
  title={Learning to Optimize Permutation Flow Shop Scheduling via Graph-based Imitation Learning},
  author={Li, Loka and Ng, Ignavier and Luo, Gongxu and Huang, Biwei and Chen, Guangyi and Liu, Tongliang and Gu, Bin and Zhang, Kun},
  booktitle={International Conference on Learning Representations},
  year={2024}
}

Overview

  • In this paper, we propose FedCDH, a novel constraint-based approach for federated causal discovery from heterogeneous data. The figure below exhibits the overall framework of our FedCDH.

FedCDH

How to Run

  • Installation: R package.

    • Our federated conditional independet test method is developed based on R Package, please follow their procedures and install all the dependencies at first.
  • Installation: Environment.

# Set up a new conda environment with Python 3.8.
conda create -n FedCDH python=3.8
conda activate FedCDH

# Please navigate to the root directory, and install our source code.
pip install -e . 

# Install other python libraries.
pip install causaldag rpy2 numpy scipy tqdm networkx 
  • Evaluation: quick start.
# Parameters:
#     N: number of instances to evaluate
#     d: number of variables
#     K: number of clients
#     n: number of samples in one client
#     model: data generation model, linear or general.
cd tests
python TestFedCDH.py --N 10 --d 6 --K 10 --n 100 --model linear  

Acknowledgements

We would like to sincerely thank these related works and open-sourced codes which inspired us:

And we also sincerely thank the authors of the baseline methods for making their source codes public: