Skip to main content

Bayesian Inference of Individualized Treatment Effects using Multi-task Gaussian Processes

Project description

Bayesian Inference of Individualized Treatment Effects using Multi-task Gaussian Processes

Tests Slack License

Code Author: Ahmed M. Alaa

Paper: Ahmed M. Alaa, Mihaela van der Schaar, "Bayesian Inference of Individualized Treatment Effects using Multi-task Gaussian Processes", NIPS 2017.

Description

Predicated on the increasing abundance of electronic health records, we investigate the problem of inferring individualized treatment effects using observational data. Stemming from the potential outcomes model, we propose a novel multitask learning framework in which factual and counterfactual outcomes are modeled as the outputs of a function in a vector-valued reproducing kernel Hilbert space (vvRKHS). We develop a nonparametric Bayesian method for learning the treatment effects using a multi-task Gaussian process (GP) with a linear coregionalization kernel as a prior over the vvRKHS. The Bayesian approach allows us to compute individualized measures of confidence in our estimates via pointwise credible intervals, which are crucial for realizing the full potential of precision medicine. The impact of selection bias is alleviated via a risk-based empirical Bayes method for adapting the multi-task GP prior, which jointly minimizes the empirical error in factual outcomes and the uncertainty in (unobserved) counterfactual outcomes. We conduct experiments on observational datasets for an interventional social program applied to premature infants, and a left ventricular assist device applied to cardiac patients wait-listed for a heart transplant. In both experiments, we show that our method significantly outperforms the state-of-the-art.

Installation

$ pip install cmgp

Example Usage

from cmgp import CMGP
from cmgp.datasets import load
from cmgp.utils.metrics import sqrt_PEHE_with_diff

X_train, W_train, Y_train, Y_train_full, X_test, Y_test = load("twins")

model = CMGP(X_train, W_train, Y_train, max_gp_iterations=100)

pred = model.predict(X_test)

pehe = sqrt_PEHE_with_diff(Y_test, pred)

print(f"PEHE score for CMGP on {dataset} = {pehe}")

References

  1. Bayesian Inference of Individualized Treatment Effects using Multi-task Gaussian Processes
  2. Limits of Estimating Heterogeneous Treatment Effects:Guidelines for Practical Algorithm Design
  3. J. L. Hill. Bayesian Nonparametric Modeling for Causal Inference. Journal of Computational and Graphical Statistics, 2012.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

cmgp-0.1.2-py3-none-macosx_10_14_x86_64.whl (13.9 kB view details)

Uploaded Python 3 macOS 10.14+ x86-64

cmgp-0.1.2-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file cmgp-0.1.2-py3-none-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: cmgp-0.1.2-py3-none-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for cmgp-0.1.2-py3-none-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7ab50d683ac731cfefed74107f7cc3cf31572eb5c5eadb6633d2959023bf4580
MD5 2463f3ec401a8a3b5b726a72066b4e21
BLAKE2b-256 ba9842ce204cf8038e200a7f0469296e3854e625c5237f0c0637bbbd2399a7ec

See more details on using hashes here.

File details

Details for the file cmgp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: cmgp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11

File hashes

Hashes for cmgp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fa663dfa2c15514371edfff644d0a2c9e1770c1b154c02fd3c33c249e5f804e8
MD5 de7bbb715e2d4b1f762246e4ebab3473
BLAKE2b-256 2fbd8b17181e63ae522f65803d6d0816491bcff360aab0b3f938ae27e995e5f7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page