econml._cate_estimator

所有 CATE 估计器的基类。

BaseCateEstimator()

此包中所有 CATE 估计器的基类。

DebiasedLassoCateEstimatorDiscreteMixin()

最终阶段是 Debiased Lasso 模型的 cate 模型 Mixin。

DebiasedLassoCateEstimatorMixin()

最终阶段是 Debiased Lasso 模型的 cate 模型 Mixin。

ForestModelFinalCateEstimatorDiscreteMixin()

ForestModelFinalCateEstimatorMixin()

LinearCateEstimator()

此包中所有 CATE 估计器的基类,其中结果变量在用户定义的处理变量特征化后是线性的。

LinearModelFinalCateEstimatorDiscreteMixin()

最终阶段是线性模型的基类。

LinearModelFinalCateEstimatorMixin()

最终阶段是线性模型的基类。

StatsModelsCateEstimatorDiscreteMixin()

为继承它的 CATE 估计器提供 inference='statsmodels' 选项的 Mixin 类。

StatsModelsCateEstimatorMixin()

为继承它的 CATE 估计器提供 inference='statsmodels' 选项的 Mixin 类。

TreatmentExpansionMixin()

自动处理标量处理变量提升到适当形状,以及离散处理变量和用户指定处理变量转换器的处理变量特征化的 Mixin。

class econml._cate_estimator.BaseCateEstimator[source]

基类:object

此包中所有 CATE 估计器的基类。

ate(X=None, *, T0, T1)[source]

计算平均处理效应 \(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,) 数组

ate_inference(X=None, *, T0, T1)[source]

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)[source]

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [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)[source]

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)[source]

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)[source]

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

abstract effect(X=None, *, T0, T1)[source]

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)[source]

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)[source]

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 effect(X, T0, T1), 类型 effect(X, T0, T1)))

abstract fit(*args, inference=None, **kwargs)[source]

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

marginal_ate(T, X=None)[source]

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)[source]

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)[source]

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 marginal_ate(T, X), 类型 marginal_ate(T, X))

abstract marginal_effect(T, X=None)[source]

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)[source]

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)[source]

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 marginal_effect(T, X), 类型 marginal_effect(T, X))

property dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

class econml._cate_estimator.DebiasedLassoCateEstimatorDiscreteMixin[source]

基类:econml._cate_estimator.LinearModelFinalCateEstimatorDiscreteMixin

最终阶段是 Debiased Lasso 模型的 cate 模型 Mixin。

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [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 (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

coef_(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中的系数。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

coef – 其中 n_x 是进入最终模型的特征数量(如果 CATE 估计器具有 featurizer,则为 X 的维度或 featurizer.fit_transform(X) 的维度。)

返回类型

(n_x,) 或 (n_y, n_x) array_like

coef__inference(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中系数的推断。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

InferenceResults – 最终线性模型中系数的推断

返回类型

对象

coef__interval(T, *, alpha=0.05)

与处理变量 T 相关联的常数边际处理效应的线性模型中系数的置信区间。

参数
  • T (alphanumeric) – 我们希望获取其系数的输入处理变量。

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 coef_(T), 类型 coef_(T))

abstract effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 effect(X, T0, T1), 类型 effect(X, T0, T1)))

abstract fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

intercept_(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中的截距。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

intercept

返回类型

float 或 (n_y,) array_like

intercept__inference(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中截距的推断。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

InferenceResults – 最终线性模型中截距的推断

返回类型

对象

intercept__interval(T, *, alpha=0.05)

与处理变量 T 相关联的常数边际处理效应的线性模型中的截距。

参数
  • T (alphanumeric) – 我们希望获取其系数的输入处理变量。

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 置信区间的下限和上限。

返回类型

tuple(类型 intercept_(T), 类型 intercept_(T))

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 marginal_ate(T, X), 类型 marginal_ate(T, X))

abstract marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 marginal_effect(T, X), 类型 marginal_effect(T, X))

summary(T, *, alpha=0.05, value=0, decimals=3, feature_names=None, treatment_names=None, output_names=None)

与处理变量 T 相关联的常数边际处理效应的线性模型中系数和截距的摘要。

参数
  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

  • value (float, 默认 0) – 零假设下您希望检验的指标的平均值。

  • decimals (int, 默认 3) – 每列四舍五入到的小数位数。

  • feature_names (list of str, 可选) – 输入特征名称。

  • treatment_names (list of str, 可选) – 处理变量的名称。

  • output_names (list of str, 可选) – 结果变量的名称。

返回

smry – 这包含摘要表和文本,可以打印或转换为各种输出格式。

返回类型

Summary 实例

property dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

class econml._cate_estimator.DebiasedLassoCateEstimatorMixin[source]

基类:econml._cate_estimator.LinearModelFinalCateEstimatorMixin

最终阶段是 Debiased Lasso 模型的 cate 模型 Mixin。

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [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 (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

coef__inference()

常数边际处理效应的线性模型中系数的推断。

返回

InferenceResults – 最终线性模型中系数的推断

返回类型

对象

coef__interval(*, alpha=0.05)

常数边际处理效应的线性模型中的系数。

参数

alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lb, ub – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 coef_(), 类型 coef_())

abstract effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 effect(X, T0, T1), 类型 effect(X, T0, T1)))

