econml.score.EnsembleCateEstimator
- class econml.score.EnsembleCateEstimator(*, cate_models, weights)[源代码]
基类:
object
一个 CATE 估计器,表示多个 CATE 估计器的加权集成。返回其加权效应预测。
- 参数
cate_models (list of BaseCateEstimator objects) – 用于集成的已拟合 CATE 估计器对象列表。模型通过引用传递,不进行内部复制,因为我们需要已拟合的对象,所以对传递的模型进行的任何更改都会影响内部预测(例如,如果输入模型被重新拟合)。
weights (np.ndarray of shape (len(cate_models),)) – 放置在每个模型上的权重。权重必须是非负的。集成将根据 cate_models 估计器的加权平均预测进行效应预测,权重由 weights 中的对应权重给出。
方法
__init__
(*, cate_models, weights)计算常数边际 CATE \(\theta(·)\)。
effect
([X, T0, T1])计算异质处理效应 \(\tau(X, T0, T1)\)。
marginal_effect
(T[, X])计算异质边际效应 \(\partial\tau(T, X)\)。
属性
cate_models
weights
- const_marginal_effect(X=None)[源代码]
计算常数边际 CATE \(\theta(·)\)。
边际效应是基于一组 m 个测试样本 X[i] 的特征向量的条件效应。
- 参数
X ((m, d_x) 矩阵, 可选) – 每个样本的特征。
- 返回
theta – 每个样本 X[i] 的每个特征化处理对每个结果的常数边际 CATE。请注意,当 Y 或特征化 T(如果 treatment_featurizer 为 None,则为 T)是向量而不是二维数组时,输出中相应的单例维度将被折叠(例如,如果两者都是向量,则此方法的输出也将是向量)
- 返回类型
(m, d_y, d_f_t) 矩阵 或 (d_y, d_f_t) 矩阵(如果 X 为 None),其中 d_f_t 是特征化处理的维度。如果 treatment_featurizer 为 None,则 d_f_t = d_t。
- effect(X=None, *, T0=0, T1=1)[源代码]
计算异质处理效应 \(\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) 矩阵
- 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) 数组