DoWhy 文档#
日期: 2024年11月24日 版本: v0.12
相关资源: 源代码库 | 问题与想法 | PyWhy 组织 | DoWhy 在 PyPI 上 |
加入我们的Discord社区: https://discord.gg/cSBGb3vsZb
就像机器学习库为预测所做的那样,DoWhy 是一个旨在激发因果思维和分析的 Python 库。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 等。算法以模块化方式实现,鼓励用户贡献自己的算法或简单地插入不同的定制模型。