An index of algorithms for learning causality with data

Overview

awesome-causality-algorithms Awesome

An index of algorithms for learning causality with data.

Please cite our survey paper if this index is helpful.

@article{guo2020survey,
  title={A survey of learning causality with data: Problems and methods},
  author={Guo, Ruocheng and Cheng, Lu and Li, Jundong and Hahn, P Richard and Liu, Huan},
  journal={ACM Computing Surveys (CSUR)},
  volume={53},
  number={4},
  pages={1--37},
  year={2020},
  publisher={ACM New York, NY, USA}
}

Table of Contents

Toolboxes

Name Paper Code
DoWhy Amit Sharma and Emre Kiciman. "Tutorial on Causal Inference and Counterfactual Reasoning." In ACM SIGKDD 2018 Python
TETRAD toolbox Ramsey, Joseph D., Kun Zhang, Madelyn Glymour, Ruben Sanchez Romero, Biwei Huang, Imme Ebert-Uphoff, Savini Samarasinghe, Elizabeth A. Barnes, and Clark Glymour. "TETRAD-AToolbox FOR CAUSAL DISCOVERY." R
CausalDiscoveryToolbox Kalainathan, Diviyan, and Olivier Goudet. "Causal Discovery Toolbox: Uncover causal relationships in Python." arXiv preprint arXiv:1903.02278 (2019). Python
Uber CausalML Chen, Huigang, et al. "Causalml: Python package for causal machine learning." arXiv preprint arXiv:2002.11631 (2020). Python
JustCause For evaluation of heterogeneous treatment effect estimators on common reference as well as synthetic data. Underlying thesis Python
WhyNot An experimental sandbox for causal inference and decision making in dynamics. Documentation Python
CausalNex A toolkit for causal reasoning with Bayesian Networks. Python
Trustworthy AI This repository aims to include trustworthy AI related projects from Huawei Noah's Ark Lab. Current projects include:Causal Structure Learning, Causal Disentangled Representation Learning, gCastle (or pyCastle, pCastle). Python
Tetrad Tetrad is a modular, object-oriented program for causal inference. java
causal-learn Causal Discovery for Python. A translation and extension of TETRAD. Python

Learning Causal Effects

With i.i.d Data

For Individual-level Treatment Effects (ITEs)

Name Paper Code
Propensity Score Matching Rosenbaum, Paul R., and Donald B. Rubin. "The central role of the propensity score in observational studies for causal effects." Biometrika 70, no. 1 (1983): 41-55. Python
Nonparametric Regression Adjustment Python
BNN, BLR Johansson, Fredrik, Uri Shalit, and David Sontag. "Learning representations for counterfactual inference." In International Conference on Machine Learning, pp. 3020-3029. 2016. Python
TARNet, Counterfactual Regression Shalit, Uri, Fredrik D. Johansson, and David Sontag. "Estimating individual treatment effect: generalization bounds and algorithms." arXiv preprint arXiv:1606.03976 (2016). Python
Causal Effect VAE Louizos, Christos, Uri Shalit, Joris M. Mooij, David Sontag, Richard Zemel, and Max Welling. "Causal effect inference with deep latent-variable models." In Advances in Neural Information Processing Systems, pp. 6446-6456. 2017. Python
SITE Yao, Liuyi, Sheng Li, Yaliang Li, Mengdi Huai, Jing Gao, and Aidong Zhang. "Representation Learning for Treatment Effect Estimation from Observational Data." In Advances in Neural Information Processing Systems, pp. 2638-2648. 2018. Python
X-learner Künzel, Sören R., Jasjeet S. Sekhon, Peter J. Bickel, and Bin Yu. "Metalearners for estimating heterogeneous treatment effects using machine learning." Proceedings of the National Academy of Sciences 116, no. 10 (2019): 4156-4165. RR
Causal Forest Wager, Stefan, and Susan Athey. "Estimation and inference of heterogeneous treatment effects using random forests." Journal of the American Statistical Association just-accepted (2017). R Python
Causal MARS, Causal Boosting, Pollinated Transformed Outcome Forests S. Powers et al., “Some methods for heterogeneous treatment effect estimation in high-dimensions,” 2017. R R
Bayesian Additive Regression Trees (BART) Hill, Jennifer L. "Bayesian nonparametric modeling for causal inference." Journal of Computational and Graphical Statistics 20, no. 1 (2011): 217-240. Python
GANITE Yoon, Jinsung, James Jordon, and Mihaela van der Schaar. "GANITE: Estimation of Individualized Treatment Effects using Generative Adversarial Nets." (2018). Python
Perfect Match Schwab, Patrick, Lorenz Linhardt, and Walter Karlen. "Perfect match: A simple method for learning representations for counterfactual inference with neural networks." arXiv preprint arXiv:1810.00656 (2018) Python
Dragonnet Adapting Neural Networks for the Estimation of Treatment Effects Python
Active Learning for Decision-Making from Imbalanced Observational Data Active Learning for Decision-Making from Imbalanced Observational Data NA
ABCEI Adversarial Balancing-based Representation Learning for Causal Effect Inference with Observational Data NA
NSGP (Non-stationary Gaussian Process Prior) Alaa, Ahmed, and Mihaela Schaar. "Limits of estimating heterogeneous treatment effects: Guidelines for practical algorithm design." In International Conference on Machine Learning, pp. 129-138. 2018. NA
CMGP (Causal Multi-task Gaussian Processes) Alaa, Ahmed M., and Mihaela van der Schaar. "Bayesian inference of individualized treatment effects using multi-task gaussian processes." In Advances in Neural Information Processing Systems, pp. 3424-3432. 2017. NA
BNR-NNM(balanced and nonlinear representations-nearest neighbor matching) Li, Sheng, and Yun Fu. "Matching on balanced nonlinear representations for treatment effects estimation." In Advances in Neural Information Processing Systems, pp. 929-939. 2017. NA
Deep Counterfactual Networks (Propensity Dropout) Alaa, Ahmed M., Michael Weisz, and Mihaela van der Schaar. "Deep counterfactual networks with propensity-dropout." arXiv preprint arXiv:1706.05966 (2017) NA
Kallus, Nathan, Xiaojie Mao, and Angela Zhou. "Interval Estimation of Individual-Level Causal Effects Under Unobserved Confounding." In The 22nd International Conference on Artificial Intelligence and Statistics, pp. 2281-2290. 2019. NA
Multiple Responses in Uplift Models Weiss, Sam. Estimating and Visualizing Business Tradeoffs in Uplift Models Python

