这个工具提供了哪些能力
点开任一能力,看清怎么用
每个能力展开后是三件事:它会给你什么、你需要准备什么、哪些必须由你把关。
常见场景:想估计处理对不同人群的差异化影响而不仅是平均效应;观察数据中存在大量控制变量需要非参数控制;希望得到个体化处理推荐(决策树/森林策略);需要比较多个CATE模型的样本外表现并选择最佳模型
用双重机器学习框架估计“处理对不同人分别有多大效果”:普通的机器学习模型都能派上用场,既支持连续也支持分类处理,效应按不同形态给出相应的误差范围。
它会给你什么
- 每个人的效果估计值,附带误差区间和统计检验。
- 选择线性形态时,还能拿到效果随特征变化的系数和摘要报告。
- 用因果森林时,附每个特征的重要程度和解释值。
你需要准备
- 预测结果的辅助模型,可以用现成模型或让它自动选。
- 预测处理分组的辅助模型,分类处理要用分类模型。
- 刻画效果差异形态的最终模型,连续处理时需要指定。
由你把关
- 两个辅助模型拟合得够不够充分,拟合不充分会带来偏差,由你核对。
- 最终模型的形态选得是否匹配真实的效果差异,线性还是森林,由你决定。
- 分类处理时以哪个类别作为基准来比较,由你决定。
把几个现成的机器学习模型按固定套路组合起来,估计分类处理对不同人的效果差异;不用额外的去偏步骤,搭起来简单,适合手头已有好用的基线模型的情况。
它会给你什么
- 每个人的效果估计值,误差范围用重抽样方式给出。
你需要准备
- 单模型组合方式:只用一个模型,把处理当作普通特征一起喂进去。
- 分臂组合方式:每种处理各配一个模型分别预测。
- 交叉组合方式:先分臂预测反事实,再学插补模型,最后按倾向性加权合并。
由你把关
- 控制变量有没有正确并入特征矩阵,漏了会带偏差,由你核对。
- 倾向性模型估得是否充分,由你核对。
- 重抽样次数够不够、误差范围可不可靠,由你核对。
针对有几种处理可选的场景,用双重稳健方法校正“谁被分到哪组不是随机的”带来的偏差:它的好处是两个辅助模型只要有一个估得准,效果估计就靠谱,并支持任意两种处理之间两两比较。
它会给你什么
- 任意两种处理之间效果差异的估计值。
- 对应的误差区间和统计检验。
- 选择线性形态时,按处理组分别给出系数、误差范围和摘要报告。
你需要准备
- 倾向性分类模型,用来预测每个人会被分到哪个处理组。
- 结果回归模型,预测各组在不同特征下的结果。
- 刻画效果差异形态的最终模型。
由你把关
- 倾向性模型对多个处理组的区分质量够不够,由你核对。
- 结果回归模型拟合得是否充分,由你核对。
- 以哪种处理作为比较基准,由你决定。
当处理分配本身有混杂、但手头有一个有效工具变量时(它影响处理、却不直接影响结果),它能借助这个变量估出不同人的效果差异,并通过交叉拟合去除偏差,附带误差范围。
它会给你什么
- 每个人的效果估计值,附带误差区间和统计检验。
- 选择线性形态时,附效果系数和摘要报告。
你需要准备
- 结果变量、处理变量、工具变量,以及异质性特征和控制变量。
- 处理和工具变量是连续还是分类的声明,决定用哪类辅助模型。
- 工具变量方法所需的几个辅助模型设置。
由你把关
- 工具变量是否真的满足前提:只通过处理影响结果、与遗漏因素无关,软件不会替你验证,由你核对。
- 工具变量够不够强,太弱的工具变量会让结果不可靠,由你核对。
- 处理和工具变量的类型声明是否正确,由你核对。
这套库的公共基础:从观察数据出发,用任意机器学习模型估计“处理对具备某组特征的人有多大效果”,同时用交叉拟合的办法压住大量混杂变量带来的偏差,并尽量给出可靠的误差范围。
它会给你什么
- 每个人的效果点估计。
- 对应的误差区间上下界。
- 完整的统计检验结果,包括标准误、显著性、汇总表等。
你需要准备
- 结果变量,可以连续也可以分类。
- 处理变量,可以连续也可以分类。
- 异质性特征,效果差异跟着这组特征变化。
由你把关
- 所有共同原因是否都被控制住了,否则结论不成立,这条假设由你核对。
- 辅助模型拟合得够不够充分,拟合不充分会带来偏差,由你核对。
- 最终模型形态选得是否匹配真实的效果差异,由你决定。
在估出效果差异之后的三件后续事:直接从数据学出一套“该给谁什么处理”的可解释策略;把复杂的模型效果差异简化成一棵决策树或特征贡献解释,方便向决策者讲清楚;再用统一的打分在多个候选模型里挑出最靠谱的。
它会给你什么
- 策略模型:给每个人的处理建议、这套方案的期望价值,以及可画的树形图。
- 解释树:一棵能看懂的效果差异决策树。
- 每个特征对效果预测的贡献大小,可画成汇总图。
你需要准备
- 学策略需要:结果、处理、特征和控制变量,加上树深度等模型设置。
- 做解释需要:已拟合好的效果模型,以及特征名、代价设置等选项。
- 算特征贡献需要:已拟合好的效果模型和特征数据。
由你把关
- 策略树的深度和可解释性之间要取舍,树越深越难讲清楚,由你决定。
- 诚实分裂方法对样本量的要求是否满足,由你核对。
- 模型打分用的验证数据是否与训练数据独立,由你核对。
第一次这样开始
把仓库地址直接交给 AI
先让 AI 说明环境和风险,再完成最小安装验证。开始前想清楚要用哪个能力、把对应材料备在手边——每张能力卡展开后有具体清单。
第一次直接复制
帮我安装这个库:https://github.com/py-why/EconML 安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。
别这样用
这些判断,仍然由你负责
- 在离散处理场景忘记设置discrete_treatment=True
- 用元学习器时未把混淆变量W拼入特征矩阵X
- 把SHAP值解释为因果归因而非对CATE预测的贡献度量
- 在无有效工具变量的场景强行使用IV估计器
技术依据
查看能力拆解、验证范围与来源
技术依据
查看能力拆解、验证范围与来源
处理机制
- 01
核心处理链
异质性处理效应估计库,用正交机器学习估计个体化因果效应
已核对范围
- 静态读取 dml/dml.py DML/LinearDML/SparseLinearDML/KernelDML/NonParamDML/BaseDML 类继承与 fit 构造
- 静态读取 dml/rlearner.py RLearner/ModelNuisance/ModelFinal 机制
- 静态读取 dml/causalforest.py CausalForestDML 继承与 BLB inference
- 静态读取 metalearners/metalearners.py SLearner/TLearner/XLearner/DomainAdaptationLearner 全部类
- 静态读取各类的 model 构造、fit、effect 与 bootstrap inference
- 静态读取 dr/drlearner.py DRLearner 及 ModelNuisance/ModelFinal/BaseDR
- 静态读取 DRLearner estimating equations(propensity + regression nuisance)
- 静态读取 LinearDRLearner/SparseLinearDRLearner/ForestDRLearner 的 final-stage mixin
仍待核对
- 未运行任一 DML 估计器,未验证 CATE、CI、coef 实际数值
- 未验证 final-stage 选择对推断的影响
- 未运行任一元学习器,未验证 CATE、bootstrap CI 实际数值
- 未验证 DomainAdaptationLearner 的倾向性加权 final 行为
- 未运行任一 DR 估计器,未验证 CATE、CI、coef 实际数值
- 未验证多处理臂(非 baseline)的 final multi-task 行为
- 未运行任一 IV 估计器,未验证 CATE、CI 实际数值
- 未验证 IntentToTreat(二元 Z、二元 T)的特殊 final 路径
读取版本
e546416862280c90f9b21e95c298d00d599c75c8许可
MIT
最近核对
内容 2026-07-10
Stars 2026-07-11
相关文章
具备相关能力的其他库
相关课程
把单项工具放进完整研究设计流程
课程一从研究问题、文献判断、理论假设和方法骨架继续推进,帮助你建立可以复用的研究设计档案。