econml.iv.sieve.SieveTSLS¶

class
econml.iv.sieve.
SieveTSLS
(*, t_featurizer, x_featurizer, z_featurizer, dt_featurizer)[source]¶ Bases:
econml._cate_estimator.BaseCateEstimator
Nonparametric instrumental variables estimator.
Supports the use of arbitrary featurizers for the features, treatments, and instruments.
 Parameters
t_featurizer (transformer) – Featurizer used to transform the treatments
x_featurizer (transformer) – Featurizer used to transform the raw features
z_featurizer (transformer) – Featurizer used to transform the instruments
dt_featurizer (transformer) – Featurizer used to transform the treatments for the computation of the marginal effect. This should produce a 3dimensional array, containing the pertreatment derivative of each transformed treatment. That is, given a treatment array of shape(n, dₜ), the output should have shape(n, dₜ, fₜ), where fₜ is the number of columns produced by t_featurizer.

__init__
(*, t_featurizer, x_featurizer, z_featurizer, dt_featurizer)[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
(*, t_featurizer, x_featurizer, …)Initialize self.
ate
([X])Calculate the average treatment effect \(E_X[\tau(X, T0, T1)]\).
ate_inference
([X])Inference results for the quantity \(E_X[\tau(X, T0, T1)]\) produced by the model.
ate_interval
([X, alpha])Confidence intervals for the quantity \(E_X[\tau(X, T0, T1)]\) produced by the model.
cate_feature_names
([feature_names])Public interface for getting feature names.
cate_output_names
([output_names])Public interface for getting output names.
cate_treatment_names
([treatment_names])Public interface for getting treatment names.
effect
([X, T0, T1])Calculate the heterogeneous treatment effect τ(·,·,·).
effect_inference
([X, T0, T1])Inference results for the quantities \(\tau(X, T0, T1)\) produced by the model.
effect_interval
([X, T0, T1, alpha])Confidence intervals for the quantities \(\tau(X, T0, T1)\) produced by the model.
fit
(Y, T, Z[, X, W, inference])Estimate the counterfactual model from data, i.e.
marginal_ate
(T[, X])Calculate the average marginal effect \(E_{T, X}[\partial\tau(T, X)]\).
marginal_ate_inference
(T[, X])Inference results for the quantities \(E_{T,X}[\partial \tau(T, X)]\) produced by the model.
marginal_ate_interval
(T[, X, alpha])Confidence intervals for the quantities \(E_{T,X}[\partial \tau(T, X)]\) produced by the model.
marginal_effect
(T[, X])Calculate the heterogeneous marginal effect ∂τ(·, ·).
marginal_effect_inference
(T[, X])Inference results for the quantities \(\partial \tau(T, X)\) produced by the model.
marginal_effect_interval
(T[, X, alpha])Confidence intervals for the quantities \(\partial \tau(T, X)\) produced by the model.
Attributes
Get an instance of
DoWhyWrapper
to allow other functionalities from dowhy package.
ate
(X=None, *, T0, T1)¶ Calculate the average treatment effect \(E_X[\tau(X, T0, T1)]\).
The effect is calculated between the two treatment points and is averaged over the population of X variables.
 Parameters
T0 ((m, d_t) matrix or vector of length m) – Base treatments for each sample
T1 ((m, d_t) matrix or vector of length m) – Target treatments for each sample
X (optional (m, d_x) matrix) – Features for each sample
 Returns
τ – Average treatment effects on each outcome Note that when Y is a vector rather than a 2dimensional array, the result will be a scalar
 Return type
float or (d_y,) array

ate_inference
(X=None, *, T0, T1)¶ Inference results for the quantity \(E_X[\tau(X, T0, T1)]\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
X (optional (m, d_x) matrix) – Features for each sample
T0 (optional (m, d_t) matrix or vector of length m (Default=0)) – Base treatments for each sample
T1 (optional (m, d_t) matrix or vector of length m (Default=1)) – Target treatments for each sample
 Returns
PopulationSummaryResults – The inference results instance contains prediction and prediction standard error and can on demand calculate confidence interval, z statistic and p value. It can also output a dataframe summary of these inference results.
 Return type

ate_interval
(X=None, *, T0, T1, alpha=0.1)¶ Confidence intervals for the quantity \(E_X[\tau(X, T0, T1)]\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
X (optional (m, d_x) matrix) – Features for each sample
T0 (optional (m, d_t) matrix or vector of length m (Default=0)) – Base treatments for each sample
T1 (optional (m, d_t) matrix or vector of length m (Default=1)) – Target treatments for each sample
alpha (optional float in [0, 1] (Default=0.1)) – The overall level of confidence of the reported interval. The alpha/2, 1alpha/2 confidence interval is reported.
 Returns
lower, upper – The lower and the upper bounds of the confidence interval for each quantity.
 Return type
tuple(type of
ate(X, T0, T1)
, type ofate(X, T0, T1))
)

cate_feature_names
(feature_names=None)¶ Public interface for getting feature names.
To be overriden by estimators that apply transformations the input features.
 Parameters
feature_names (list of strings of length X.shape[1] or None) – The names of the input features. If None and X is a dataframe, it defaults to the column names from the dataframe.
 Returns
out_feature_names – Returns feature names.
 Return type
list of strings or None

cate_output_names
(output_names=None)¶ Public interface for getting output names.
To be overriden by estimators that apply transformations the outputs.
 Parameters
output_names (list of strings of length Y.shape[1] or None) – The names of the outcomes. If None and the Y passed to fit was a dataframe, it defaults to the column names from the dataframe.
 Returns
output_names – Returns output names.
 Return type
list of strings

cate_treatment_names
(treatment_names=None)¶ Public interface for getting treatment names.
To be overriden by estimators that apply transformations the treatments.
 Parameters
treatment_names (list of strings of length T.shape[1] or None) – The names of the treatments. If None and the T passed to fit was a dataframe, it defaults to the column names from the dataframe.
 Returns
treatment_names – Returns treatment names.
 Return type
list of strings

effect
(X=None, T0=0, T1=1)[source]¶ Calculate the heterogeneous treatment effect τ(·,·,·).
The effect is calculated between the two treatment points conditional on a vector of features on a set of m test samples {T0ᵢ, T1ᵢ, Xᵢ}.
 Parameters
T0 ((m × dₜ) matrix or vector of length m) – Base treatments for each sample
T1 ((m × dₜ) matrix or vector of length m) – Target treatments for each sample
X (optional (m × dₓ) matrix) – Features for each sample
 Returns
τ – Heterogeneous treatment effects on each outcome for each sample Note that when Y is a vector rather than a 2dimensional array, the corresponding singleton dimension will be collapsed (so this method will return a vector)
 Return type
(m × d_y) matrix

effect_inference
(X=None, *, T0=0, T1=1)¶ Inference results for the quantities \(\tau(X, T0, T1)\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
X (optional (m, d_x) matrix) – Features for each sample
T0 (optional (m, d_t) matrix or vector of length m (Default=0)) – Base treatments for each sample
T1 (optional (m, d_t) matrix or vector of length m (Default=1)) – Target treatments for each sample
 Returns
InferenceResults – The inference results instance contains prediction and prediction standard error and can on demand calculate confidence interval, z statistic and p value. It can also output a dataframe summary of these inference results.
 Return type

effect_interval
(X=None, *, T0=0, T1=1, alpha=0.1)¶ Confidence intervals for the quantities \(\tau(X, T0, T1)\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
X (optional (m, d_x) matrix) – Features for each sample
T0 (optional (m, d_t) matrix or vector of length m (Default=0)) – Base treatments for each sample
T1 (optional (m, d_t) matrix or vector of length m (Default=1)) – Target treatments for each sample
alpha (optional float in [0, 1] (Default=0.1)) – The overall level of confidence of the reported interval. The alpha/2, 1alpha/2 confidence interval is reported.
 Returns
lower, upper – The lower and the upper bounds of the confidence interval for each quantity.
 Return type
tuple(type of
effect(X, T0, T1)
, type ofeffect(X, T0, T1))
)

fit
(Y, T, Z, X=None, W=None, *, inference=None)[source]¶ Estimate the counterfactual model from data, i.e. estimates functions τ(·, ·, ·), ∂τ(·, ·).
 Parameters
Y ((n × d_y) matrix) – Outcomes for each sample
T ((n × dₜ) matrix) – Treatments for each sample
X (optional(n × dₓ) matrix) – Features for each sample
W (optional(n × d_w) matrix) – Controls for each sample
Z (optional(n × d_z) matrix) – Instruments for each sample
inference (string,
Inference
instance, or None) – Method for performing inference. This estimator supports ‘bootstrap’ (or an instance ofBootstrapInference
)
 Returns
 Return type
self

marginal_ate
(T, X=None)¶ Calculate the average marginal effect \(E_{T, X}[\partial\tau(T, X)]\).
The marginal effect is calculated around a base treatment point and averaged over the population of X.
 Parameters
T ((m, d_t) matrix) – Base treatments for each sample
X (optional (m, d_x) matrix) – Features for each sample
 Returns
grad_tau – Average marginal effects on each outcome Note that when Y or T is a vector rather than a 2dimensional array, the corresponding singleton dimensions in the output will be collapsed (e.g. if both are vectors, then the output of this method will be a scalar)
 Return type
(d_y, d_t) array

marginal_ate_inference
(T, X=None)¶ Inference results for the quantities \(E_{T,X}[\partial \tau(T, X)]\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
T ((m, d_t) matrix) – Base treatments for each sample
X (optional (m, d_x) matrix or None (Default=None)) – Features for each sample
 Returns
PopulationSummaryResults – The inference results instance contains prediction and prediction standard error and can on demand calculate confidence interval, z statistic and p value. It can also output a dataframe summary of these inference results.
 Return type

marginal_ate_interval
(T, X=None, *, alpha=0.1)¶ Confidence intervals for the quantities \(E_{T,X}[\partial \tau(T, X)]\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
T ((m, d_t) matrix) – Base treatments for each sample
X (optional (m, d_x) matrix or None (Default=None)) – Features for each sample
alpha (optional float in [0, 1] (Default=0.1)) – The overall level of confidence of the reported interval. The alpha/2, 1alpha/2 confidence interval is reported.
 Returns
lower, upper – The lower and the upper bounds of the confidence interval for each quantity.
 Return type
tuple(type of
marginal_ate(T, X)
, type ofmarginal_ate(T, X)
)

marginal_effect
(T, X=None)[source]¶ Calculate the heterogeneous marginal effect ∂τ(·, ·).
The marginal effect is calculated around a base treatment point conditional on a vector of features on a set of m test samples {Tᵢ, Xᵢ}.
 Parameters
T ((m × dₜ) matrix) – Base treatments for each sample
X (optional(m × dₓ) matrix) – Features for each sample
 Returns
grad_tau – Heterogeneous marginal effects on each outcome for each sample Note that when Y or T is a vector rather than a 2dimensional array, the corresponding singleton dimensions in the output will be collapsed (e.g. if both are vectors, then the output of this method will also be a vector)
 Return type
(m × d_y × dₜ) array

marginal_effect_inference
(T, X=None)¶ Inference results for the quantities \(\partial \tau(T, X)\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
T ((m, d_t) matrix) – Base treatments for each sample
X (optional (m, d_x) matrix or None (Default=None)) – Features for each sample
 Returns
InferenceResults – The inference results instance contains prediction and prediction standard error and can on demand calculate confidence interval, z statistic and p value. It can also output a dataframe summary of these inference results.
 Return type

marginal_effect_interval
(T, X=None, *, alpha=0.1)¶ Confidence intervals for the quantities \(\partial \tau(T, X)\) produced by the model. Available only when
inference
is notNone
, when calling the fit method. Parameters
T ((m, d_t) matrix) – Base treatments for each sample
X (optional (m, d_x) matrix or None (Default=None)) – Features for each sample
alpha (optional float in [0, 1] (Default=0.1)) – The overall level of confidence of the reported interval. The alpha/2, 1alpha/2 confidence interval is reported.
 Returns
lower, upper – The lower and the upper bounds of the confidence interval for each quantity.
 Return type
tuple(type of
marginal_effect(T, X)
, type ofmarginal_effect(T, X)
)

property
dowhy
¶ Get an instance of
DoWhyWrapper
to allow other functionalities from dowhy package. (e.g. causal graph, refutation test, etc.) Returns
DoWhyWrapper – An instance of
DoWhyWrapper
 Return type
instance