For Average-level Treatment Effects: ATE, ATT or ATC

Name Paper Code
Inverse Probability Reweighting Rosenbaum, Paul R., and Donald B. Rubin. "The central role of the propensity score in observational studies for causal effects." Biometrika 70, no. 1 (1983): 41-55. R
Doubly Robust Estimation Bang, Heejung, and James M. Robins. "Doubly robust estimation in missing data and causal inference models." Biometrics 61, no. 4 (2005): 962-973. R
Doubly Robust Estimation for High Dimensional Data Antonelli, Joseph, Matthew Cefalu, Nathan Palmer, and Denis Agniel. "Doubly robust matching estimators for high dimensional confounding adjustment." Biometrics (2016). R
TMLE Gruber, Susan, and Mark J. van der Laan. "tmle: An R package for targeted maximum likelihood estimation." (2011). R
Entropy Balancing Hainmueller, Jens. "Entropy balancing for causal effects: A multivariate reweighting method to produce balanced samples in observational studies." Political Analysis 20, no. 1 (2012): 25-46. R
CBPS(Covariate Balancing Propensity Score) Imai, Kosuke, and Marc Ratkovic. "Covariate balancing propensity score." Journal of the Royal Statistical Society: Series B (Statistical Methodology) 76, no. 1 (2014): 243-263. R
Approximate Residual Balancing Athey, Susan, Guido W. Imbens, and Stefan Wager. "Approximate residual balancing: debiased inference of average treatment effects in high dimensions." Journal of the Royal Statistical Society: Series B (Statistical Methodology) 80, no. 4 (2018): 597-623. R
Differentiated Confounder Balancing Kuang, Kun, Peng Cui, Bo Li, Meng Jiang, and Shiqiang Yang. "Estimating Treatment Effect in the Wild via Differentiated Confounder Balancing." In Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 265-274. ACM, 2017. NA
Adversarial Balancing Ozery-Flato, Michal, Pierre Thodoroff, and Tal El-Hay. "Adversarial Balancing for Causal Inference." arXiv preprint arXiv:1810.07406 (2018). NA
DeepMatch Kallus, Nathan. "Deepmatch: Balancing deep covariate representations for causal inference using adversarial training." arXiv preprint arXiv:1802.05664 (2018). NA

For Continuous Treatment Effects

Name Paper Code
Causal Dose-Response Curves / Causal Curves Kobrosly, R. W., (2020). causal-curve: A Python Causal Inference Package to Estimate Causal Dose-Response Curves. Journal of Open Source Software, 5(52), 2523, https://doi.org/10.21105/joss.02523 Python

Vectorized Treatments

Name Paper Code
Graph Intervention Networks for Causal Effect Estimation Jean Kaddour, Qi Liu, Yuchen Zhu, Matt J. Kusner, Ricardo Silva. "Graph Intervention Networks for Causal Effect Estimation", arXiv preprint arXiv:2106.01939 (2021). Python

Treatment Responder Classification

Name Paper Code
RespSVM Kallus, Nathan. "Classifying Treatment Responders Under Causal Effect Monotonicity." arXiv preprint arXiv:1902.05482 (2019) NA

Learning Causal Effects as Response Curves

Name Paper Code
Dose response networks (DRNets) Schwab, Patrick, Lorenz Linhardt, Stefan Bauer, Joachim M. Buhmann, and Walter Karlen. "Learning Counterfactual Representations for Estimating Individual Dose-Response Curves." arXiv preprint arXiv:1902.00981 (2019). Python

