初识-DoWhy
DoWhy 是一个用于因果推理的 Python 库,支持因果假设的显式建模和测试。 DoWhy 基于因果推理的统一语言,结合了因果图形模型和潜在结果框架。DoWhy-Github
简介和主要特点
决策涉及了解不同变量如何相互影响,并预测其中一些变量更改为新值时的结果。例如,给定一个结果变量,人们可能有兴趣确定潜在的行动如何影响它,了解导致其当前值的原因,或者模拟如果某些变量发生变化会发生什么。回答此类问题需要因果推理。 DoWhy 是一个 Python 库,可指导您完成因果推理的各个步骤,并提供用于回答因果问题的统一界面。
DoWhy 提供了多种算法,用于效果估计、预测、因果影响量化、因果结构诊断、根本原因分析、干预和反事实。 DoWhy 的一个关键功能是其反驳和证伪 API,可以测试任何估计方法的因果假设,从而使推论更加稳健,并且可供非专家使用。
图形因果模型和潜在结果:两全其美
DoWhy 建立在两个最强大的因果推理框架之上:图形因果模型和潜在结果。对于效果估计,它使用基于图形的标准和微积分来建模假设并识别非参数因果效应。对于估计,它转向主要基于潜在结果的方法。
对于效应估计之外的因果问题,它利用图形因果模型的强大功能,通过每个节点上的显式因果机制对数据生成过程进行建模,例如,解锁将观察到的效应归因于特定变量或估计逐点反事实的功能。
DoWhy 支持以下因果任务:
- 效果估计(识别、平均因果效应、条件平均因果效应、工具变量等)
- 量化因果影响(中介分析、直接箭头强度、内在因果影响)
- 假设分析(从干预分布中生成样本,估计反事实)
- 根本原因分析和解释(将异常归因于其原因、查找分布变化的原因、估计特征相关性等)