EconML 的承诺:
机器学习的最大前景之一是在多个领域实现决策自动化。许多数据驱动的个性化决策场景的核心是异质性治疗效果的估计:对于具有特定特征集的样本,干预对感兴趣结果的因果影响是什么?简而言之,该工具包旨在衡量某些治疗变量T
对结果变量的因果效应Y
,控制一组特征X, W
以及该效应如何随X
. 实施的方法甚至适用于观察(非实验或历史)数据集。为了对估计结果进行因果解释,一些方法假设没有未观察到的混杂因素(即没有未包含的未观察到的变量同时对和X, W
都有影响),而其他方法假设可以使用工具(即观察到的变量具有对治疗有影响,但对结果没有直接影响)。大多数方法提供置信区间和推理结果。T
Y
Z
Z
T
Y
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
有关该包的详细信息,请参阅https://econml.azurewebsites.net/上的文档。
从PyPI安装最新版本:
pip install econml
要从源代码安装,请参阅下面的开发人员部分。
每当启用推理时,就可以获得一个结构更清晰的InferenceResults
对象,其中包含更详细的推理信息,例如 p 值和 z 统计信息。当 CATE 模型是线性和参数化时,summary()
也会启用一种方法。例如:
from econml.dml import LinearDML
# Use defaults
est = LinearDML()
est.fit(Y, T, X=X, W=W)
# Get the effect inference summary, which includes the standard error, z test score, p value, and confidence interval given each sample X[i]
est.effect_inference(X_test).summary_frame(alpha=0.05, value=0, decimals=3)
# Get the population summary for the entire sample X
est.effect_inference(X_test).population_summary(alpha=0.1, value=0, decimals=3, tol=0.001)
# Get the parameter inference summary for the final model
est.summary()
# Get the effect inference summary, which includes the standard error, z test score, p value, and confidence interval given each sample X[i] est.effect_inference(X_test).summary_frame(alpha=0.05, value=0, decimals=3)
您还可以使用双稳健方法进行离线策略学习,从观察数据中执行直接策略学习。这些方法直接预测推荐的治疗方法,而无需在内部拟合条件平均治疗效果的显式模型。
要查看更复杂的示例,请转到存储库的笔记本部分。有关治疗效果估计算法的更详细描述,请参阅 EconML文档。
您可以从克隆此存储库开始。我们使用 setuptools来构建和分发我们的包。我们依赖于 setuptools 的一些最新功能,因此请确保使用 pip install setuptools --upgrade
. 然后从您的本地存储库副本pip install -e .
开始运行(但根据您正在做的事情,您可能想要安装附加功能,例如pip install -e .[plt]
如果您想使用 matplotlib 集成,或者您可以使用它 pip install -e .[all]
来包含所有附加功能) .
本项目使用pytest进行测试。要在安装包后在本地运行测试,您可以使用pip install pytest-runner
后跟python setup.py pytest
.
我们在一些测试中添加了 pytest 标记,以便更轻松地运行子集,您可以设置 PYTEST_ADDOPTS 环境变量来利用这一点。例如,您可以将其设置-m "not (notebook or automl)"
为跳过具有一些额外依赖项的笔记本和自动测试。
该项目的文档是通过Sphinx生成的。请注意,我们使用graphviz的 dot
应用程序来生成我们文档中的一些图像,因此您应该确保它dot
已安装并位于您的路径中。
要从此存储库的克隆生成文档的本地副本,只需运行python setup.py build_sphinx -W -E -a
,这将构建文档并将其放在build/sphinx/html
路径下。
构成文档的 reStructuredText 文件存储在docs 目录中;模块文档由 Sphinx 构建过程自动生成。
[/hidecontent]