前言#

对因果推断的需求#

因果推断对于做出明智决策至关重要,因为它能够揭示超越预测模型中仅发现的关联的真实数据生成过程。即使在没有干预数据的情况下,它也能让我们估计干预的效果和反事实结果。超越基于关联的分析对于概括见解和真正理解现实世界关系至关重要。例如,对于在医疗、教育和治理等对社会至关重要的领域积极进行干预的计算系统来说,正确预测和理解这些干预的因果效应非常重要。下面我们描述了一些决策中需要因果推断的常见问题:

  • 它会奏效吗?
    • 对系统提出的改变会改善人们的结果吗?

  • 为什么会奏效?
    • 是什么导致了系统结果的变化?

  • 我们应该做什么?
    • 对系统的哪些改变可能改善人们的结果?

  • 总体效应是什么?
    • 系统如何与人类行为互动?

    • 系统推荐对人们活动有什么影响?

虽然提出了许多因果推断方法,但一个关键挑战是比较这些不同方法的假设并检查结果的稳健性。为此,DoWhy 是一个支持明确建模和检验因果假设的 Python 因果推断库。DoWhy 贡献了以下三点:

  1. 提供一种系统的方法,通过图形表示对因果关系进行建模,确保所有潜在假设都得到明确陈述和透明。

  2. 为许多流行的因果推断方法提供统一接口,结合了图模型和潜在结果这两个主要框架。

  3. 如果可能,提供测试假设有效性的能力,并评估估计对违背假设的稳健性。

DoWhy 的 API 还为因果推断提供了一种统一的语言,结合了因果图模型和潜在结果框架。