Learning Causal Effects with Multi-cause Data

Name Paper Code
Deconfounder Wang, Yixin, and David M. Blei. "The blessings of multiple causes." arXiv preprint arXiv:1805.06826 (2018). Python
Imai, Kosuke, and Zhichao Jiang. "Discussion of "The Blessings of Multiple Causes" by Wang and Blei." NA
D'Amour, Alexander. "On multi-cause causal inference with unobserved confounding: Counterexamples, impossibility, and alternatives." arXiv preprint arXiv:1902.10286 (2019). NA
Ranganath, Rajesh, and Adler Perotte. "Multiple causal inference with latent confounding." arXiv preprint arXiv:1805.08273 (2018). NA
Kong, Dehan, Shu Yang, and Linbo Wang. "Multi-cause causal inference with unmeasured confounding and binary outcome." arXiv preprint arXiv:1907.13323 (2019). NA
Elizabeth L. Ogburn, Ilya Shpitser, Eric J. Tchetgen Tchetgen "Comment on Blessings of Multiple Causes." arXiv preprint arXiv:1910.05438 (2019) NA

Transfer Learning for Learning Causal Effects

Name Paper Code
The Y-learner Künzel, Sören R., Bradly C. Stadie, Nikita Vemuri, Varsha Ramakrishnan, Jasjeet S. Sekhon, and Pieter Abbeel. "Transfer Learning for Estimating Causal Effects using Neural Networks." arXiv preprint arXiv:1808.07804 (2018). NA

Variable Selection/Importance for Learning Causal Effects

Name Paper Code
Variable importance through targeted causal inference The Github Repo "varimpact" by Alan E. Hubbard and Chris J. Kennedy, University of California, Berkeley R

Instrumental Variables

Name Paper Code
DeepIV Hartford, Jason, Greg Lewis, Kevin Leyton-Brown, and Matt Taddy. "Deep iv: A flexible approach for counterfactual prediction." In International Conference on Machine Learning, pp. 1414-1423. 2017. Python
PDSLasso Achim Ahrens & Christian B. Hansen & Mark E Schaffer, 2018. "PDSLASSO: Stata module for post-selection and post-regularization OLS or IV estimation and inference," Statistical Software Components S458459, Boston College Department of Economics, revised 24 Jan 2019. STATA

Non-i.i.d Data

Learning Causal Effects from Networked Observational Data

Name Paper Code
Network Deconfounder Guo, Ruocheng, Jundong Li, and Huan Liu. "Learning Individual Causal Effects from Networked Observational Data." WSDM 2020. Python
Causal Inference with Network Embeddings Veitch, Victor, Yixin Wang, and David M. Blei. "Using embeddings to correct for unobserved confounding." arXiv preprint arXiv:1902.04114 (2019). Python

Learning Causal Effects under Spillover Effect/Interference

Name Paper Code
Linked Causal Variational Autoencoder (LCVA) Rakesh, Vineeth, Ruocheng Guo, Raha Moraffah, Nitin Agarwal, and Huan Liu. "Linked Causal Variational Autoencoder for Inferring Paired Spillover Effects." CIKM 2018. Python
GNN-based Causal Effect Estimators Ma, Yunpu, Yuyi Wang, and Volker Tresp. "Causal Inference under Networked Interference." arXiv preprint arXiv:2002.08506 (2020). NA

Learning Time Varying/Dependent Causal Effects

Name Paper Code
Time Series Deconfounder Bica, Ioana, Ahmed M. Alaa, and Mihaela van der Schaar. "Time Series Deconfounder: Estimating Treatment Effects over Time in the Presence of Hidden Confounders." arXiv preprint arXiv:1902.00450 (2019). NA
Recurrent Marginal Structural Networks Lim, Bryan. "Forecasting Treatment Responses Over Time Using Recurrent Marginal Structural Networks." In Advances in Neural Information Processing Systems, pp. 7494-7504. 2018. Python
Longitudinal Targeted Maximum Likelihood Estimation Petersen, Maya, Joshua Schwab, Susan Gruber, Nello Blaser, Michael Schomaker, and Mark van der Laan. "Targeted maximum likelihood estimation for dynamic and static longitudinal marginal structural working models." Journal of causal inference 2, no. 2 (2014): 147-185. R

Connections to Machine Learning

Recommendation

