econml._cate_estimator
所有 CATE 估计器的基类。
类
此包中所有 CATE 估计器的基类。 |
|
最终阶段是 Debiased Lasso 模型的 cate 模型 Mixin。 |
|
最终阶段是 Debiased Lasso 模型的 cate 模型 Mixin。 |
|
此包中所有 CATE 估计器的基类,其中结果变量在用户定义的处理变量特征化后是线性的。 |
|
最终阶段是线性模型的基类。 |
|
最终阶段是线性模型的基类。 |
|
为继承它的 CATE 估计器提供 inference='statsmodels' 选项的 Mixin 类。 |
|
为继承它的 CATE 估计器提供 inference='statsmodels' 选项的 Mixin 类。 |
|
自动处理标量处理变量提升到适当形状,以及离散处理变量和用户指定处理变量转换器的处理变量特征化的 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 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 相关联的常数边际处理效应的线性模型中系数的置信区间。
- 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 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__interval(*, alpha=0.05)
常数边际处理效应的线性模型中的系数。
- 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__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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 类 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 类 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 类 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 – 最终线性模型中系数的推断
- 返回类型
- 抽象 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 类 econml._cate_estimator.LinearModelFinalCateEstimatorMixin[源代码]
基类:
econml._cate_estimator.BaseCateEstimator
最终阶段是线性模型的基类。
此类估计器必须实现一个
model_final_
属性,该属性指向表示拟合 CATE 模型的拟合最终StatsModelsLinearRegression
对象。还必须实现指向拟合特征器的featurizer_
和指定截距是否为model_final_
系数第一个元素的bias_part_of_coef
。- 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
- 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 类 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 相关联的常数边际处理效应的线性模型中系数的置信区间。
- 抽象 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 类 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__interval(*, alpha=0.05)
常数边际处理效应的线性模型中的系数。
- 抽象 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__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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例
- 类 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 包的其他功能(例如因果图、反驳检验等)。- 返回
DoWhyWrapper –
DoWhyWrapper
的实例- 返回类型
实例