source code for 'Finding Valid Adjustments under Non-ignorability with Minimal DAG Knowledge' by A. Shah, K. Shanmugam, K. Ahuja

Overview

Source code for "Finding Valid Adjustments under Non-ignorability with Minimal DAG Knowledge"

Reference: Abhin Shah, Karthikeyan Shanmugam, Kartik Ahuja, "Finding Valid Adjustments under Non-ignorability with Minimal DAG Knowledge," The 25th International Conference on Artificial Intelligence and Statistics (AISTATS), 2022

Contact: [email protected]

Arxiv: https://arxiv.org/pdf/2106.11560.pdf

Dependencies:

In order to successfully execute the code, the following libraries must be installed:

  1. Python --- causallib, sklearn, multiprocessing, contextlib, scipy, functools, pandas, numpy, itertools, random, argparse, time, matplotlib, pickle, pyreadr, rpy2, torch

  2. R --- RCIT

Command inputs:

  • nr: number of repetitions (default = 100)
  • no: number of observations (default = 50000)
  • use_t_in_e: indicator for whether t should be used to generate e (default = 1)
  • ne: number of environments (default = 3)
  • number_IRM_iterations - number of iterations of IRM (default = 15000)
  • nrd - number of features for sparse subset search (default = 5)

Reproducing the figures and tables:

  1. To reproduce Figure 3a and Figure 10a, run the following three commands:
$ mkdir synthetic_theory
$ python3 -W ignore synthetic_theory.py --nr 100
$ python3 plot_synthetic_theory.py --nr 100
  1. To reproduce Figure 3b and Figure 10b, run the following three commands:
$ mkdir synthetic_algorithms
$ python3 -W ignore synthetic_algorithms.py --nr 100
$ python3 plot_synthetic_algorithms.py --nr 100
  1. To reproduce Figure 3c, run the following three commands:
$ mkdir synthetic_high_dimension
$ python3 -W ignore synthetic_high_dimension.py --nr 100
$ python3 plot_synthetic_high_dimension.py --nr 100
  1. To reproduce Table 1, run the following two commands:
$ mkdir syn-entner 
$ python3 -W ignore syn-entner --nr 100
  1. To reproduce Table 2, run the following two commands:
$ mkdir syn-cheng 
$ python3 -W ignore syn-cheng --nr 100
  1. To reproduce Figure 4, Figure 12a and Figure 12b, run the following three commands:
$ mkdir ihdp
$ python3 -W ignore ihdp.py --nr 100
$ python3 plot_ihdp.py --nr 100
  1. To reproduce Figure 5, run the following three commands:
$ mkdir cattaneo
$ python3 -W ignore cattaneo.py --nr 100
$ python3 plot_cattaneo.py --nr 100
  1. To reproduce Figure 11a and Figure 11c, run the following three commands:
$ mkdir synthetic_theory
$ python3 -W ignore synthetic_theory.py --nr 100 --use_t_in_e 0
$ python3 plot_synthetic_theory.py --nr 100 --use_t_in_e 0
  1. To reproduce Figure 11b and Figure 11d, run the following three commands:
$ mkdir synthetic_algorithms
$ python3 -W ignore synthetic_algorithms.py --nr 100 --use_t_in_e 0
$ python3 plot_ synthetic_algorithms.py --nr 100 --use_t_in_e 0
Owner
Abhin Shah
Graduate student at MIT. Former undergrad at IITBombay. Former intern at IBM and EPFL
Abhin Shah
A generalist algorithm for cell and nucleus segmentation.

Cellpose | A generalist algorithm for cell and nucleus segmentation. Cellpose was written by Carsen Stringer and Marius Pachitariu. To learn about Cel

MouseLand 733 Dec 29, 2022
Repository of 3D Object Detection with Pointformer (CVPR2021)

3D Object Detection with Pointformer This repository contains the code for the paper 3D Object Detection with Pointformer (CVPR 2021) [arXiv]. This wo

Zhuofan Xia 117 Jan 06, 2023
DWIPrep is a robust and easy-to-use pipeline for preprocessing of diverse dMRI data.

DWIPrep: A Robust Preprocessing Pipeline for dMRI Data DWIPrep is a robust and easy-to-use pipeline for preprocessing of diverse dMRI data. The transp

Gal Ben-Zvi 1 Jan 09, 2023
Implementation of our paper "Video Playback Rate Perception for Self-supervised Spatio-Temporal Representation Learning".

PRP Introduction This is the implementation of our paper "Video Playback Rate Perception for Self-supervised Spatio-Temporal Representation Learning".

