Causal Discovery:DoWhy、EconML 与结构化决策
Causal AI 的价值不是让模型“更智能”,而是把产品、运营和风险决策从相关性 dashboard 升级到可审查的 intervention evidence。它要求显式定义 treatment、outcome、population、horizon、DAG、识别假设、估计方法和敏感性检查。
Causal Discovery / DoWhy / EconML / Structural Causal Models 解读
本篇为经典论文精读(历史回顾/经典打底定位),机制正文以原论文为锚点;最新进展见文末「SOTA 检查」。
核心问题: AI 产品容易把相关性误当效果。金融零售里的营销、授信、风控、运营和体验改造,真正要回答的是“如果采取这个动作,会造成什么变化”,而不是“哪些变量一起变化”。
Source Anchors
| Source | Link | 用途 |
|---|---|---|
| DoWhy | https://www.pywhy.org/dowhy/ | 参考建模、识别、估计、反驳的因果推断工作流(项目持续维护,最新版本发布 2025-11) |
| EconML | https://econml.azurewebsites.net/ | 参考异质性处理效果、uplift、政策学习和机器学习因果估计(最新版本 v0.16.0,2025-07) |
| DAGitty | http://www.dagitty.net/ | 参考 DAG 绘制、调整集和因果图审查(访问日期: 2026-07-01) |
| NOTEARS | https://arxiv.org/abs/1803.01422 | 理解把 DAG 学习转成连续优化问题的因果发现思路(论文 2018-03) |
| NIST AI RMF | https://www.nist.gov/itl/ai-risk-management-framework | 把因果证据、风险和治理放进 AI 决策生命周期(访问日期: 2026-07-01) |
核心导读
Causal AI 的价值不是让模型“更智能”,而是把产品、运营和风险决策从相关性 dashboard 升级到可审查的 intervention evidence。它要求显式定义 treatment、outcome、population、horizon、DAG、识别假设、估计方法和敏感性检查。
DoWhy 提供建模、识别、估计、反驳的工作流;EconML 关注异质性处理效果和策略学习;DAGitty 和 NOTEARS 分别代表因果图审查与数据驱动候选结构。生产中的关键不是自动发现因果,而是管理因果假设如何进入决策。
问题定义
常见相关性误判:
| 相关性发现 | 容易得出的错误动作 | 可能的混杂 |
|---|---|---|
| 使用优惠券的客户复购率高 | 给所有人发券 | 优惠券发给本来活跃的人 |
| 被人工复核的交易欺诈率高 | 增加人工复核比例 | 复核对象本来就是高风险 |
| 高收入客户坏账率低 | 用收入作为单一准入规则 | 收入与职业、资产、地区共同变化 |
| 使用客服 Copilot 的团队效率高 | 强制所有团队使用 | 成熟团队更愿意采用工具 |
| 收到提醒的客户逾期率低 | 给所有客户发提醒 | 提醒发给更容易联系的人 |
因果问题的形式是:
For population P, if treatment T is applied instead of not applied,
what is the change in outcome Y over horizon H?
没有 treatment、outcome、population 和 horizon 的问题,通常还不是因果问题,只是描述性分析。
核心原理
Structural Causal Model 关注变量之间的生成关系,DAG 是把这些关系显性化的工具。
Customer income -> credit limit -> default
Customer income -> default
Macro condition -> income
Macro condition -> default
Marketing offer -> spending -> default
DAG 的价值:
- 显性讨论假设,而不是让假设藏在模型特征中。
- 区分混杂变量、媒介变量、碰撞变量和结果后变量。
- 判断应调整哪些变量,不应调整哪些变量。
- 识别哪些证据可以支持、挑战或推翻结论。
Causal discovery 和 causal inference 必须区分:
| 概念 | 问题 | 输出 | 主要风险 |
|---|---|---|---|
| Causal discovery | 变量之间可能的因果结构是什么 | 候选 DAG / 边关系 | 依赖强假设,隐藏混杂会误导 |
| Causal inference | 给定因果假设,干预效果是多少 | ATE、CATE、uplift、policy effect | 假设错则估计错 |
NOTEARS 等方法能生成候选结构,适合挑战专家假设和发现遗漏变量,但不能替代实验、业务知识和识别审查。
DoWhy 工作流:
| 步骤 | 核心问题 | 产物 |
|---|---|---|
| Model | 因果图和业务假设是什么 | Causal question + DAG |
| Identify | 在这些假设下,效果是否可识别 | Adjustment set / identification result |
| Estimate | 用什么方法估计效果 | Estimation result |
| Refute | 结果对扰动和替代解释是否稳健 | Sensitivity / refutation report |
EconML 的重点是异质性处理效果。很多决策不关心平均效果,而关心谁受益、谁受损、谁不该被触达。
系统/架构模型
Causal-to-decision 架构:
decision question registry
-> DAG workspace
-> assumption register
-> cohort builder with temporal rules
-> identification and estimation service
-> refutation and sensitivity suite
-> policy simulation
-> experiment or controlled rollout
-> outcome monitoring
-> decision evidence store
关键组件:
| 组件 | 职责 |
|---|---|
| Question registry | 记录 treatment、outcome、population、horizon、decision owner |
| DAG workspace | 管理因果图版本、变量定义、边的证据和审查意见 |
| Assumption register | 记录 no unobserved confounding、positivity、SUTVA、temporal order 等假设 |
| Cohort builder | 构造符合时间顺序、纳入规则和数据可得性的样本 |
| Estimation service | 支持 DoWhy/EconML 等估计流程和方法版本 |
| Refutation suite | placebo、random common cause、subset、sensitivity、negative control |
| Policy simulator | 估计策略收益、风险、人群影响和容量影响 |
| Evidence store | 保存数据版本、DAG、代码、结果、假设和决策结论 |
这个架构应与 experimentation platform 连接。观测因果证据可用于设计实验、设定 ramp 边界和优先级;实验结果又反过来校正因果图和策略。
关键机制与取舍
| 取舍 | 判断方式 |
|---|---|
| 实验 vs 观测研究 | 高风险且可随机化时优先实验;无法随机化时必须强化假设和敏感性分析 |
| Expert DAG vs discovery-assisted DAG | 专家图提供业务可解释性,发现算法用于挑战而不是自动定论 |
| ATE vs CATE | 平均效果适合总体评估,策略分配需要异质性效果 |
| 调整混杂 vs 误调媒介 | 调整混杂减少偏误,调整 mediators 可能遮蔽真实机制 |
| 精确估计 vs 稳健结论 | 决策更需要稳健方向和风险边界,而不是单一精确数字 |
| 因果模型 vs预测模型 | 预测模型回答谁会发生,因果模型回答动作是否改变结果 |
关键假设:
| 假设 | 含义 | 破坏后果 |
|---|---|---|
| No unobserved confounding | 已观测影响 treatment 和 outcome 的关键变量 | 效果估计偏误 |
| Positivity | 每类人都有机会接受或不接受 treatment | 某些人群无法估计效果 |
| SUTVA | 一个对象的 treatment 不影响另一个对象 | 干扰导致估计失真 |
| Correct temporal order | treatment 发生在 outcome 之前 | 因果方向错误 |
证据与控制
高风险 AI 决策的因果门禁:
- 没有明确 treatment、outcome、population、horizon,不进入因果评估。
- 没有 DAG,不给政策建议。
- 没有识别说明,不把估计值作为上线证据。
- 没有敏感性分析,不进入客户级自动决策。
- 没有人群影响评估,不做规模化 rollout。
证据包应包含:
| 证据 | 内容 |
|---|---|
| Causal question | treatment、outcome、population、horizon、decision context |
| DAG and assumptions | 变量、边、混杂、媒介、碰撞变量、隐藏风险 |
| Identification | 调整集、可识别性、不可识别部分和替代方案 |
| Estimation | cohort、方法、参数、置信区间或不确定性表达 |
| Refutation | placebo、subset、negative controls、sensitivity |
| Policy impact | 收益、风险、客户摩擦、公平性、运营容量 |
| Decision record | 采用、拒绝、实验、灰度或继续收集数据的理由 |
AI产品/金融零售场景
营销 Uplift
Treatment 是是否发放优惠券,outcome 是 30 天增量消费或复购,confounders 包括历史活跃、渠道、地区、季节和过去优惠响应。输出不应只是“优惠券用户复购率高”,而应是 CATE 分层,识别 persuadable customers,并排除本来会购买或可能被打扰的人群。
信用额度政策
Treatment 是提额,outcome 包括利息收入、消费增长、逾期和坏账。平均收益可能掩盖某些客群的风险上升。策略应把收益和坏账的异质性效果接入 policy engine,并设置风险 guardrail。
欺诈拦截策略
Treatment 是实时拦截或强认证,outcome 包括欺诈损失、误拦、客户流失和投诉。人工复核历史数据存在强选择偏差,因为进入复核的样本已经被模型或规则筛选。需要结合准实验、随机 holdout 或策略变更窗口做识别。
AI 客服价值归因
Copilot 使用者效率更高不代表 Copilot 导致效率更高。成熟团队可能更早采用工具。需要团队或 case 级实验、准实验或匹配设计,并同时观察返工、投诉、质量复核和复杂 case 影响。
反模式
- 把预测特征重要性解释成因果驱动因素。
- 看到相关性提升就直接设计客户触达、授信或风控政策。
- 没有 DAG,却宣称已经控制了混杂。
- 调整了 treatment 之后才发生的变量,导致估计被污染。
- 只报告平均效果,忽略受益和受损人群。
- 因果发现算法输出候选边后未经业务和实验审查就落策略。
- 用短期 outcome 证明长期价值,忽略坏账、投诉、流失和公平性滞后效应。
最终心智模型
Causal AI 是决策证据纪律,不是算法装饰。它把“我们认为某个动作有用”拆成可审查链路: 问题定义、因果图、识别假设、估计方法、反驳检查、人群影响和上线控制。
判断一个 AI 决策是否有因果质量,只问: 如果今天把动作分配给另一组相似对象,结果是否会改变?这个答案来自哪些假设?如果假设被破坏,结论会不会反转?能回答这三点,相关性才开始接近可用的产品证据。
SOTA 检查 (2026-07-01)
- 工具链主线仍成立且在活跃维护:PyWhy 生态依旧是 Python 因果推断的主流开源工具链——EconML 最新版本 v0.16.0(2025-07 发布),DoWhy 最新版本于 2025-11 发布(v0.12 起已加入 Python 3.12 兼容、时序数据实验特性和与 causal-learn 因果发现的集成 notebook)。本篇以 DoWhy 四步工作流(Model→Identify→Estimate→Refute)为骨架的写法没有过时。
- 2025-2026 最活跃的新方向是 LLM 辅助因果发现:研究集中在三条路径——从文本直接抽取因果关系、把 LLM 领域知识作为统计因果发现方法的先验约束、用 LLM 对候选因果结构做后验校正(综述 arXiv 2402.11068,2024-02 首发、2025 更新版)。这是本篇「discovery-assisted DAG」一节在 2026 年的具体化。
- 但 LLM 不能替代识别与实验:2025-06 的立场论文《LLM Cannot Discover Causality, and Should Be Restricted to Non-Decisional Support in Causal Discovery》(arXiv 2506.00844)主张 LLM 输出只应作非决策性支持,且 LLM 幻觉会以偏差形式进入因果图,需用打分函数/信息熵约束 LLM 先验。这与本篇「发现算法用于挑战专家假设而不是自动定论」的结论一致且被强化。
- NOTEARS(2018-03)的定位从"SOTA 方法"变为"经典基线":连续优化式 DAG 学习仍是因果发现文献的标准对照,但 2025-2026 的新工作(如面向企业破产分析的 agentic 因果发现 ARCADIA,arXiv 2512.00839,2025-12;跨数百领域构建大因果模型的 DEMOCRITUS,arXiv 2512.07796,2025-12)都在传统算法之上叠加 LLM/agent 层。读本篇时应把 NOTEARS 当"理解问题形式化"的教材而非现役首选。
- 不随版本过时的框架性结论:treatment/outcome/population/horizon 的因果问题定义、混杂/媒介/碰撞变量区分、NUC/positivity/SUTVA/时间顺序四大识别假设、"没有 DAG 不给政策建议"的证据门禁、以及 causal discovery(结构候选)与 causal inference(效果估计)的职责切分——这些是方法论骨架,与任何库的版本号无关。