abstract fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

intercept__inference()

常数边际处理效应的线性模型中截距的推断。

返回

InferenceResults – 最终线性模型中截距的推断

返回类型

对象

intercept__interval(*, alpha=0.05)

常数边际处理效应的线性模型中的截距。

参数

alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 置信区间的下限和上限。

返回类型

tuple(类型 intercept_(), 类型 intercept_())

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 marginal_ate(T, X), 类型 marginal_ate(T, X))

abstract marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

tuple(类型 marginal_effect(T, X), 类型 marginal_effect(T, X))

shap_values(X, *, feature_names=None, treatment_names=None, output_names=None, background_samples=100)

最终阶段模型 (const_marginal_effect) 的 Shap 值

参数
  • X ((m, d_x) 矩阵) – 每个样本的特征。应与最终阶段拟合的 X 的形状相同。

  • feature_names (list of str of length X.shape[1], 可选) – 输入特征的名称。

  • treatment_names (list, 可选) – 特征化处理变量的名称。在离散处理变量场景中,名称不应包含基准处理变量的名称(即控制处理变量,默认按字母顺序较小的)。

  • output_names (list, 可选) – 结果变量的名称。

  • background_samples (int, 默认 100) – 用于计算基准效应的样本数量。如果为 None,则使用所有样本。

返回

shap_outs – 一个嵌套字典,使用每个结果变量名称(例如,当 output_names=None 时为 'Y0', 'Y1', ...)和每个处理变量名称(例如,当 treatment_names=None 时为 'T0', 'T1', ...)作为键,并以 shap_values 解释对象作为值。如果在 fit 时输入数据也包含元数据(例如是 pandas 数据框),则使用处理变量、结果变量和特征变量的列元数据,而不是上述默认值(除非用户通过显式传递相应名称来覆盖)。

返回类型

Explanation 对象的嵌套字典

summary(alpha=0.05, value=0, decimals=3, feature_names=None, treatment_names=None, output_names=None)

常数边际处理效应的线性模型中系数和截距的摘要。

参数
  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

  • value (float, 默认 0) – 零假设下您希望检验的指标的平均值。

  • decimals (int, 默认 3) – 每列四舍五入到的小数位数。

  • feature_names (list of str, 可选) – 输入特征名称。

  • treatment_names (list of str, 可选) – 处理变量的名称。

  • output_names (list of str, 可选) – 结果变量的名称。

返回

smry – 这包含摘要表和文本,可以打印或转换为各种输出格式。

返回类型

Summary 实例

property coef_

常数边际处理效应的线性模型中的系数。

返回

coef – 其中 n_x 是进入最终模型的特征数量(如果 CATE 估计器具有 featurizer,则为 X 的维度或 featurizer.fit_transform(X) 的维度),n_t 是处理变量数量,n_y 是结果变量数量。如果原始输入是向量而不是二维数组,则省略维度。对于二元处理变量,也省略 n_t 维度。

返回类型

(n_x,) 或 (n_t, n_x) 或 (n_y, n_t, n_x) array_like

property dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

property intercept_

常数边际处理效应的线性模型中的截距。

返回

intercept – 其中 n_t 是处理变量数量,n_y 是结果变量数量。如果原始输入是向量而不是二维数组,则省略维度。对于二元处理变量,也省略 n_t 维度。

返回类型

float 或 (n_y,) 或 (n_y, n_t) array_like

class econml._cate_estimator.ForestModelFinalCateEstimatorDiscreteMixin[source]

基类:econml._cate_estimator.BaseCateEstimator

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [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 (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

abstract effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 effect(X, T0, T1), 类型为 effect(X, T0, T1)) )

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_ate(T, X), 类型为 marginal_ate(T, X) )

抽象 marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_effect(T, X), 类型为 marginal_effect(T, X) )

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

econml._cate_estimator.ForestModelFinalCateEstimatorMixin[源代码]

