This is the official code repository for SNAP: Sequential Non-Ancestor Pruning for Targeted Causal Effect Estimation With an Unknown Graph (AISTATS 2025) by Mátyás Schubert, Tom Claassen and Sara Magliacane.
Note
This branch contains a minimal and portable implementation of SNAP. Check out the aistats2025 branch to reproduce the results presented in the paper.
The SNAP algorithm is implemented in snap.py. A simple demo is provided in demo.py and in Google colab. All dependencies are listed in requirements.txt
@InProceedings{pmlr-v258-schubert25a,
title = {SNAP: Sequential Non-Ancestor Pruning for Targeted Causal Effect Estimation With an Unknown Graph},
author = {Schubert, M{\'a}ty{\'a}s and Claassen, Tom and Magliacane, Sara},
booktitle = {Proceedings of The 28th International Conference on Artificial Intelligence and Statistics},
pages = {3340--3348},
year = {2025},
editor = {Li, Yingzhen and Mandt, Stephan and Agrawal, Shipra and Khan, Emtiyaz},
volume = {258},
series = {Proceedings of Machine Learning Research},
month = {03--05 May},
publisher = {PMLR},
pdf = {https://raw.githubusercontent.com/mlresearch/v258/main/assets/schubert25a/schubert25a.pdf},
url = {https://proceedings.mlr.press/v258/schubert25a.html},
}