Name Paper Code
Unbiased Offline Recommender Learning Saito, Yuta, Suguru Yaginuma, Yuta Nishino, Hayato Sakata, and Kazuhide Nakata. "Unbiased Recommender Learning from Missing-Not-At-Random Implicit Feedback." In Proceedings of the 13th International Conference on Web Search and Data Mining, pp. 501-509. ACM, 2020. Python
Domain Adversarial Matrix Factorization Saito, Yuta. "Offline Recommender Learning Meets Unsupervised Domain Adaptation." arXiv preprint arXiv: arXiv:1910.07295 (2019). NA
Doubly Robust Joint Learning Wang, Xiaojie, Rui Zhang, Yu Sun, and Jianzhong Qi. "Doubly Robust Joint Learning for Recommendation on Data Missing Not at Random." In International Conference on Machine Learning, pp. 6638-6647. 2019. NA
Top-K Off-policy Correction Chen, Minmin, Alex Beutel, Paul Covington, Sagar Jain, Francois Belletti, and Ed H. Chi. "Top-k off-policy correction for a REINFORCE recommender system." In Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining, pp. 456-464. ACM, 2019. Python
Causal Embedding for Recommendation Bonner, Stephen, and Flavian Vasile. "Causal embeddings for recommendation." In Proceedings of the 12th ACM Conference on Recommender Systems, pp. 104-112. ACM, 2018. (BEST PAPER) Python
Unbiased Offline Recommender Evaluation Yang, Longqi, Yin Cui, Yuan Xuan, Chenyang Wang, Serge Belongie, and Deborah Estrin. "Unbiased offline recommender evaluation for missing-not-at-random implicit feedback." In Proceedings of the 12th ACM Conference on Recommender Systems, pp. 279-287. ACM, 2018. Python
IPS Estimator Schnabel, Tobias, Adith Swaminathan, Ashudeep Singh, Navin Chandak, and Thorsten Joachims. "Recommendations as treatments: Debiasing learning and evaluation." arXiv preprint arXiv:1602.05352 (2016). Python
Deconfounded Recsys Wang, Yixin, Dawen Liang, Laurent Charlin, and David M. Blei. "The Deconfounded Recommender: A Causal Inference Approach to Recommendation." arXiv preprint arXiv:1808.06581 (2018). NA
Causal Embedding for User Interest and Conformity Zheng, Y., Gao, C., Li, X., He, X., Li, Y., & Jin, D. (2021, April). Disentangling User Interest and Conformity for Recommendation with Causal Embedding. In Proceedings of the Web Conference 2021 (pp. 2980-2991). Python

Learning to Rank

Name Paper Code
Heckman^{rank} Ovaisi, Zohreh, Ragib Ahsan, Yifan Zhang, Kathryn Vasilaky, and Elena Zheleva. "Correcting for Selection Bias in Learning-to-rank Systems." arXiv preprint arXiv:2001.11358 (2020). NA
TrustPBM Agarwal, Aman, Xuanhui Wang, Cheng Li, Mike Bendersky, and Marc Najork. "Addressing Trust Bias for Unbiased Learning-to-Rank." In The World Wide Web Conference, pp. 4-14. ACM, 2019. NA
Unbiased LambdaMart Hu, Ziniu, Yang Wang, Qu Peng, and Hang Li. "Unbiased LambdaMART: An Unbiased Pairwise Learning-to-Rank Algorithm." In The World Wide Web Conference, pp. 2830-2836. ACM, 2019. C++,Python,R
Intervention Harvesting Agarwal, Aman, Ivan Zaitsev, Xuanhui Wang, Cheng Li, Marc Najork, and Thorsten Joachims. "Estimating Position Bias without Intrusive Interventions." In Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining, pp. 474-482. ACM, 2019. NA
IPW_rank and the Dual Learning Algorithm Qingyao Ai, Keping Bi, Cheng Luo, Jiafeng Guo, W. Bruce Croft. 2018. Unbiased Learning to Rank with Unbiased Propensity Estimation. In Proceedings of SIGIR '18 Python
Propensity SVM-rank Joachims, Thorsten, Adith Swaminathan, and Tobias Schnabel. "Unbiased learning-to-rank with biased feedback." In Proceedings of the Tenth ACM International Conference on Web Search and Data Mining, pp. 781-789. ACM, 2017. (BEST PAPER) Python
Regression EM Wang, Xuanhui, Nadav Golbandi, Michael Bendersky, Donald Metzler, and Marc Najork. "Position bias estimation for unbiased learning to rank in personal search." In Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining, pp. 610-618. ACM, 2018. NA
Various Bias Models Wang, Xuanhui, Michael Bendersky, Donald Metzler, and Marc Najork. "Learning to rank with selection bias in personal search." In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval, pp. 115-124. ACM, 2016. NA

Off-line Policy Evaluation/Optimization

