Causal Discovery:DoWhy、EconML 与结构化决策
一句话:
Causal Discovery / DoWhy / EconML / Structural Causal Models 解读
面向对象: AI Product Strategy Lead / Decision Intelligence PM / Enterprise Architect / Risk Analytics Architect。 核心问题: AI 产品容易把相关性误当效果。金融零售里的营销、授信、风控、运营和体验改造,真正要回答的是“如果我采取这个动作,会造成什么变化”,而不是“哪些变量一起变化”。 学习目标: 理解 SCM、DAG、causal discovery、causal inference、DoWhy、EconML、DAGitty、NOTEARS、混杂、可识别性、干预和敏感性分析,并映射到 AI 产品决策和架构治理。
Source Anchors
| Source | Link | 用途 |
|---|---|---|
| DoWhy | https://www.pywhy.org/dowhy/ | 参考建模、识别、估计、反驳的因果推断工作流 |
| EconML | https://econml.azurewebsites.net/ | 参考异质性处理效果、uplift、政策学习和机器学习因果估计 |
| DAGitty | http://www.dagitty.net/ | 参考 DAG 绘制、调整集和因果图审查 |
| NOTEARS | https://arxiv.org/abs/1803.01422 | 理解把 DAG 学习转成连续优化问题的因果发现思路 |
| NIST AI RMF | https://www.nist.gov/itl/ai-risk-management-framework | 把因果证据、风险和治理放进 AI 决策生命周期 |
一句话:
Causal AI 的核心价值不是“让模型更聪明”,而是把产品、运营和风险决策从相关性 dashboard 升级到可审查的 intervention evidence。
1. 相关性产品为什么危险
常见 AI 产品误区:
| 相关性发现 | 容易得出的错误动作 |
|---|---|
| 使用优惠券的客户复购率高 | 给所有人发券 |
| 被人工复核的交易欺诈率高 | 增加人工复核比例 |
| 高收入客户坏账率低 | 用收入作为单一准入规则 |
| 使用客服 Copilot 的团队效率高 | 强制所有团队使用 |
| 收到提醒的客户逾期率低 | 给所有客户发提醒 |
这些结论可能被混杂因素污染:
- 优惠券发给了本来就活跃的客户。
- 人工复核的是模型已经筛过的高风险交易。
- 高收入和职业稳定性、资产结构相关。
- 使用 Copilot 的团队本来成熟度更高。
- 提醒发给了更容易联系的客户。
因果思维的产品问题是:
如果我们对某类客户采取动作 A,而不是不采取,会带来什么增量影响?
2. SCM 与 DAG: 把假设显性化
Structural Causal Model 关注变量之间的生成关系。DAG 是把这些关系画出来的工具。
例子:
Customer income -> credit limit -> default
Customer income -> default
Macro condition -> income
Macro condition -> default
Marketing offer -> spending -> default
DAG 的价值:
- 让团队显性讨论假设。
- 区分混杂、媒介、碰撞变量。
- 判断哪些变量应调整,哪些不应调整。
- 明确什么证据可以支持或推翻结论。
产品经理和架构师不需要把自己变成因果统计学家,但必须能组织 DAG review,防止 AI 团队把漂亮相关性直接变成政策。
3. Causal Discovery vs Causal Inference
两者经常被混用:
| 概念 | 问题 | 输出 | 风险 |
|---|---|---|---|
| Causal discovery | 变量之间可能的因果结构是什么 | 候选 DAG / 边关系 | 依赖强假设,容易误导 |
| Causal inference | 给定假设,某个干预的效果是多少 | ATE、CATE、uplift、policy effect | 假设错则估计错 |
NOTEARS 这类方法尝试从数据中学习 DAG,但产品使用时要保持克制:
- 它可以生成候选结构,帮助发现问题。
- 它不能替代业务知识、实验设计和审查。
- 它依赖无环性、函数形式、噪声假设和观测变量完整性。
- 对隐藏混杂敏感。
更成熟的流程:
business question -> expert DAG -> discovery-assisted challenge -> identification -> estimation -> refutation -> decision
4. DoWhy: 建模、识别、估计、反驳
DoWhy 的工作流适合产品架构师理解因果证据链:
| 步骤 | 核心问题 | 产品产物 |
|---|---|---|
| Model | 因果图和业务假设是什么 | Causal question canvas + DAG |
| Identify | 在这些假设下,效果是否可识别 | Identification checklist |
| Estimate | 用什么方法估计效果 | Estimation plan |
| Refute | 结果对假设和扰动是否稳健 | Sensitivity/refutation report |
这套流程适合放入高风险 AI release gate:
- 营销 uplift 策略上线。
- 信贷政策调整。
- 催收联系策略。
- 风控拦截策略。
- 客服 AI 对 SLA 和投诉的影响。
5. EconML: 异质性处理效果与策略学习
很多产品问题不关心平均效果,而关心谁受益、谁受损。
| 问题 | 平均效果不足在哪里 | 需要的因果输出 |
|---|---|---|
| 给客户发优惠券 | 有些客户本来会购买,有些被激励,有些被打扰 | uplift / CATE |
| 提高信用额度 | 平均收入可能上升,但部分客群坏账激增 | segment-level treatment effect |
| 催收短信 | 有些客户更愿意还款,有些投诉风险高 | heterogeneous policy effect |
| AI 客服引导 | 平均 handle time 下降,但复杂客户满意度下降 | group-level impact |
EconML 的价值是把机器学习能力用于估计异质性处理效果。产品上要把它和政策引擎结合:
CATE estimate -> risk guardrail -> eligibility policy -> treatment assignment -> outcome feedback
6. 因果假设与可识别性治理
因果系统最重要的不是算法,而是假设治理。
Assumption register:
| 假设 | 例子 | 证据 | 破坏后果 |
|---|---|---|---|
| No unobserved confounding | 已观测所有影响 treatment 和 outcome 的关键变量 | 业务专家审查、数据审计 | 效果估计偏误 |
| Positivity | 每类人都有机会接受或不接受 treatment | 分组覆盖检查 | 某些人群无法估计效果 |
| SUTVA | 一个客户的 treatment 不影响另一个客户 | 社交传播/门店影响检查 | 干扰导致估计失真 |
| Correct temporal order | treatment 发生在 outcome 之前 | event time 审计 | 因果方向错误 |
产品 gate:
- 没有 DAG,不进入因果评估。
- 没有识别说明,不进入政策建议。
- 没有敏感性分析,不进入高风险上线。
- 没有人群影响评估,不进入客户级自动决策。
7. Causal-to-Decision 架构
decision question
-> causal graph workspace
-> data cohort builder
-> identification and estimation notebook/service
-> refutation and sensitivity checks
-> policy simulation
-> decision memo
-> experiment or controlled rollout
-> outcome monitoring
关键组件:
| 组件 | 职责 |
|---|---|
| Causal question registry | 记录 treatment、outcome、population、horizon |
| DAG workspace | 管理因果图版本、审查和证据 |
| Cohort builder | 构造符合时间顺序和纳入规则的数据 |
| Estimation service | 运行 DoWhy/EconML 等估计流程 |
| Refutation suite | placebo、random common cause、subset、sensitivity |
| Policy simulator | 估计策略收益、风险和人群影响 |
| Decision memo | 把效果、不确定性、假设和风险翻译给决策者 |
8. 金融零售案例映射
Case A: 营销 Uplift
- Treatment: 是否发放优惠券。
- Outcome: 30 天增量消费或复购。
- Confounders: 历史活跃、客群、渠道、地区、季节、过去优惠响应。
- 输出: CATE 分层,识别 persuadable customers。
- 决策: 只向增量效果为正且投诉风险低的人群发放。
Case B: 信用额度政策
- Treatment: 提额。
- Outcome: 利息收入、消费增长、逾期、坏账。
- Confounders: 收入、历史还款、风险等级、宏观环境。
- 输出: 收益和风险的异质性效果。
- 决策: 政策引擎分层提额,并设置风险 guardrail。
Case C: 欺诈拦截策略
- Treatment: 实时拦截或强认证。
- Outcome: 欺诈损失、误拦、客户流失。
- Confounders: 模型分数、商户风险、金额、设备、历史行为。
- 输出: 拦截策略的净收益和客户摩擦成本。
- 决策: 对高净收益分层启用强认证,而不是一刀切。
9. AI 产品和指标因果性
AI 产品常用 adoption、usage、CSAT、AHT、accuracy 证明价值,但这些指标很多只是相关性。
更强证据:
| 指标问题 | 因果设计 |
|---|---|
| Copilot 使用者效率更高 | 设计团队/用户级实验或准实验 |
| RAG 改善客服质量 | 比较相似 case 的处理质量和复核结果 |
| 推荐提高转化 | uplift model 或 randomized holdout |
| Agent 降低成本 | 需要同时看返工、投诉、风险事件和人工覆盖 |
面试中要体现: AI ROI attribution 必须有 causal design,否则容易把成熟团队、热门产品或季节因素当成 AI 效果。
10. Architecture Checklist
| 检查项 | 高阶判断 |
|---|---|
| Question | treatment、outcome、population、horizon 是否清晰 |
| DAG | 因果假设是否可视化并经过业务审查 |
| Identification | 是否知道为什么该效果可估计 |
| Confounding | 已观测混杂和隐藏混杂是否有处理方案 |
| Temporal order | treatment 是否早于 outcome |
| Heterogeneity | 是否只看平均效果,忽略受益和受损人群 |
| Sensitivity | 结果对假设扰动是否稳健 |
| Decision | 估计结果如何进入 policy、experiment 或 rollout |
11. 面试表达
30 秒版本
因果 AI 的价值是防止团队把相关性当成产品效果。我会先定义 treatment、outcome、population 和 horizon,再画 DAG 暴露假设,用 DoWhy 做识别、估计和反驳,用 EconML 估计异质性效果,最后把结果接入政策模拟、实验或灰度发布。
2 分钟版本
比如营销优惠券,如果只看使用优惠券的客户复购率,可能把本来就活跃的客户误认为被优惠券影响。我的做法是建立 causal question canvas: 谁接受 treatment,观察什么 outcome,时间窗口多长,哪些混杂需要控制。然后组织 DAG review,判断调整集和可识别性。估计阶段可以用 DoWhy 管理建模、识别、估计、反驳流程,用 EconML 估计不同人群的 uplift。上线前还要做敏感性分析和人群影响评估。最终决策不是“模型说发券”,而是“在这些假设和风险边界下,对某些人群发券有正增量效果”。
CTO 追问
如果 CTO 问因果发现能不能自动替代实验,我会回答: 不能。NOTEARS 等因果发现方法可以帮助提出候选结构和挑战专家假设,但它依赖强假设,无法自动解决隐藏混杂。高风险决策仍需要实验、准实验、敏感性分析和治理审查。
12. Portfolio Task
做一个 “AI Decision Intelligence Causal Pack”:
| Artifact | 内容 |
|---|---|
| Causal question canvas | treatment、outcome、population、horizon |
| DAG review | 变量、边、混杂、媒介、碰撞变量 |
| Assumption register | 每个因果假设、证据、风险 |
| Identification checklist | 调整集、可识别性、数据要求 |
| Estimation plan | 方法、cohort、指标、稳健性检查 |
| Sensitivity report | placebo、subset、隐藏混杂敏感性 |
| Decision memo | 推荐动作、证据强度、风险、下一步实验 |
最终要能讲清楚: 因果能力不是算法炫技,而是 AI 产品投资、增长、信贷和风控决策的证据纪律。