这个项目能做什么

EconML 是一个 Python 包,用于通过机器学习从观测数据中估计异质性处理效应。它由微软研究院的 ALICE 项目设计并构建,将最先进的机器学习技术与计量经济学相结合,为复杂的因果推断问题带来自动化。 核心目的:衡量一个或多个处理变量 T 对结果变量 Y 的因果效应,同时控制特征 X 和 W,以及该效应如何随 X 变化。相关方法适用于观测(非实验或历史)数据集。为了进行因果解释,一些方法假设不存在未观测混杂因素,而另一些方法假设可以获得工具变量 Z,该变量影响处理 T 但对结果 Y 没有直接影响。大多数方法提供置信区间和推断结果。 所述设计目标包括:实现计量经济学与机器学习交叉领域的最新方法;在保持因果解释并通常提供有效置信区间的同时,对效应异质性建模保持灵活性(随机森林、提升、lasso、神经网络);使用统一 API;并基于标准 Python 机器学习和数据分析包构建。 README 中展示的已实现估计方法族包括: - 双重机器学习(LinearDML、SparseLinearDML、NonParamDML、CausalForestDML),支持 OLS 或 bootstrap 置信区间。 - 用于面板数据的动态双重机器学习(DynamicDML)。 - 正交随机森林(DMLOrthoForest、DROrthoForest)。 - 元学习器:XLearner、SLearner、TLearner。 - 双重稳健学习器:LinearDRLearner、SparseLinearDRLearner、ForestDRLearner。 - 工具变量方法:OrthoIV、NonParamDMLIV、LinearDRIV、SparseLinearDRIV、ForestDRIV、LinearIntentToTreatDRIV。 可解释性支持包括 CATE 模型的树解释器(SingleTreeCateInterpreter)、策略解释器(SingleTreePolicyInterpreter),以及 CATE 模型的 SHAP 值。 模型选择与验证:用于因果模型选择、评分和加权集成的 RScorer;内置第一阶段模型选择,可与 sklearn 模型选择类(如 LassoCV 或 GridSearchCV)或候选模型列表配合使用。 推断:启用后,InferenceResults 对象提供 p 值、z 统计量、标准误和置信区间;线性参数 CATE 模型可使用 summary() 方法,并提供样本级和总体级的 effect_inference 摘要。 策略学习:使用双重稳健方法从观测数据进行直接策略学习,用于离线策略学习,预测推荐处理。 安装方式为从 PyPI 执行 pip install econml;开发者可参考源码安装文档。该项目在 pywhy.org/EconML 维护活跃的发布历史和文档,并为贡献者提供测试和文档生成说明。