Name Paper Code
Optimal Kernel Balancing Andrew Bennett, Nathan Kallus. "Policy Evaluation with Latent Confounders via Optimal Balance" Python
BanditNet Joachims, Thorsten, Adith Swaminathan, and Maarten de Rijke. "Deep learning with logged bandit feedback." (2018). Python
Counterfactual Risk Minimization (POEM) Swaminathan, Adith, and Thorsten Joachims. "Counterfactual risk minimization: Learning from logged bandit feedback." In International Conference on Machine Learning, pp. 814-823. 2015. Python
Self Normalized Estimator Swaminathan, Adith, and Thorsten Joachims. "The self-normalized estimator for counterfactual learning." In Advances in Neural Information Processing Systems, pp. 3231-3239. 2015. Python
Focused Context Balancing Zou, Hao, Kun Kuang, Boqi Chen, Peixuan Chen, and Peng Cui. "Focused Context Balancing for Robust Offline Policy Evaluation." In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 696-704. ACM, 2019. NA
Surrogate Policy Xie, Yuan, Boyi Liu, Qiang Liu, Zhaoran Wang, Yuan Zhou, and Jian Peng. "Off-Policy Evaluation and Learning from Logged Bandit Feedback: Error Reduction via Surrogate Policy." arXiv preprint arXiv:1808.00232 (2018). NA
Balanced Policy Evaluation and Learning Kallus, Nathan. "Balanced policy evaluation and learning." In Advances in Neural Information Processing Systems, pp. 8895-8906. 2018. NA
Confounding-robust Policy Learning Kallus, Nathan, and Angela Zhou. "Confounding-robust policy improvement." In Advances in Neural Information Processing Systems, pp. 9269-9279. 2018. NA
Multi-action Policy Learning Zhou, Zhengyuan, Susan Athey, and Stefan Wager. "Offline multi-action policy learning: Generalization and optimization." arXiv preprint arXiv:1810.04778 (2018). NA
Efficient Policy Learning Athey, Susan, and Stefan Wager. "Efficient policy learning." arXiv preprint arXiv:1702.02896 (2017). NA

Natural Language Processing

Name Paper Code
A Review of Using Text to Remove Confounding from Causal Estimates Keith, Katherine A., David Jensen, and Brendan O'Connor. "Text and Causal Inference: A Review of Using Text to Remove Confounding from Causal Estimates." ACL 2020. NA
Causal Analysis with Lexicons Pryzant, Reid, Kelly Shen, Dan Jurafsky, and Stefan Wagner. "Deconfounded lexicon induction for interpretable social science." NAACL 2018. Python
Causal Text Embeddings Veitch, Victor, Dhanya Sridhar, and David M. Blei. "Using Text Embeddings for Causal Inference." arXiv preprint arXiv:1905.12741 (2019). Python
Handling Missing/Noisy Treatment Wood-Doughty, Zach, Ilya Shpitser, and Mark Dredze. "Challenges of Using Text Classifiers for Causal Inference." In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 4586-4598. 2018. Python
Conditional Treatment-adversarial Learning Based Matching Yao, Liuyi, Sheng Li, Yaliang Li, Hongfei Xue, Jing Gao, and Aidong Zhang. "On the estimation of treatment effect with text covariates." In Proceedings of the 28th International Joint Conference on Artificial Intelligence, pp. 4106-4113. AAAI Press, 2019. NA
Causal Inferences Using Texts Egami, Naoki, Christian J. Fong, Justin Grimmer, Margaret E. Roberts, and Brandon M. Stewart. "How to make causal inferences using texts." arXiv preprint arXiv:1802.02163 (2018). NA
Causal FS for text classification Michael J. Paul. Feature selection as causal inference: experiments with text classification. Conference on Computational Natural Language Learning (CoNLL), Vancouver, Canada. August 2017. NA

Counterfactual Explanations

Paper Code
Mothilal, Ramaravind Kommiya, Amit Sharma, and Chenhao Tan. "Explaining machine learning classifiers through diverse counterfactual explanations." arXiv preprint arXiv:1905.07697 (2019). Python
Russell, Chris. "Efficient search for diverse coherent explanations." In Proceedings of the Conference on Fairness, Accountability, and Transparency, pp. 20-28. 2019. Python
Wachter, Sandra, Brent Mittelstadt, and Chris Russell. "Counterfactual explanations without opening the black box: Automated decisions and the GDPR." Harv. JL & Tech. 31 (2017): 841.

Counterfactual Fairness

Paper Code
Kusner, Matt J., Joshua Loftus, Chris Russell, and Ricardo Silva. "Counterfactual fairness." In Advances in Neural Information Processing Systems, pp. 4066-4076. 2017. Python
Chiappa, Silvia. "Path-specific counterfactual fairness." In Proceedings of the AAAI Conference on Artificial Intelligence, vol. 33, pp. 7801-7808. 2019.
Russell, Chris, Matt J. Kusner, Joshua Loftus, and Ricardo Silva. "When worlds collide: integrating different counterfactual assumptions in fairness." In Advances in Neural Information Processing Systems, pp. 6414-6423. 2017.
Garg, Sahaj, Vincent Perot, Nicole Limtiaco, Ankur Taly, Ed H. Chi, and Alex Beutel. "Counterfactual fairness in text classification through robustness." In Proceedings of the 2019 AAAI/ACM Conference on AI, Ethics, and Society, pp. 219-226. 2019.

Reinforcement Learning

