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, z_featurizer, dt_featurizer)[source]

方法

__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)\) 的置信区间。

属性

dowhy

获取 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) 的类型 )

从数据中估计反事实模型,即估计函数 τ(·, ·, ·), ∂τ(·, ·)。

参数
  • fit(Y, T, *, Z, X=None, W=None, inference=None)[source]

  • Y ((n × d_y) 矩阵) – 每个样本的结果

  • T ((n × dₜ) 矩阵) – 每个样本的处理项

  • X ((n × dₓ) 矩阵,可选) – 每个样本的特征

  • W ((n × d_w) 矩阵,可选) – 每个样本的控制变量

  • Z ((n × d_z) 矩阵,可选) – 每个样本的工具变量

返回值类型

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 包的其他功能。(例如,因果图、反驳测试等)

返回值类型

DoWhyWrapperDoWhyWrapper 的一个实例