基类:econml._cate_estimator.BaseCateEstimator

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 ate(X, T0, T1), 类型为 ate(X, T0, T1)) )

cate_feature_names(feature_names=None)

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

抽象 effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 effect(X, T0, T1), 类型为 effect(X, T0, T1)) )

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_ate(T, X), 类型为 marginal_ate(T, X) )

抽象 marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_effect(T, X), 类型为 marginal_effect(T, X) )

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

econml._cate_estimator.LinearCateEstimator[源代码]

基类:econml._cate_estimator.BaseCateEstimator

此包中所有 CATE 估计器的基类,其中结果变量在用户定义的处理变量特征化后是线性的。

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 ate(X, T0, T1), 类型为 ate(X, T0, T1)) )

cate_feature_names(feature_names=None)

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

const_marginal_ate(X=None)[源代码]

计算平均常数边际 CATE \(E_X[\theta(X)]\)

参数

X ((m, d_x) 矩阵, 可选) – 每个样本的特征。

返回

theta – 每种治疗对每个结果的平均常数边际 CATE。请注意,当 Y 或特征化治疗 (或 treatment_featurizer 为 None 时为 T) 是向量而不是二维数组时,输出中相应的单例维度将折叠(例如,如果两者都是向量,则此方法的输出也将是标量)

返回类型

(d_y, d_f_t) 矩阵,其中 d_f_t 是特征化治疗的维度。如果 treatment_featurizer 为 None,则 d_f_t = d_t。

const_marginal_ate_inference(X=None)[源代码]

模型产生的数量 \(E_X[\theta(X)]\) 的推断结果。仅当调用 fit 方法时 inference 不为 None 时可用。

参数

X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

const_marginal_ate_interval(X=None, *, alpha=0.05)[源代码]

模型产生的数量 \(E_X[\theta(X)]\) 的置信区间。仅当调用 fit 方法时 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 const_marginal_ate(X) , 类型为 const_marginal_ate(X) )

抽象 const_marginal_effect(X=None)[源代码]

计算常数边际 CATE \(\theta(·)\)

边际效应是根据一组 m 个测试样本 X[i] 的特征向量计算的。

参数

X ((m, d_x) 矩阵, 可选) – 每个样本的特征。

返回

theta – 对于每个样本 X[i],每个特征化治疗对每个结果的常数边际 CATE。请注意,当 Y 或特征化治疗 (或 treatment_featurizer 为 None 时为 T) 是向量而不是二维数组时,输出中相应的单例维度将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_f_t) 矩阵,如果 X 为 None,则为 (d_y, d_f_t) 矩阵,其中 d_f_t 是特征化治疗的维度。如果 treatment_featurizer 为 None,则 d_f_t = d_t。

const_marginal_effect_inference(X=None)[源代码]

模型产生的数量 \(\theta(X)\) 的推断结果。仅当调用 fit 方法时 inference 不为 None 时可用。

参数

X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

const_marginal_effect_interval(X=None, *, alpha=0.05)[源代码]

模型产生的数量 \(\theta(X)\) 的置信区间。仅当调用 fit 方法时 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 const_marginal_effect(X) , 类型为 const_marginal_effect(X) )

effect(X=None, *, T0, T1)[源代码]

计算异质处理效应 \(\tau(X, T0, T1)\)

效应是在一组 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 的特征向量条件下,在两个治疗点之间计算的。由于此类假定为线性效应,因此对于此计算而言,只有 T0ᵢ 和 T1ᵢ 之间的差异很重要。

参数
  • T0 ((m, d_t) 矩阵) – 每个样本的基础治疗

  • T1 ((m, d_t) 矩阵) – 每个样本的目标治疗

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

effect – 每个样本对每个结果的异质治疗效应。请注意,当 Y 是向量而不是二维数组时,相应的单例维度将折叠(因此此方法将返回一个向量)

返回类型

(m, d_y) 矩阵(如果 Y 是向量,则为长度 m 的向量)

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 effect(X, T0, T1), 类型为 effect(X, T0, T1)) )

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

marginal_ate(T, X=None)[源代码]

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)[源代码]

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)[源代码]

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_ate(T, X), 类型为 marginal_ate(T, X) )

marginal_effect(T, X=None)[源代码]

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是根据一组 m 个测试样本 \(\{T_i, X_i\}\) 的特征向量,围绕基础治疗点计算的。如果 treatment_featurizer 为 None,则在此计算中忽略基础治疗,结果等同于 const_marginal_effect。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)[源代码]

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)[源代码]

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_effect(T, X), 类型为 marginal_effect(T, X) )