Name Paper Code
Deconfounded RL Lu, Chaochao, Bernhard Schölkopf, and José Miguel Hernández-Lobato. "Deconfounding reinforcement learning in observational settings." arXiv preprint arXiv:1812.10576 (2018). Python
Vansteelandt, Stijn, and Marshall Joffe. "Structural nested models and G-estimation: the partially realized promise." Statistical Science 29, no. 4 (2014): 707-731. NA
Counterfactual-Guided Policy Search (CF-GPS) Buesing, Lars, Theophane Weber, Yori Zwols, Sebastien Racaniere, Arthur Guez, Jean-Baptiste Lespiau, and Nicolas Heess. "Woulda, Coulda, Shoulda: Counterfactually-Guided Policy Search." arXiv preprint arXiv:1811.06272 (2018). NA

Multi-Armed Bandit/Causal Bandit

Name Paper Code
Causal Bandits Lattimore, Finnian, Tor Lattimore, and Mark D. Reid. "Causal bandits: Learning good interventions via causal inference." In Advances in Neural Information Processing Systems, pp. 1181-1189. 2016. NA
Offline+MAB Ye, Li, Yishi Lin, Hong Xie, and John Lui. "Combining Offline Causal Inference and Online Bandit Learning for Data Driven Decisions." arXiv preprint arXiv:2001.05699 (2020). NA
B-kl-UCB, B-TS Zhang, Junzhe, and Elias Bareinboim. "Transfer learning in multi-armed bandit: a causal approach." In Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems, pp. 1778-1780. 2017. NA
Incremental Model Sawant, Neela, Chitti Babu Namballa, Narayanan Sadagopan, and Houssam Nassif. "Contextual Multi-Armed Bandits for Causal Marketing." arXiv preprint arXiv:1810.01859 (2018). NA

Invariant Prediction

Name Paper Code
Deep Global Balancing Regression Kuang, Kun, Peng Cui, Susan Athey, Ruoxuan Xiong, and Bo Li. "Stable Prediction across Unknown Environments." In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 1617-1626. ACM, 2018. NA
A Simple Algorithm for Invariant Prediction Julia

Causality and GAN

Name Paper Code
Odena, Augustus, Jacob Buckman, Catherine Olsson, Tom B. Brown, Christopher Olah, Colin Raffel, and Ian Goodfellow. "Is Generator Conditioning Causally Related to GAN Performance?." arXiv preprint arXiv:1802.08768 (2018). NA
Causal GAN Kocaoglu, Murat, Christopher Snyder, Alexandros G. Dimakis, and Sriram Vishwanath. "CausalGAN: Learning Causal Implicit Generative Models with Adversarial Training." arXiv preprint arXiv:1709.02023 (2017). Python

Learning Causal Relations

With i.i.d. Data

