Skip to main content

optimaladj: A library for computing optimal adjustment sets in causal graphical models

This package implements the algorithms introduced in Smucler, Sapienza and Rotnitzky (2021) and Smucler and Rotnitzky (2022) to compute optimal adjustment sets in causal graphical models. The package provides a class, called CasualGraph, that inherits from networkx's DiGraph class and has methods to compute: the optimal, optimal minimal, optimal minimum cardinality and optimal minimum cost adjustment sets for individualized treatment rules (point exposure dynamic treatment regimes) in non-parametric causal graphical models with latent variables.

Suppose we are given a causal graph G specifying:

  • a treatment variable A,
  • an outcome variable Y,
  • a set of observable (that is, non-latent) variables N,
  • a set of observable variables that will be used to allocate treatment L, and possibly
  • positive costs associated with each observable variable.

Suppose moreover that there exists at least one adjustment set with respect to A and Y in G that is comprised of observable variables.

An optimal adjustment set is an observable adjustment set that yields the non-parametric estimator of the interventional mean with the smallest asymptotic variance among those that are based on observable adjustment sets.

An optimal minimal adjustment set is an observable adjustment set that yields the non-parametric estimator of the interventional mean with the smallest asymptotic variance among those that are based on observable minimal adjustment sets. An observable minimal adjustment set is a valid adjustment set such that all its variables are observable and the removal of any variable from it destroys validity.

An optimal minimum cardinality adjustment set is an observable adjustment set that has minimum possible cardinality and yields the non-parametric estimator of the interventional mean with the smallest asymptotic variance among those that are based on observable minimum cardinality adjustment sets.

An optimal minimum cost adjustment set is defined similarly, being optimal in the class of observable adjustment sets that have minimum possible cost.

Under these assumptions, Smucler, Sapienza and Rotnitzky (2020) and Smucler and Rotnitzky (2022) show that optimal minimal, optimal minimum cardinality and optimal minimum cost adjustment sets always exist, and can be computed in polynomial time. They also provide a sufficient criterion for the existance of an optimal adjustment set and a polynomial time algorithm to compute it when it exists.

Check out our notebook with examples.

Installation

You can install the stable version of the package from PyPI by running

pip install optimaladj

You can install the development version of the package from Github by running

pip install git+https://github.com/facusapienza21/optimaladj.git#egg=optimaladj

Metadata

Release files for optimaladj 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for optimaladj 0.0.5
File Size Uploaded Provenance Actions
optimaladj-0.0.5.tar.gz 8.2 kB Without provenance Details for optimaladj-0.0.5.tar.gz

Release files / optimaladj-0.0.5.tar.gz

Download URL optimaladj-0.0.5.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
aca28452125478e395fd4f64f28078872afe78c2966ed1cfb74c83cc61efd35b
BLAKE2b-256 checksum
How to use checksums
043a8da4ae2a9d26debf7578dcea07868bb6fa6dc5db99523222b617ecedc773
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.7

Security for optimaladj 0.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page