shap_values(X, *, feature_names=None, treatment_names=None, output_names=None, background_samples=100)[源代码]

最终阶段模型 (const_marginal_effect) 的 Shap 值

参数
  • X ((m, d_x) 矩阵) – 每个样本的特征。应与最终阶段拟合的 X 的形状相同。

  • feature_names (list of str of length X.shape[1], 可选) – 输入特征的名称。

  • treatment_names (list, 可选) – 特征化处理变量的名称。在离散处理变量场景中,名称不应包含基准处理变量的名称(即控制处理变量,默认按字母顺序较小的)。

  • output_names (list, 可选) – 结果变量的名称。

  • background_samples (int, 默认 100) – 用于计算基准效应的样本数量。如果为 None,则使用所有样本。

返回

shap_outs – 一个嵌套字典,使用每个结果变量名称(例如,当 output_names=None 时为 'Y0', 'Y1', ...)和每个处理变量名称(例如,当 treatment_names=None 时为 'T0', 'T1', ...)作为键,并以 shap_values 解释对象作为值。如果在 fit 时输入数据也包含元数据(例如是 pandas 数据框),则使用处理变量、结果变量和特征变量的列元数据,而不是上述默认值(除非用户通过显式传递相应名称来覆盖)。

返回类型

Explanation 对象的嵌套字典

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

econml._cate_estimator.LinearModelFinalCateEstimatorDiscreteMixin[源代码]

基类:econml._cate_estimator.BaseCateEstimator

最终阶段是线性模型的基类。

子类必须公开一个 fitted_models_final 属性,该属性返回每个非对照治疗的拟合模型数组

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 ate(X, T0, T1), 类型为 ate(X, T0, T1)) )

cate_feature_names(feature_names=None)

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

coef_(T)[源代码]

与处理变量 T 相关联的常数边际处理效应的线性模型中的系数。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

coef – 其中 n_x 是进入最终模型的特征数量(如果 CATE 估计器具有 featurizer,则为 X 的维度或 featurizer.fit_transform(X) 的维度。)

返回类型

(n_x,) 或 (n_y, n_x) array_like

coef__inference(T)[源代码]

与处理变量 T 相关联的常数边际处理效应的线性模型中系数的推断。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

InferenceResults – 最终线性模型中系数的推断

返回类型

对象

coef__interval(T, *, alpha=0.05)[源代码]

与处理变量 T 相关联的常数边际处理效应的线性模型中系数的置信区间。

参数
  • T (alphanumeric) – 我们希望获取其系数的输入处理变量。

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 coef_(T), 类型为 coef_(T))

抽象 effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 effect(X, T0, T1), 类型为 effect(X, T0, T1)) )

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

intercept_(T)[源代码]

与处理变量 T 相关联的常数边际处理效应的线性模型中的截距。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

intercept

返回类型

float 或 (n_y,) array_like

intercept__inference(T)[源代码]

与处理变量 T 相关联的常数边际处理效应的线性模型中截距的推断。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

InferenceResults – 最终线性模型中截距的推断

返回类型

对象

intercept__interval(T, *, alpha=0.05)[源代码]

与处理变量 T 相关联的常数边际处理效应的线性模型中的截距。

参数
  • T (alphanumeric) – 我们希望获取其系数的输入处理变量。

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 置信区间的下限和上限。

返回类型

元组(类型为 intercept_(T), 类型为 intercept_(T))

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_ate(T, X), 类型为 marginal_ate(T, X) )

抽象 marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 marginal_effect(T, X), 类型为 marginal_effect(T, X) )

summary(T, *, alpha=0.05, value=0, decimals=3, feature_names=None, treatment_names=None, output_names=None)[源代码]

与处理变量 T 相关联的常数边际处理效应的线性模型中系数和截距的摘要。

参数
  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

  • value (float, 默认 0) – 零假设下您希望检验的指标的平均值。

  • decimals (int, 默认 3) – 每列四舍五入到的小数位数。

  • feature_names (list of str, 可选) – 输入特征名称。

  • treatment_names (list of str, 可选) – 处理变量的名称。

  • output_names (list of str, 可选) – 结果变量的名称。

返回

smry – 这包含摘要表和文本,可以打印或转换为各种输出格式。

返回类型

Summary 实例

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

econml._cate_estimator.LinearModelFinalCateEstimatorMixin[源代码]

基类:econml._cate_estimator.BaseCateEstimator

最终阶段是线性模型的基类。

