DoubleML/doubleml-for-py

DoubleML - Double Machine Learning in Python

What it solves

DoubleML provides a framework for double/debiased machine learning, allowing researchers to estimate treatment and structural parameters while reducing bias that typically occurs when using machine learning models to estimate nuisance functions.

How it works

Built on top of scikit-learn, the library implements the framework by Chernozhukov et al. (2018). It uses an object-oriented approach to estimate nuisance functions via machine learning methods and computes the Neyman orthogonal score function to perform statistical inference. It supports various model classes, including partially linear regression (PLR), partially linear IV regression (PLIV), interactive regression (IRM), and interactive IV regression (IIVM).

Who it’s for

Econometricians, data scientists, and researchers who need to perform rigorous statistical inference on structural parameters using machine learning models.

Highlights

  • Flexible Model Specification: Allows users to define their own machine learners for nuisance functions, resampling schemes, and double machine learning algorithms.
  • Comprehensive Statistical Tools: Includes built-in methods for fitting models, bootstrapping, computing confidence intervals, and p-value adjustment.
  • Extensible Architecture: Supports the addition of new model classes, alternative score functions via callables, and alternative resampling schemes.
  • Scikit-learn Integration: Leverages the existing scikit-learn ecosystem for the machine learning components.

Related

  • Project
  • Project
  • Project
  • Project
  • Project