Public Module Reference

CATE Estimators

Double Machine Learning (DML)

econml.dml.DML(*, model_y, model_t, model_final)

The base class for parametric Double ML estimators.

econml.dml.LinearDML(*[, model_y, model_t, …])

The Double ML Estimator with a low-dimensional linear final stage implemented as a statsmodel regression.

econml.dml.SparseLinearDML(*[, model_y, …])

A specialized version of the Double ML estimator for the sparse linear case.

econml.dml.CausalForestDML(*[, model_y, …])

A Causal Forest [cfdml1] combined with double machine learning based residualization of the treatment and outcome variables.

econml.dml.NonParamDML(*, model_y, model_t, …)

The base class for non-parametric Double ML estimators, that can have arbitrary final ML models of the CATE.

Doubly Robust (DR)

econml.dr.DRLearner(*[, model_propensity, …])

CATE estimator that uses doubly-robust correction techniques to account for covariate shift (selection bias) between the treatment arms.

econml.dr.LinearDRLearner(*[, …])

Special case of the DRLearner where the final stage is a Linear Regression on a low dimensional set of features.

econml.dr.SparseLinearDRLearner(*[, …])

Special case of the DRLearner where the final stage is a Debiased Lasso Regression.

econml.dr.ForestDRLearner(*[, …])

Instance of DRLearner with a RegressionForest as a final model, so as to enable non-parametric inference.

Meta-Learners

econml.metalearners.XLearner(*, models[, …])

Meta-algorithm proposed by Kunzel et al. that performs best in settings

econml.metalearners.TLearner(*, models[, …])

Conditional mean regression estimator.

econml.metalearners.SLearner(*, overall_model)

Conditional mean regression estimator where the treatment assignment is taken as a feature in the ML model.

econml.metalearners.DomainAdaptationLearner(*, …)

Meta-algorithm that uses domain adaptation techniques to account for

Orthogonal Random Forest (ORF)

econml.orf.DMLOrthoForest(*[, n_trees, …])

OrthoForest for continuous or discrete treatments using the DML residual on residual moment function.

econml.orf.DROrthoForest(*[, n_trees, …])

OrthoForest for discrete treatments using the doubly robust moment function.

Instrumental Variable CATE Estimators

Double Machine Learning (DML) IV

econml.iv.dml.DMLATEIV(*, model_Y_W, …[, …])

Implementation of the orthogonal/double ml method for ATE estimation with IV as described in

econml.iv.dml.ProjectedDMLATEIV(*, …[, …])

econml.iv.dml.DMLIV(*, model_Y_X, model_T_X, …)

A child of the _BaseDMLIV class that specifies a particular effect model where the treatment effect is linear in some featurization of the variable X The features are created by a provided featurizer that supports fit_transform.

econml.iv.dml.NonParamDMLIV(*, model_Y_X, …)

A child of the _BaseDMLIV class that allows for an arbitrary square loss based ML method in the final stage of the DMLIV algorithm.

Doubly Robust (DR) IV

econml.iv.dr.IntentToTreatDRIV(*, model_Y_X, …)

Implements the DRIV algorithm for the intent-to-treat A/B test setting

econml.iv.dr.LinearIntentToTreatDRIV(*, …)

Implements the DRIV algorithm for the intent-to-treat A/B test setting

DeepIV

econml.iv.nnet.DeepIV(*, n_components, m, h, …)