此类估计器必须实现一个 model_final_ 属性,该属性指向表示拟合 CATE 模型​​的拟合最终 StatsModelsLinearRegression 对象。还必须实现指向拟合特征器的 featurizer_ 和指定截距是否为 model_final_ 系数第一个元素的 bias_part_of_coef

bias_part_of_coef

CATE 模型的截距是包含在最终模型的 coef_ 中,还是作为单独的 intercept_

类型

布尔值

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(类型为 ate(X, T0, T1), 类型为 ate(X, T0, T1)) )

cate_feature_names(feature_names=None)

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

coef__inference()[源代码]

常数边际处理效应的线性模型中系数的推断。

返回

InferenceResults – 最终线性模型中系数的推断

返回类型

对象

coef__interval(*, alpha=0.05)[source]

常数边际处理效应的线性模型中的系数。

参数

alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lb, ub – 每个数量的置信区间的下限和上限。

返回类型

元组(coef_() 的类型,coef_() 的类型)

抽象 effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(effect(X, T0, T1) 的类型,effect(X, T0, T1)) 的类型)

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

intercept__inference()[source]

常数边际处理效应的线性模型中截距的推断。

返回

InferenceResults – 最终线性模型中截距的推断

返回类型

对象

intercept__interval(*, alpha=0.05)[source]

常数边际处理效应的线性模型中的截距。

参数

alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 置信区间的下限和上限。

返回类型

元组(intercept_() 的类型,intercept_() 的类型)

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_ate(T, X) 的类型,marginal_ate(T, X) 的类型)

抽象 marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_effect(T, X) 的类型,marginal_effect(T, X) 的类型)

shap_values(X, *, feature_names=None, treatment_names=None, output_names=None, background_samples=100)[source]

最终阶段模型 (const_marginal_effect) 的 Shap 值

参数
  • X ((m, d_x) 矩阵) – 每个样本的特征。应与最终阶段拟合的 X 的形状相同。

  • feature_names (list of str of length X.shape[1], 可选) – 输入特征的名称。

  • treatment_names (list, 可选) – 特征化处理变量的名称。在离散处理变量场景中,名称不应包含基准处理变量的名称(即控制处理变量,默认按字母顺序较小的)。

  • output_names (list, 可选) – 结果变量的名称。

  • background_samples (int, 默认 100) – 用于计算基准效应的样本数量。如果为 None,则使用所有样本。

返回

shap_outs – 一个嵌套字典,使用每个结果变量名称(例如,当 output_names=None 时为 'Y0', 'Y1', ...)和每个处理变量名称(例如,当 treatment_names=None 时为 'T0', 'T1', ...)作为键,并以 shap_values 解释对象作为值。如果在 fit 时输入数据也包含元数据(例如是 pandas 数据框),则使用处理变量、结果变量和特征变量的列元数据,而不是上述默认值(除非用户通过显式传递相应名称来覆盖)。

返回类型

Explanation 对象的嵌套字典

summary(alpha=0.05, value=0, decimals=3, feature_names=None, treatment_names=None, output_names=None)[source]

常数边际处理效应的线性模型中系数和截距的摘要。

参数
  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

  • value (float, 默认 0) – 零假设下您希望检验的指标的平均值。

  • decimals (int, 默认 3) – 每列四舍五入到的小数位数。

  • feature_names (list of str, 可选) – 输入特征名称。

  • treatment_names (list of str, 可选) – 处理变量的名称。

  • output_names (list of str, 可选) – 结果变量的名称。

返回

smry – 这包含摘要表和文本,可以打印或转换为各种输出格式。

返回类型

Summary 实例

属性 coef_

常数边际处理效应的线性模型中的系数。

返回

coef – 其中 n_x 是进入最终模型的特征数量(如果 CATE 估计器具有 featurizer,则为 X 的维度或 featurizer.fit_transform(X) 的维度),n_t 是处理变量数量,n_y 是结果变量数量。如果原始输入是向量而不是二维数组,则省略维度。对于二元处理变量,也省略 n_t 维度。

返回类型

(n_x,) 或 (n_t, n_x) 或 (n_y, n_t, n_x) array_like

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

属性 intercept_

常数边际处理效应的线性模型中的截距。

返回

intercept – 其中 n_t 是处理变量数量,n_y 是结果变量数量。如果原始输入是向量而不是二维数组,则省略维度。对于二元处理变量,也省略 n_t 维度。

返回类型

float 或 (n_y,) 或 (n_y, n_t) array_like

econml._cate_estimator.StatsModelsCateEstimatorDiscreteMixin[source]

基类:econml._cate_estimator.LinearModelFinalCateEstimatorDiscreteMixin