Name Paper Code
IC algorithm Python
PC algorithm P. Spirtes, C. Glymour, and R. Scheines. Causation, Prediction, and Search. The MIT Press, 2nd edition, 2000. Python R Julia
FCI algorithm P. Spirtes, C. Glymour, and R. Scheines. Causation, Prediction, and Search. The MIT Press, 2nd edition, 2000. R Julia
DAGs with NO TEARS Zheng, Xun, Bryon Aragam, Pradeep K. Ravikumar, and Eric P. Xing. "DAGs with NO TEARS: Continuous optimization for structure learning." NeurIPS 2018. Numpy, Pytorch
DAG-GNN {Yue Yu, Jie Chen, Tian Gao, and Mo Yu. "DAG-GNN: DAG Structure Learning with Graph Neural Networks." ICML 2019. Pytorch

Learning IV

Name Paper Code
IV Discovery Methods Silva, Ricardo, and Shohei Shimizu. "Learning instrumental variables with structural and non-gaussianity assumptions." The Journal of Machine Learning Research 18, no. 1 (2017): 4321-4369. NA

Distinguishing Cause from Effect (Bivariate)

Name Paper Code
BMLiNGAM S. Shimizu and K. Bollen. Bayesian estimation of causal direction in acyclic structural equation models with individual-specific confounder variables and non-Gaussian distributions. Journal of Machine Learning Research, 15: 2629-2652, 2014. Python

Conditional Independence Tests (for Constraint-based Algorithms)

Name Paper Code
RCIT R

Causal Discovery Meets Probabilistic Logic Programming

Name Paper Code
Causal PSL Sridhar, Dhanya, Jay Pujara, and Lise Getoor. "Scalable Probabilistic Causal Structure Discovery." In IJCAI, pp. 5112-5118. 2018. Java

Learning Causal Relationships with non-i.i.d. Data

Name Paper Code
TCDF: Temporal Causal Discovery Framework Nauta, Meike, Doina Bucur, and Christin Seifert. "Causal discovery with attention-based convolutional neural networks." Machine Learning and Knowledge Extraction. Pytorch

Scalable Ensemble Causality Discovery

Name Paper Code
Scalable and Hybrid Ensemble-Based Causality Discovery Pei Guo, Achuna Ofonedu, Jianwu Wang. "Scalable and Hybrid Ensemble-Based Causality Discovery." In Proceedings of the 2020 IEEE International Conference on Smart Data Services (SMDS), pp. 72-80. Python
Comments
  • Add MR-Uplift Package

    Add MR-Uplift Package

    I would like to include my MR-Uplift package. This package a models an uplift model for multiple response variables and evaluates tradeoffs between them. Thanks!

    opened by samcarlos 6
  • Add CausalML Survey

    Add CausalML Survey

    Dear Ruocheng,

    Thank you very much for maintaining this excellent list of Causality algorithms.

    We recently published a survey on causal ML methods and thought it would fit well on this list.

    Best wishes

    Jean

    opened by JeanKaddour 3
  • Including causal-curve in resource list

    Including causal-curve in resource list

    Hello @rguo12 , thanks so much for allowing this PR to be opened. I added in the causal-curve package in the Learning Causal Effects section and within the With i.i.d Data subsection. Does this look okay to you?

    opened by ronikobrosly 2
  • Add a new work on estimating causal effects under confounding

    Add a new work on estimating causal effects under confounding

    Shamelessly recommend my own preprint: https://arxiv.org/abs/2101.06662 Some highlights: https://twitter.com/PengzhouW/status/1362225064309972993 In particular, it shows SOTA performance of balancing and deconfounding on IHDP and Pokec.

    I do not know if preprints are allowed by the policy of your list. Simply ignore this if not.

    opened by wpzdm 2
  • Add paper to NLP section

    Add paper to NLP section

    Hi! I'm not sure if I'm supposed to fork the repo or just leave a comment, but do you mind adding this paper to the NLP section:

    https://www.aclweb.org/anthology/2020.acl-main.474.pdf (ACL2020)

    Thanks!

    opened by kakeith 2
  • Adding DAG and TCDF frameworks?

    Adding DAG and TCDF frameworks?

    Hi,

    Would the following frameworks work for this repo?

    Timeseries non-i.d.d. data

    • TCDF: Temporal Causal Discovery Framework (https://github.com/M-Nauta/TCDF)

    Structured Learning i.d.d. data

    • DAG-GNN (https://github.com/fishmoon1234/DAG-GNN)
    • DAGs with NO TEARS (https://github.com/xunzheng/notears)

    Thanks!

    enhancement 
    opened by amunishkin 2
  • Adding X-learner framework

    Adding X-learner framework

    Hey :)

    I wanted to propose adding the X-learner meta-learner framework for heterogeneous treatment effects.

    Paper: https://www.pnas.org/content/pnas/116/10/4156.full.pdf Code: https://github.com/xnie/rlearner/blob/master/R/xlearner.R

    I guess this belongs to the i.i.d data section.

    Thanks for the awesome collection and the comprehensive review paper, great work!

    opened by MaximilianFranz 2
  • Adding Causal Transformer from pre-print

    Adding Causal Transformer from pre-print "Causal Transformer for Estimating Counterfactual Outcomes"

    I wanted to modestly propose expanding "Learning Time Varying/Dependent Causal Effects" section with our pre-print "Causal Transformer for Estimating Counterfactual Outcomes".

    The code (https://github.com/Valentyn1997/CausalTransformer) also contains the PyTorch-Lightning implementation of other baselines over time, e.g., CRN, RMSN or MSMs.

    I can create a corresponding pull request if you don't mind.

    Best regards, Valentyn

    opened by Valentyn1997 1
  • [add] EconML

    [add] EconML

    In this PR, I propose to add EconML to your toolbox list. EconML is a causal inference package from Microsoft, with models that are more machine learning oriented than "doWhy", also from Microsoft.

    Thank you

    opened by MasaAsami 1
  • [add] model for panel data

    [add] model for panel data

    Thanks for the great list. I would suggest the following three points:

    • Synthetic Control Method This is a relatively traditional econometric approach developed by Abadie. I added it because it was frequently used in causal inference in the public policy field.

    • Synthetic Difference in Differences This is a recently published paper. As the name suggests, the model is a successful fusion of "Synthetic Control Method " and "Difference in Differences", which gives the impression of being more sophisticated.

    • Causal Impact This model is frequently used in marketing-related fields. Since the idea is a natural extension of the Synthetic Control Method, it is included in the same table.

    Thank you.

    opened by MasaAsami 1
  • Add GIN paper

    Add GIN paper

    Thank you very much for creating this excellent repo! I wanted to suggest adding our recent work on vectorized treatments (e.g. graphs). Our estimator is based on a generalization of the Robinson decomposition and allows one to decompose causal effect estimation into separate, simpler optimization problems.

    opened by JeanKaddour 1
  • References on cause-effect inference

    References on cause-effect inference

    Thank you for this great list!

    Currently there is only one reference under "Distinguishing Cause from Effect (Bivariate)". Below are some references published in recent 3 years (in no particular order). I try to make a high-variance-low-bias list, keeping an eye on the diversity, without bias to a particular kind of methods. Hope these help.

    https://dl.acm.org/doi/abs/10.1145/3292500.3330854 (KDD19) http://proceedings.mlr.press/v84/bloebaum18a.html (AISTATS18) http://proceedings.mlr.press/v119/tagasovska20a.html (ICML20) https://link.springer.com/chapter/10.1007/978-3-319-98131-4_3 https://proceedings.neurips.cc/paper/2018/hash/73fed7fd472e502d8908794430511f4d-Abstract.html https://proceedings.neurips.cc/paper/2020/hash/a979ca2444b34449a2c80b012749e9cd-Abstract.html https://arxiv.org/abs/2007.02809 (AAAI21) http://proceedings.mlr.press/v108/wu20b.html (AISTATS20) This last is my own work, and to the best of my knowledge, it still keeps the best result on benchmark dataset. I will publish the code in the recent future.

    Cheers, Pengzhou (Abel)

    opened by wpzdm 2
Owner
Ruocheng Guo
AP, City University of Hong Kong. Causality, Data Mining, ML. Email me if you are interested in hiring me or collaboration.
Ruocheng Guo
Repository for Traffic Accident Benchmark for Causality Recognition (ECCV 2020)

Causality In Traffic Accident (Under Construction) Repository for Traffic Accident Benchmark for Causality Recognition (ECCV 2020) Overview Data Prepa

Tackgeun 21 Nov 20, 2022
CAUSE: Causality from AttribUtions on Sequence of Events

CAUSE: Causality from AttribUtions on Sequence of Events

Wei Zhang 21 Dec 1, 2022
Scripts of Machine Learning Algorithms from Scratch. Implementations of machine learning models and algorithms using nothing but NumPy with a focus on accessibility. Aims to cover everything from basic to advance.

Algo-ScriptML Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The goal of this project is not t

Algo Phantoms 81 Nov 26, 2022
On-device speech-to-index engine powered by deep learning.

On-device speech-to-index engine powered by deep learning.

Picovoice 30 Nov 24, 2022
A python script to lookup Passport Index Dataset

visa-cli A python script to lookup Passport Index Dataset Installation pip install visa-cli Usage usage: visa-cli [-h] [-d DESTINATION_COUNTRY] [-f]

rand-net 16 Oct 18, 2022
A set of simple scripts to process the Imagenet-1K dataset as TFRecords and make index files for NVIDIA DALI.

Overview This is a set of simple scripts to process the Imagenet-1K dataset as TFRecords and make index files for NVIDIA DALI. Make TFRecords To run t

null 8 Nov 1, 2022
deep-table implements various state-of-the-art deep learning and self-supervised learning algorithms for tabular data using PyTorch.

deep-table implements various state-of-the-art deep learning and self-supervised learning algorithms for tabular data using PyTorch.

null 63 Oct 17, 2022
PyTorch implementation of Federated Learning with Non-IID Data, and federated learning algorithms, including FedAvg, FedProx.

Federated Learning with Non-IID Data This is an implementation of the following paper: Yue Zhao, Meng Li, Liangzhen Lai, Naveen Suda, Damon Civin, Vik

Youngjoon Lee 48 Dec 29, 2022
Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.

Machine Learning From Scratch About Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The purpose

Erik Linder-Norén 21.8k Jan 9, 2023
Machine learning framework for both deep learning and traditional algorithms

NeoML is an end-to-end machine learning framework that allows you to build, train, and deploy ML models. This framework is used by ABBYY engineers for

NeoML 704 Dec 27, 2022
Predict stock movement with Machine Learning and Deep Learning algorithms

Project Overview Stock market movement prediction using LSTM Deep Neural Networks and machine learning algorithms Software and Library Requirements Th

Naz Delam 46 Sep 13, 2022
This repository is related to an Arabic tutorial, within the tutorial we discuss the common data structure and algorithms and their worst and best case for each, then implement the code using Python.

Data Structure and Algorithms with Python This repository is related to the Arabic tutorial here, within the tutorial we discuss the common data struc

Mohamed Ayman 33 Dec 2, 2022
All the essential resources and template code needed to understand and practice data structures and algorithms in python with few small projects to demonstrate their practical application.

Data Structures and Algorithms Python INDEX 1. Resources - Books Data Structures - Reema Thareja competitiveCoding Big-O Cheat Sheet DAA Syllabus Inte

Shushrut Kumar 129 Dec 15, 2022
State-of-the-art data augmentation search algorithms in PyTorch

MuarAugment Description MuarAugment is a package providing the easiest way to a state-of-the-art data augmentation pipeline. How to use You can instal

null 43 Dec 12, 2022
Rafael Project- Classifying rockets to different types using data science algorithms.

Rocket-Classify Rafael Project- Classifying rockets to different types using data science algorithms. In this project we received data base with data

Hadassah Engel 5 Sep 18, 2021
Azua - build AI algorithms to aid efficient decision-making with minimum data requirements.

Project Azua 0. Overview Many modern AI algorithms are known to be data-hungry, whereas human decision-making is much more efficient. The human can re

Microsoft 197 Jan 6, 2023
Pytorch Implementations of large number classical backbone CNNs, data enhancement, torch loss, attention, visualization and some common algorithms.

Torch-template-for-deep-learning Pytorch implementations of some **classical backbone CNNs, data enhancement, torch loss, attention, visualization and

Li Shengyan 270 Dec 31, 2022