DoWhy 文档#

日期: 2024年11月24日 版本: v0.12

相关资源: 源代码库 | 问题与想法 | PyWhy 组织 | DoWhy 在 PyPI 上 |

加入我们的Discord社区: https://discord.gg/cSBGb3vsZb

就像机器学习库为预测所做的那样,DoWhy 是一个旨在激发因果思维和分析的 Python 库。DoWhy 提供了多种算法,用于效应估计、因果结构学习、因果结构诊断、根本原因分析、干预和反事实推理。

Getting started

刚接触DoWhy?我们的入门指南将在几分钟内让你快速上手。它将帮助你安装DoWhy并编写你的第一行代码。完成后,你将准备好运行示例并跟随用户指南进行操作。

User Guide

对因果推断和DoWhy完全陌生吗?那么你可能想阅读我们的综合用户指南。它引导你了解你需要知道的一切,包括在尝试解决非平凡问题时需要了解的概念和科学。

Examples

如果您更喜欢通过示例学习,我们建议您浏览示例。它涵盖了各种各样的问题,您可以用这些问题来类比您自己的问题。

API Reference

API参考包含了DoWhy中包含的函数、模块和对象的详细描述。 它假设您已经理解了关键概念。

与现有因果推理软件的主要区别#

与现有的因果推理软件相比,DoWhy 带来了四个关键的不同点:

Explicit identifying assumptions

假设在DoWhy中是一等公民。

每次分析都从构建因果模型开始。假设可以通过图形或条件独立语句来查看。此外,在GCMs的情况下,每个节点的数据生成过程被明确建模。在可能的情况下,DoWhy还可以使用观察到的数据自动测试陈述的假设。

Separation between identification and estimation

识别是因果问题。估计只是一个统计问题。

DoWhy 尊重这一界限并将它们分开处理。这将因果推断的重点放在识别上,并允许使用任何可用的统计估计器来估计目标估计量。此外,对于单个已识别的估计量,可以使用多种估计方法,反之亦然。对于建模因果机制也是如此,任何第三方机器学习包都可以用于建模功能关系。

Automated validation of assumptions

当关键识别假设可能不满足时会发生什么?

因果分析中最关键且经常被忽略的部分是检查关于因果关系的假设是否成立。DoWhy 使得在获得的估计上自动运行敏感性和鲁棒性检查、证伪给定的因果图或评估拟合的因果机制变得容易。

Default parameters for simple application of complex algorithms

选择合适的变量或模型是一个难题。

DoWhy 旨在默认选择适当的参数,同时允许用户完全自定义每个函数调用和模型规范。例如,DoWhy 会自动选择最合适的识别方法,或提供功能来自动分配适当的因果机制。

最后,DoWhy 易于扩展,特别注重支持其他库,如 EconML、CausalML、scikit-learn 等。算法以模块化方式实现,鼓励用户贡献自己的算法或简单地插入不同的定制模型。