混入类,为继承它的 CATE 估计器提供 inference=’statsmodels’ 选项。

此类估计器必须实现 model_final_ 属性,该属性指向一个 StatsModelsLinearRegression 对象,该对象将被克隆以拟合每个离散处理目标的 CATE 模型;还必须实现 fitted_models_final 属性,该属性返回表示每个分类处理的 CATE 的已拟合最终模型的列表。

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(ate(X, T0, T1) 的类型,ate(X, T0, T1)) 的类型)

cate_feature_names(feature_names=None)

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

coef_(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中的系数。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

coef – 其中 n_x 是进入最终模型的特征数量(如果 CATE 估计器具有 featurizer,则为 X 的维度或 featurizer.fit_transform(X) 的维度。)

返回类型

(n_x,) 或 (n_y, n_x) array_like

coef__inference(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中系数的推断。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

InferenceResults – 最终线性模型中系数的推断

返回类型

对象

coef__interval(T, *, alpha=0.05)

与处理变量 T 相关联的常数边际处理效应的线性模型中系数的置信区间。

参数
  • T (alphanumeric) – 我们希望获取其系数的输入处理变量。

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(coef_(T) 的类型,coef_(T) 的类型)

抽象 effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(effect(X, T0, T1) 的类型,effect(X, T0, T1)) 的类型)

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

intercept_(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中的截距。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

intercept

返回类型

float 或 (n_y,) array_like

intercept__inference(T)

与处理变量 T 相关联的常数边际处理效应的线性模型中截距的推断。

参数

T (alphanumeric) – 我们希望获取其系数的输入处理变量。

返回

InferenceResults – 最终线性模型中截距的推断

返回类型

对象

intercept__interval(T, *, alpha=0.05)

与处理变量 T 相关联的常数边际处理效应的线性模型中的截距。

参数
  • T (alphanumeric) – 我们希望获取其系数的输入处理变量。

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 置信区间的下限和上限。

返回类型

元组(intercept_(T) 的类型,intercept_(T) 的类型)

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_ate(T, X) 的类型,marginal_ate(T, X) 的类型)

抽象 marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_effect(T, X) 的类型,marginal_effect(T, X) 的类型)

summary(T, *, alpha=0.05, value=0, decimals=3, feature_names=None, treatment_names=None, output_names=None)

与处理变量 T 相关联的常数边际处理效应的线性模型中系数和截距的摘要。

参数
  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

  • value (float, 默认 0) – 零假设下您希望检验的指标的平均值。

  • decimals (int, 默认 3) – 每列四舍五入到的小数位数。

  • feature_names (list of str, 可选) – 输入特征名称。

  • treatment_names (list of str, 可选) – 处理变量的名称。

  • output_names (list of str, 可选) – 结果变量的名称。

返回

smry – 这包含摘要表和文本,可以打印或转换为各种输出格式。

返回类型

Summary 实例

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

econml._cate_estimator.StatsModelsCateEstimatorMixin[source]

基类:econml._cate_estimator.LinearModelFinalCateEstimatorMixin

混入类,为继承它的 CATE 估计器提供 inference=’statsmodels’ 选项。

此类估计器必须实现 model_final_ 属性,该属性指向表示已拟合 CATE 模型的已拟合最终 StatsModelsLinearRegression 对象。此外,还必须实现 featurizer_ 属性(指向已拟合的特征提取器)和 bias_part_of_coef 属性(指示截距是否是 model_final_ 系数的第一个元素)。

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,) 数组

ate_inference(X=None, *, T0, T1)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(ate(X, T0, T1) 的类型,ate(X, T0, T1)) 的类型)

cate_feature_names(feature_names=None)

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)

获取处理变量名称的公共接口。

由对处理变量应用转换的估计器覆盖。

参数

treatment_names (list of str of length T.shape[1] or None, 可选) – 处理变量的名称。如果为 None 且传递给 fit 的 T 是数据框,则默认使用数据框的列名。

返回

treatment_names – 返回处理变量名称。

返回类型

list of str

coef__inference()

常数边际处理效应的线性模型中系数的推断。

返回

InferenceResults – 最终线性模型中系数的推断

返回类型

对象

coef__interval(*, alpha=0.05)

常数边际处理效应的线性模型中的系数。

参数

alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lb, ub – 每个数量的置信区间的下限和上限。

返回类型

元组(coef_() 的类型,coef_() 的类型)

抽象 effect(X=None, *, T0, T1)

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(effect(X, T0, T1) 的类型,effect(X, T0, T1)) 的类型)

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

intercept__inference()