yuanyao366 39 Dec 29, 2022
Spectralformer: Rethinking hyperspectral image classification with transformers

The code in this toolbox implements the "Spectralformer: Rethinking hyperspectral image classification with transformers". More specifically, it is detailed as follow.

Danfeng Hong 104 Jan 04, 2023
Unofficial keras(tensorflow) implementation of MAE model from Masked Autoencoders Are Scalable Vision Learners

MAE-keras Unofficial keras(tensorflow) implementation of MAE model described in 'Masked Autoencoders Are Scalable Vision Learners'. This work has been

Yewon 11 Jun 12, 2022
Code, final versions, and information on the Sparkfun Graphical Datasheets

Graphical Datasheets Code, final versions, and information on the SparkFun Graphical Datasheets. Generated Cells After Running Script Example Complete

SparkFun Electronics 102 Jan 05, 2023
Learning Multiresolution Matrix Factorization and its Wavelet Networks on Graphs

Project Learning Multiresolution Matrix Factorization and its Wavelet Networks on Graphs, https://arxiv.org/pdf/2111.01940.pdf. Authors Truong Son Hy

5 Jun 28, 2022
DeepProbLog is an extension of ProbLog that integrates Probabilistic Logic Programming with deep learning by introducing the neural predicate.

DeepProbLog DeepProbLog is an extension of ProbLog that integrates Probabilistic Logic Programming with deep learning by introducing the neural predic

KU Leuven Machine Learning Research Group 94 Dec 18, 2022
The fastai deep learning library

Welcome to fastai fastai simplifies training fast and accurate neural nets using modern best practices Important: This documentation covers fastai v2,

fast.ai 23.2k Jan 07, 2023
Python implementation of the multistate Bennett acceptance ratio (MBAR)

pymbar Python implementation of the multistate Bennett acceptance ratio (MBAR) method for estimating expectations and free energy differences from equ

Chodera lab // Memorial Sloan Kettering Cancer Center 169 Dec 02, 2022
Codebase for "ProtoAttend: Attention-Based Prototypical Learning."

Codebase for "ProtoAttend: Attention-Based Prototypical Learning." Authors: Sercan O. Arik and Tomas Pfister Paper: Sercan O. Arik and Tomas Pfister,

47 2 May 17, 2022
ExCon: Explanation-driven Supervised Contrastive Learning

ExCon: Explanation-driven Supervised Contrastive Learning Contributors of this repo: Zhibo Zhang ( Zhibo (Darren) Zhang 18 Nov 01, 2022

Code for the SIGGRAPH 2022 paper "DeltaConv: Anisotropic Operators for Geometric Deep Learning on Point Clouds."

DeltaConv [Paper] [Project page] Code for the SIGGRAPH 2022 paper "DeltaConv: Anisotropic Operators for Geometric Deep Learning on Point Clouds" by Ru

98 Nov 26, 2022
A Python library for adversarial machine learning focusing on benchmarking adversarial robustness.

ARES This repository contains the code for ARES (Adversarial Robustness Evaluation for Safety), a Python library for adversarial machine learning rese

Tsinghua Machine Learning Group 377 Dec 20, 2022
Аналитика доходности инвестиционного портфеля в Тинькофф брокере

Аналитика доходности инвестиционного портфеля Тиньков Видео на YouTube Для работы скрипта нужно установить три переменных окружения: export TINKOFF_TO

Alexey Goloburdin 64 Dec 17, 2022
Technical Analysis library in pandas for backtesting algotrading and quantitative analysis

bta-lib - A pandas based Technical Analysis Library bta-lib is pandas based technical analysis library and part of the backtrader family. Links Main P

DRo 393 Dec 20, 2022
Human head pose estimation using Keras over TensorFlow.

RealHePoNet: a robust single-stage ConvNet for head pose estimation in the wild.

Rafael Berral Soler 71 Jan 05, 2023
Codes and models for the paper "Learning Unknown from Correlations: Graph Neural Network for Inter-novel-protein Interaction Prediction".

GNN_PPI Codes and models for the paper "Learning Unknown from Correlations: Graph Neural Network for Inter-novel-protein Interaction Prediction". Lear

Ursa Zrimsek 2 Dec 14, 2022
An End-to-End Machine Learning Library to Optimize AUC (AUROC, AUPRC).

Logo by Zhuoning Yuan LibAUC: A Machine Learning Library for AUC Optimization Website | Updates | Installation | Tutorial | Research | Github LibAUC a

Optimization for AI 176 Jan 07, 2023