econml.iv.sieve.SieveTSLS
- class econml.iv.sieve.SieveTSLS(*, t_featurizer, x_featurizer, z_featurizer, dt_featurizer)[source]
基类:
econml._cate_estimator.BaseCateEstimator
非参数工具变量估计器。
支持对特征、处理项和工具变量使用任意 featurizer。
- 参数
t_featurizer (transformer) – 用于转换处理项的 Featurizer
x_featurizer (transformer) – 用于转换原始特征的 Featurizer
z_featurizer (transformer) – 用于转换工具变量的 Featurizer
dt_featurizer (transformer) – 用于转换处理项以计算边际效应的 Featurizer。它应产生一个三维数组,包含每个转换后处理项的按处理项导数。也就是说,给定形状为 (n, dₜ) 的处理项数组,输出形状应为 (n, dₜ, fₜ),其中 fₜ 是由 t_featurizer 生成的列数。
方法
__init__
(*, t_featurizer, x_featurizer, ...)ate
([X])计算平均处理效应 \(E_X[\tau(X, T0, T1)]\)。
ate_inference
([X])模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。
ate_interval
([X, alpha])模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。
cate_feature_names
([feature_names])获取特征名称的公共接口。
cate_output_names
([output_names])获取输出名称的公共接口。
cate_treatment_names
([treatment_names])获取处理项名称的公共接口。
effect
([X, T0, T1])计算异质处理效应 τ(·,·,·)。
effect_inference
([X, T0, T1])模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。
effect_interval
([X, T0, T1, alpha])模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。
fit
(Y, T, *, Z[, X, W, inference])从数据中估计反事实模型,即估计函数 τ(·, ·, ·), ∂τ(·, ·)。
marginal_ate
(T[, X])计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)。
marginal_ate_inference
(T[, X])模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。
marginal_ate_interval
(T[, X, alpha])模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。
marginal_effect
(T[, X])计算异质边际效应 ∂τ(·, ·)。
marginal_effect_inference
(T[, X])模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。
marginal_effect_interval
(T[, X, alpha])模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。
属性
获取
DoWhyWrapper
实例,以允许使用 dowhy 包的其他功能。(例如,因果图、反驳测试等)- ate(X=None, *, T0, T1)
计算平均处理效应 \(E_X[\tau(X, T0, T1)]\)。
在两个处理项值之间计算效应,并在 X 变量的总体上进行平均。
- 参数
T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基础处理项
T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理项
X ((m, d_x) 矩阵,可选) – 每个样本的特征
- 返回值
τ – 对每个结果的平均处理效应 请注意,当 Y 是向量而非二维数组时,结果将是标量
- 返回值类型
float 或 (d_y,) array
- ate_inference(X=None, *, T0, T1)
模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当调用 fit 方法时
inference
不为None
时可用。- 参数
X ((m, d_x) 矩阵,可选) – 每个样本的特征
T0 ((m, d_t) 矩阵或长度为 m 的向量,默认为 0) – 每个样本的基础处理项
T1 ((m, d_t) 矩阵或长度为 m 的向量,默认为 1) – 每个样本的目标处理项
- 返回值
PopulationSummaryResults – 推断结果实例包含预测值和预测标准误差,并可按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。
- 返回值类型
- ate_interval(X=None, *, T0, T1, alpha=0.05)
模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当调用 fit 方法时
inference
不为None
时可用。- 参数
X ((m, d_x) 矩阵,可选) – 每个样本的特征
T0 ((m, d_t) 矩阵或长度为 m 的向量,默认为 0) – 每个样本的基础处理项
T1 ((m, d_t) 矩阵或长度为 m 的向量,默认为 1) – 每个样本的目标处理项
alpha (介于 [0, 1] 之间的浮点数,默认为 0.05) – 报告区间的总体置信水平。报告的是 alpha/2, 1-alpha/2 置信区间。
- 返回值
lower, upper – 每个数量置信区间的下限和上限。
- 返回值类型
tuple(
ate(X, T0, T1)
的类型,ate(X, T0, T1)
的类型 )
- cate_feature_names(feature_names=None)
获取特征名称的公共接口。
由对输入特征应用转换的估计器重写。
- 参数
feature_names (长度为 X.shape[1] 的字符串列表或 None) – 输入特征的名称。如果为 None 且 X 是一个数据框,则默认为数据框的列名。
- 返回值
out_feature_names – 返回特征名称。
- 返回值类型
字符串列表或 None
- cate_output_names(output_names=None)
获取输出名称的公共接口。
由对输出应用转换的估计器重写。
- 参数
output_names (长度为 Y.shape[1] 的字符串列表或 None) – 结果的名称。如果为 None 且传递给 fit 的 Y 是一个数据框,则默认为数据框的列名。
- 返回值
output_names – 返回输出名称。
- 返回值类型
字符串列表
- cate_treatment_names(treatment_names=None)
获取处理项名称的公共接口。
由对处理项应用转换的估计器重写。
- 参数
treatment_names (长度为 T.shape[1] 的字符串列表或 None) – 处理项的名称。如果为 None 且传递给 fit 的 T 是一个数据框,则默认为数据框的列名。
- 返回值
treatment_names – 返回处理项名称。
- 返回值类型
字符串列表
- effect(X=None, T0=0, T1=1)[source]
计算异质处理效应 τ(·,·,·)。
在给定一组 m 个测试样本 {T0ᵢ, T1ᵢ, Xᵢ} 的特征向量的条件下,在两个处理项值之间计算效应。
- 参数
T0 ((m × dₜ) 矩阵或长度为 m 的向量) – 每个样本的基础处理项
T1 ((m × dₜ) 矩阵或长度为 m 的向量) – 每个样本的目标处理项
X ((m × dₓ) 矩阵,可选) – 每个样本的特征
- 返回值
τ – 每个样本对每个结果的异质处理效应 请注意,当 Y 是向量而非二维数组时,相应的单维维度将塌缩(因此此方法将返回一个向量)
- 返回值类型
(m × d_y) 矩阵
- effect_inference(X=None, *, T0=0, T1=1)
模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当调用 fit 方法时
inference
不为None
时可用。- 参数
X ((m, d_x) 矩阵,可选) – 每个样本的特征
T0 ((m, d_t) 矩阵或长度为 m 的向量,默认为 0) – 每个样本的基础处理项
T1 ((m, d_t) 矩阵或长度为 m 的向量,默认为 1) – 每个样本的目标处理项
- 返回值
InferenceResults – 推断结果实例包含预测值和预测标准误差,并可按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。
- 返回值类型
- 对象
effect_interval(X=None, *, T0=0, T1=1, alpha=0.05)
- 参数
X ((m, d_x) 矩阵,可选) – 每个样本的特征
T0 ((m, d_t) 矩阵或长度为 m 的向量,默认为 0) – 每个样本的基础处理项
T1 ((m, d_t) 矩阵或长度为 m 的向量,默认为 1) – 每个样本的目标处理项
alpha (介于 [0, 1] 之间的浮点数,默认为 0.05) – 报告区间的总体置信水平。报告的是 alpha/2, 1-alpha/2 置信区间。
- 返回值
lower, upper – 每个数量置信区间的下限和上限。
- 返回值类型
模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当调用 fit 方法时
inference
不为None
时可用。
-
tuple(
effect(X, T0, T1)
的类型,effect(X, T0, T1)
的类型 ) 从数据中估计反事实模型,即估计函数 τ(·, ·, ·), ∂τ(·, ·)。
- 参数
- 返回值类型
inference (str,
Inference
实例或 None) – 执行推断的方法。此估计器支持 'bootstrap'(或BootstrapInference
的实例)
- self
计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)。
marginal_ate(T, X=None)
- 参数
边际效应围绕基础处理项值计算,并在 X 的总体上进行平均。
X ((m, d_x) 矩阵,可选) – 每个样本的特征
- 返回值
T ((m, d_t) 矩阵) – 每个样本的基础处理项
- 返回值类型
grad_tau – 对每个结果的平均边际效应 请注意,当 Y 或 T 是向量而非二维数组时,输出中相应的单维维度将塌缩(例如,如果两者都是向量,则此方法的输出也将是一个向量)
- (d_y, d_t) 数组
marginal_ate_inference(T, X=None)
- 参数
边际效应围绕基础处理项值计算,并在 X 的总体上进行平均。
X ((m, d_x) 矩阵,可选) – 每个样本的特征
- 返回值
PopulationSummaryResults – 推断结果实例包含预测值和预测标准误差,并可按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。
- 返回值类型
-
模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当调用 fit 方法时
inference
不为None
时可用。 marginal_ate_interval(T, X=None, *, alpha=0.05)
- 参数
边际效应围绕基础处理项值计算,并在 X 的总体上进行平均。
X ((m, d_x) 矩阵,可选) – 每个样本的特征
alpha (介于 [0, 1] 之间的浮点数,默认为 0.05) – 报告区间的总体置信水平。报告的是 alpha/2, 1-alpha/2 置信区间。
- 返回值
lower, upper – 每个数量置信区间的下限和上限。
- 返回值类型
模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当调用 fit 方法时
inference
不为None
时可用。
-
tuple(
marginal_ate(T, X)
的类型,marginal_ate(T, X)
的类型 ) 计算异质边际效应 ∂τ(·, ·)。
marginal_effect(T, X=None)[source]
- 参数
在给定一组 m 个测试样本 {Tᵢ, Xᵢ} 的特征向量的条件下,边际效应围绕基础处理项值计算。
X ((m × dₓ) 矩阵,可选) – 每个样本的特征
- 返回值
T ((m × dₜ) 矩阵) – 每个样本的基础处理项
- 返回值类型
grad_tau – 每个样本对每个结果的异质边际效应 请注意,当 Y 或 T 是向量而非二维数组时,输出中相应的单维维度将塌缩(例如,如果两者都是向量,则此方法的输出也将是一个向量)
- (m × d_y × dₜ) 数组
marginal_effect_inference(T, X=None)
- 参数
边际效应围绕基础处理项值计算,并在 X 的总体上进行平均。
X ((m, d_x) 矩阵,可选) – 每个样本的特征
- 返回值
InferenceResults – 推断结果实例包含预测值和预测标准误差,并可按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。
- 返回值类型
-
模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当调用 fit 方法时
inference
不为None
时可用。 marginal_effect_interval(T, X=None, *, alpha=0.05)
- 参数
边际效应围绕基础处理项值计算,并在 X 的总体上进行平均。
X ((m, d_x) 矩阵,可选) – 每个样本的特征
alpha (介于 [0, 1] 之间的浮点数,默认为 0.05) – 报告区间的总体置信水平。报告的是 alpha/2, 1-alpha/2 置信区间。
- 返回值
lower, upper – 每个数量置信区间的下限和上限。
- 返回值类型
模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当调用 fit 方法时
inference
不为None
时可用。
-
tuple(
marginal_effect(T, X)
的类型,marginal_effect(T, X)
的类型 ) property dowhy
- 返回值
获取
DoWhyWrapper
实例,以允许使用 dowhy 包的其他功能。(例如,因果图、反驳测试等)- 返回值类型
DoWhyWrapper –
DoWhyWrapper
的一个实例