常数边际处理效应的线性模型中截距的推断。

返回

InferenceResults – 最终线性模型中截距的推断

返回类型

对象

intercept__interval(*, alpha=0.05)

常数边际处理效应的线性模型中的截距。

参数

alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 置信区间的下限和上限。

返回类型

元组(intercept_() 的类型,intercept_() 的类型)

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_ate(T, X) 的类型,marginal_ate(T, X) 的类型)

抽象 marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_effect(T, X) 的类型,marginal_effect(T, X) 的类型)

shap_values(X, *, feature_names=None, treatment_names=None, output_names=None, background_samples=100)

最终阶段模型 (const_marginal_effect) 的 Shap 值

参数
  • X ((m, d_x) 矩阵) – 每个样本的特征。应与最终阶段拟合的 X 的形状相同。

  • feature_names (list of str of length X.shape[1], 可选) – 输入特征的名称。

  • treatment_names (list, 可选) – 特征化处理变量的名称。在离散处理变量场景中,名称不应包含基准处理变量的名称(即控制处理变量,默认按字母顺序较小的)。

  • output_names (list, 可选) – 结果变量的名称。

  • background_samples (int, 默认 100) – 用于计算基准效应的样本数量。如果为 None,则使用所有样本。

返回

shap_outs – 一个嵌套字典,使用每个结果变量名称(例如,当 output_names=None 时为 'Y0', 'Y1', ...)和每个处理变量名称(例如,当 treatment_names=None 时为 'T0', 'T1', ...)作为键,并以 shap_values 解释对象作为值。如果在 fit 时输入数据也包含元数据(例如是 pandas 数据框),则使用处理变量、结果变量和特征变量的列元数据,而不是上述默认值(除非用户通过显式传递相应名称来覆盖)。

返回类型

Explanation 对象的嵌套字典

summary(alpha=0.05, value=0, decimals=3, feature_names=None, treatment_names=None, output_names=None)

常数边际处理效应的线性模型中系数和截距的摘要。

参数
  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

  • value (float, 默认 0) – 零假设下您希望检验的指标的平均值。

  • decimals (int, 默认 3) – 每列四舍五入到的小数位数。

  • feature_names (list of str, 可选) – 输入特征名称。

  • treatment_names (list of str, 可选) – 处理变量的名称。

  • output_names (list of str, 可选) – 结果变量的名称。

返回

smry – 这包含摘要表和文本,可以打印或转换为各种输出格式。

返回类型

Summary 实例

属性 coef_

常数边际处理效应的线性模型中的系数。

返回

coef – 其中 n_x 是进入最终模型的特征数量(如果 CATE 估计器具有 featurizer,则为 X 的维度或 featurizer.fit_transform(X) 的维度),n_t 是处理变量数量,n_y 是结果变量数量。如果原始输入是向量而不是二维数组,则省略维度。对于二元处理变量,也省略 n_t 维度。

返回类型

(n_x,) 或 (n_t, n_x) 或 (n_y, n_t, n_x) array_like

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例

属性 intercept_

常数边际处理效应的线性模型中的截距。

返回

intercept – 其中 n_t 是处理变量数量,n_y 是结果变量数量。如果原始输入是向量而不是二维数组,则省略维度。对于二元处理变量,也省略 n_t 维度。

返回类型

float 或 (n_y,) 或 (n_y, n_t) array_like

econml._cate_estimator.TreatmentExpansionMixin[source]

基类:econml._cate_estimator.BaseCateEstimator

自动处理标量处理变量提升到适当形状,以及离散处理变量和用户指定处理变量转换器的处理变量特征化的 Mixin。

ate(X=None, *, T0=0, T1=1)[source]

计算平均处理效应 \(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,) 数组

ate_inference(X=None, *, T0=0, T1=1)[source]

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的推断结果。仅当 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=0, T1=1, alpha=0.05)[source]