The Deep IV Estimator (see http://proceedings.mlr.press/v70/hartford17a/hartford17a.pdf).

Sieve Methods

econml.iv.sieve.SieveTSLS(*, t_featurizer, …)

Non-parametric instrumental variables estimator.

econml.iv.sieve.HermiteFeatures(degree[, …])

Featurizer that returns(unscaled) Hermite function evaluations.

econml.iv.sieve.DPolynomialFeatures([…])

Featurizer that returns the derivatives of PolynomialFeatures features in a way that’s compativle with the expectations of NonparametricTwoStageLeastSquares’s dt_featurizer parameter.

Policy Learning

econml.policy.DRPolicyForest(*[, …])

Policy learner that uses doubly-robust correction techniques to account for covariate shift (selection bias) between the treatment arms.

econml.policy.DRPolicyTree(*[, …])

Policy learner that uses doubly-robust correction techniques to account for covariate shift (selection bias) between the treatment arms.

econml.policy.PolicyForest([n_estimators, …])

Welfare maximization policy forest.

econml.policy.PolicyTree(*[, criterion, …])

Welfare maximization policy tree.

CATE Interpreters

econml.cate_interpreter.SingleTreeCateInterpreter(*)

An interpreter for the effect estimated by a CATE estimator

econml.cate_interpreter.SingleTreePolicyInterpreter(*)

An interpreter for a policy estimated based on a CATE estimation

CATE Scorers

econml.score.RScorer(*, model_y, model_t[, …])

Scorer based on the RLearner loss.

econml.score.EnsembleCateEstimator(*, …)

A CATE estimator that represents a weighted ensemble of many CATE estimators.

Generalized Random Forests

econml.grf.CausalForest([n_estimators, …])

A Causal Forest [cf1].

econml.grf.CausalIVForest([n_estimators, …])

A Causal IV Forest [cfiv1].

econml.grf.RegressionForest([n_estimators, …])

An implementation of a subsampled honest random forest regressor on top of an sklearn regression tree.

econml.grf.MultiOutputGRF(estimator)

Simple wrapper estimator that enables multiple outcome labels for all the grf estimators that only accept a single outcome.

econml.grf.LinearMomentGRFCriterion

A criterion class that estimates local parameters defined via linear moment equations of the form.

econml.grf.LinearMomentGRFCriterionMSE

econml.grf._base_grf.BaseGRF([n_estimators, …])

Base class for Genearlized Random Forests for solving linear moment equations of the form.

econml.grf._base_grftree.GRFTree(*[, …])

A tree of a Generalized Random Forest [grftree1].

Scikit-Learn Extensions

Linear Model Extensions

econml.sklearn_extensions.linear_model.DebiasedLasso([…])

Debiased Lasso model.

econml.sklearn_extensions.linear_model.MultiOutputDebiasedLasso([…])

Debiased MultiOutputLasso model.

econml.sklearn_extensions.linear_model.SelectiveRegularization(…)

Estimator of a linear model where regularization is applied to only a subset of the coefficients.

econml.sklearn_extensions.linear_model.StatsModelsLinearRegression([…])

Class which mimics weighted linear regression from the statsmodels package.

econml.sklearn_extensions.linear_model.StatsModelsRLM([…])

Class which mimics robust linear regression from the statsmodels package.

econml.sklearn_extensions.linear_model.WeightedLasso([…])

Version of sklearn Lasso that accepts weights.

econml.sklearn_extensions.linear_model.WeightedLassoCV([…])

Version of sklearn LassoCV that accepts weights.

econml.sklearn_extensions.linear_model.WeightedMultiTaskLassoCV([…])

Version of sklearn MultiTaskLassoCV that accepts weights.

econml.sklearn_extensions.linear_model.WeightedLassoCVWrapper(…)

Helper class to wrap either WeightedLassoCV or WeightedMultiTaskLassoCV depending on the shape of the target.

Model Selection Extensions

econml.sklearn_extensions.model_selection.GridSearchCVList(…)

An extension of GridSearchCV that allows for passing a list of estimators each with their own parameter grid and returns the best among all estimators in the list and hyperparameter in their corresponding grid.

econml.sklearn_extensions.model_selection.WeightedKFold([…])

K-Folds cross-validator for weighted data.

econml.sklearn_extensions.model_selection.WeightedStratifiedKFold([…])

Stratified K-Folds cross-validator for weighted data.

Inference

Inference Results

econml.inference.NormalInferenceResults(d_t, …)

Results class for inference assuming a normal distribution.

econml.inference.EmpiricalInferenceResults(…)

Results class for inference with an empirical set of samples.

econml.inference.PopulationSummaryResults(…)

Population summary results class for inferences.

Inference Methods

econml.inference.BootstrapInference([…])

Inference instance to perform bootstrapping.

econml.inference.GenericModelFinalInference()

Inference based on predict_interval of the model_final model.

econml.inference.GenericSingleTreatmentModelFinalInference()

Inference based on predict_interval of the model_final model.

econml.inference.LinearModelFinalInference()

Inference based on predict_interval of the model_final model.

econml.inference.StatsModelsInference([cov_type])

Stores statsmodels covariance options.

econml.inference.GenericModelFinalInferenceDiscrete()

Assumes estimator is fitted on categorical treatment and a separate generic model_final is used to fit the CATE associated with each treatment.

econml.inference.LinearModelFinalInferenceDiscrete()

Inference method for estimators with categorical treatments, where a linear in X model is used for the CATE associated with each treatment.

econml.inference.StatsModelsInferenceDiscrete([…])

Special case where final model is a StatsModelsLinearRegression

Integration with DoWhy

econml.dowhy.DoWhyWrapper(cate_estimator)

A wrapper class to allow user call other methods from dowhy package through EconML.

Utilities

econml.utilities

Utility methods.

Private Module Reference

econml._ortho_learner

Orthogonal Machine Learning is a general approach to estimating causal models by formulating them as minimizers of some loss function that depends on auxiliary regression models that also need to be estimated from data.

econml._cate_estimator

Base classes for all CATE estimators.

econml.dml._rlearner

The R Learner is an approach for estimating flexible non-parametric models of conditional average treatment effects in the setting with no unobserved confounders.

econml.inference._bootstrap

Bootstrap sampling.