常见问题 (FAQ)
我应该何时使用 EconML?
EconML 旨在回答因果问题:行为、价格或条件发生变化后会发生什么?这些问题需要与预测问题不同的方法:如果一切照旧,接下来会发生什么?
EconML 的优势是什么?
EconML 提供了最广泛的尖端 AI 模型,这些模型专为回答因果问题而设计。EconML 模型也基于熟悉的 Python 包构建,用户可以轻松选择最适合其问题的模型。最后,EconML 包含自定义解释器,可生成可用于演示的输出。
我如何知道结果是否合理?
尝试比较不同模型估计结果的一致性,包括一些做出更强结构假设(如线性关系)的模型和一些没有做出这些假设的模型。除了点估计值外,还要关注标准误差——应根据不精确的估计值进行相应的解释。虽然研究人员可能通过刻意寻找与他们先验认知相符的估计值来引入偏见,但运用你的专业知识来评估结果也同样重要。如果你估计价格下降 5% 会导致销售额不可思议地增长 5000%,那么你应该仔细检查你的代码!
我得到的因果估计结果不合理。接下来怎么办?
首先仔细检查你的代码是否有错误,并尝试几种因果模型。如果你的估计结果一致,但不可思议,你可能有一个在数据中未测量的混杂变量。仔细考虑你使用的数据来源:在数据收集期间是否有异常情况发生(例如假期或经济衰退)?你的样本是否有异常之处(例如,所有具有既往心脏病史的男性)?
如果我没有好的工具变量,无法进行实验,并且没有观察到所有混杂因素怎么办?
在这种情况下,没有任何统计方法可以完美地隔离处理对结果的因果效应。DML、OrthoForest 或 MetaLearners,如果包含所有你能观察到的混杂因素,将提供对因果效应的最佳近似,从而最小化混杂因素带来的偏倚。使用这些估计值时要注意可能存在的残余偏倚。
我如何测试我是否正在识别因果效应?
当且仅当估计程序所假设的因果模型的基本假设正确时,你才能识别出有效的因果效应。这些假设通常难以检验(尽管 DoWhy 包可能有所帮助)。在做出这些假设后,EconML 包允许你拟合出最好的因果模型。许多模型会存储一个最终阶段的拟合指标,可用于验证因果模型在样本外的预测能力,这是判断模型质量的好诊断。
我如何提供反馈?
本项目欢迎贡献和建议。我们使用 DCO 机器人 来执行 开发者原创证书 (Developer Certificate of Origin),这要求用户对其提交进行签署确认。这是一种简单的方式来证明你编写或以其他方式拥有提交你贡献给项目的代码的权利。Git 提供了一个 -s
命令行选项,可以在你通过 git commit
提交时自动包含此信息。
本项目已采用 PyWhy 行为准则。