调用 fit 方法时,模型产生的数量 \(E_X[\tau(X, T0, T1)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(ate(X, T0, T1) 的类型,ate(X, T0, T1)) 的类型)

cate_feature_names(feature_names=None)

获取特征名称的公共接口。

由对输入特征应用转换的估计器覆盖。

参数

feature_names (list of str of length X.shape[1] or None, 可选) – 输入特征的名称。如果为 None 且 X 是数据框,则默认使用数据框的列名。

返回

out_feature_names – 返回特征名称。

返回类型

list of str or None

cate_output_names(output_names=None)

获取结果变量名称的公共接口。

由对结果变量应用转换的估计器覆盖。

参数

output_names (list of str of length Y.shape[1] or None, 可选) – 结果变量的名称。如果为 None 且传递给 fit 的 Y 是数据框,则默认使用数据框的列名。

返回

output_names – 返回结果变量名称。

返回类型

list of str

cate_treatment_names(treatment_names=None)[source]

获取处理名称。

如果处理是离散的或经过特征化,它将返回扩展的处理名称。

参数

treatment_names (list of str of length T.shape[1], optional) – 处理的名称。如果为 None 且传递给 fit 的 T 是一个数据框,则默认为该数据框的列名。

返回

out_treatment_names – 返回(可能已扩展的)处理名称。

返回类型

list of str

effect(X=None, *, T0=0, T1=1)[source]

计算异质处理效应 \(\tau(X, T0, T1)\)

该效应是在 m 个测试样本 \(\{T0_i, T1_i, X_i\}\) 上,根据特征向量,在两个处理点之间计算的。

参数
  • T0 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量) – 每个样本的目标处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

τ – 对每个样本的每个结果变量的异质处理效应 注意,当 Y 是向量而不是二维数组时,相应的单维将折叠(因此此方法将返回向量)

返回类型

(m, d_y) 矩阵

effect_inference(X=None, *, T0=0, T1=1)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的推断结果。仅当 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)

调用 fit 方法时,模型产生的数量 \(\tau(X, T0, T1)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • T0 ((m, d_t) 矩阵或长度为 m 的向量, 默认 0) – 每个样本的基本处理

  • T1 ((m, d_t) 矩阵或长度为 m 的向量, 默认 1) – 每个样本的目标处理

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(effect(X, T0, T1) 的类型,effect(X, T0, T1)) 的类型)

抽象 fit(*args, inference=None, **kwargs)

从数据中估计反事实模型,即估计函数 \(\tau(X, T0, T1)\), \(\partial \tau(T, X)\)

请注意,此方法的签名在子类中可能会有所不同(例如,不支持工具变量的类将不允许 Z 参数)

参数
  • Y ((n, d_y) 矩阵或长度为 n 的向量) – 每个样本的结果变量

  • T ((n, d_t) 矩阵或长度为 n 的向量) – 每个样本的处理变量

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

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

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

  • inference (str 或 Inference 实例, 可选) – 执行推断的方法。所有估计器都支持 'bootstrap' (或 BootstrapInference 的实例),一些估计器也支持其他方法。

返回类型

self

marginal_ate(T, X=None)

计算平均边际效应 \(E_{T, X}[\partial\tau(T, X)]\)

边际效应是围绕基本处理点计算的,并在 X 的总体上取平均值。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个结果变量的平均边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出将是标量)

返回类型

(d_y, d_t) 数组

marginal_ate_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

PopulationSummaryResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_ate_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(E_{T,X}[\partial \tau(T, X)]\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_ate(T, X) 的类型,marginal_ate(T, X) 的类型)

抽象 marginal_effect(T, X=None)

计算异质边际效应 \(\partial\tau(T, X)\)

边际效应是在 m 个测试样本 \(\{T_i, X_i\}\) 上,根据特征向量,围绕基本处理点计算的。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

grad_tau – 对每个样本的每个结果变量的异质边际效应 注意,当 Y 或 T 是向量而不是二维数组时,输出中相应的单维将折叠(例如,如果两者都是向量,则此方法的输出也将是向量)

返回类型

(m, d_y, d_t) 数组

marginal_effect_inference(T, X=None)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的推断结果。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

返回

InferenceResults – 推断结果实例包含预测和预测标准误差,并且可以按需计算置信区间、z 统计量和 p 值。它还可以输出这些推断结果的数据框摘要。

返回类型

对象

marginal_effect_interval(T, X=None, *, alpha=0.05)

调用 fit 方法时,模型产生的数量 \(\partial \tau(T, X)\) 的置信区间。仅当 inference 不为 None 时可用。

参数
  • T ((m, d_t) 矩阵) – 每个样本的基本处理

  • X ((m, d_x) 矩阵, 可选) – 每个样本的特征

  • alpha (float in [0, 1], 默认 0.05) – 报告区间的总体置信水平。报告 alpha/2, 1-alpha/2 置信区间。

返回

lower, upper – 每个数量的置信区间的下限和上限。

返回类型

元组(marginal_effect(T, X) 的类型,marginal_effect(T, X) 的类型)

属性 dowhy

获取 DoWhyWrapper 的实例,以便利用 dowhy 包的其他功能(例如因果图、反驳检验等)。

返回

DoWhyWrapperDoWhyWrapper 的实例

返回类型

实例