因果思维入门决策链 — 先判断问题本质是不是因果,再谈路线
R — 原文 (Reading)
(转述)Pearl 把因果信息分为三个阶梯:第一层只谈关联(看见 X 时 Y 的似然),第二层问干预(主动改变 X 后 Y 如何),第三层问反事实("假如当时没做 X,Y 会怎样")。每一层的答案都无法由下一层的数据单独得出——观察吸烟与癌症的相关,回答不了"戒烟会怎样"。
— Judea Pearl《Causality》(2009) 第 1 章;《The Book of Why》(2018) 因果之梯
(转述)Rubin 主张:因果效应定义为同一单元在"接受处理"与"不接受处理"两种潜在结果之间的差异——但任一单元在同一时刻只能观测到其中一种,缺失的那一半正是因果推断的根本问题;一切方法都是在为这缺失的一半做有依据的填补。
— Donald Rubin, "Estimating Causal Effects of Treatments in Randomized and Nonrandomized Studies" (1974)
I — 方法论骨架 (Interpretation)
"相关不等于因果"不是一句口号,而是三种可命名的机制:
- 混杂 (confounding): 一个共同原因同时影响 X 与 Y(冰淇淋销量与溺水人数正相关,背后是气温);
- 选择偏差 (selection bias): 样本怎么进入数据本身依赖 X 或 Y(只在健身房调查体质),条件化或不条件化都会扭曲;
- 辛普森悖论 (Simpson's paradox): 聚合层面的关联方向与分层后相反——分不分层取决于哪个变量是混杂、哪个是碰撞,不是"分层总是更好"。
Pearl 三阶梯给问题定级:只要用户的句子能改写成 do(X)(我要主动改变 X)或反事实(假如当初不 X),预测模型就回答不了——监督学习消费的是 P(Y|X),干预需要 P(Y|do(X))。什么时候需要因果而不是预测:政策评估(这个药/活动/改版有效吗)、效应归因(增长多少该记在谁头上)、反事实追问(不做会怎样)——这三类问题预测给不了答案;反过来,纯预测任务(不打算据此干预、不追问机制)不需要因果工具,强行上反而丢信息。
工具路线速览:RCT/在线 A/B 是金标准——随机化切断一切进入处理的后门路径;做不了实验时走观测路线——倾向得分匹配/加权(按"被处理的倾向"平衡可比组)、后门调整(在 DAG 上列出并阻断所有混杂路径)、DML 双重机器学习(用任意 ML 模型剥离混杂的影响再估处理效应)。定位:本 skill 负责"识别出该用因果的场景并知道路线",数理推导不在射程内。
A1 — 文献中的经典应用 (Past Application)
(本批主题超出西瓜书覆盖范围,A1 改引学界公认的经典案例与公开记录)
案例 1: 伯克利录取数据的辛普森悖论 (1973)
- 问题: 研究生录取的汇总数据显示男性录取率显著高于女性,疑似性别歧视;但逐院系检查时,多数院系反而是女性录取率更高。
- 方法论的使用: 识别出"申请者自选院系"是混杂变量——女性更多申请竞争激烈、录取率低的院系;聚合时院系构成的差异制造了假性的性别差距。
- 结论: 聚合关联的方向由混杂结构决定,"总体看"与"分层看"谁对,取决于问题问的是"录取是否歧视"还是别的因果问题——分层变量的选择必须来自因果论证,不能事后挑选。
- 结果: 此案成为统计学教材中辛普森悖论的招牌例子,也是"相关≠因果需要机制级解释而非口号"的标准教学素材。
案例 2: 吸烟-肺癌论战与 Cornfield 不等式 (1959)
- 问题: 观察数据显示吸烟与肺癌强相关,但 Fisher 等反驳:可能存在基因型这类混杂因素同时导致"爱吸烟"与"易患癌",观察数据原则上无法排除。
- 方法论的使用: Cornfield 证明:若要用一个混杂因素完全解释掉观察到的关联,该因素与吸烟的关联强度必须不低于吸烟与肺癌的关联本身——这在已有数据上可检验,且找不到如此强的候选混杂。
- 结论: 观测数据上的因果推断并非"永远不可能",而是"永远依赖一组显式假设";假设可以被论证强弱,但不可被数据最终证明。
- 结果: 这一论证框架(把不可检验的假设摆上台面并评估其需要的强度)成为现代 observational causal inference 的思想原型,直接通向 Rubin 潜在结果框架与倾向得分方法。
案例 3: Fisher 随机化实验的起源 (1920s-1930s)
- 问题: 农业试验中土壤肥力、日照、水分千差万别,"施肥地块产量高"永远可以说成"好地才施肥"。
- 方法论的使用: Fisher 提出把处理(施肥品种)随机分配到地块——随机化使处理组与对照组在一切可观测与不可观测混杂上期望相同,从机制上切断后门路径,而不需要逐一列举混杂因子。
- 结论: 随机化之所以是金标准,不是因为"公平",而是因为它用分配机制的结构性质替代了对混杂清单的完备枚举。
- 结果: RCT 成为医学与政策评估的金标准;互联网时代它以在线 A/B 测试的形态成为产品决策的基础设施——这也是本 skill 与 ml-evaluation-design 的衔接点。
A2 — 触发场景 (Future Trigger) ★
用户会在什么情境下需要这个 skill?
- 用户拿着观测数据下因果结论:"用了会员功能的用户流失率更低,所以要大力推会员"——需要指出混杂可能并给识别路线,而不是附和或空喊"相关不等于因果"。
- 用户做干预效果评估:"这次改版/活动/新政策带来多少提升?""营销 ROI 到底是多少?"——干预与归因问题。
- 用户问反事实问题:"如果当初没上这套推荐算法,现在的数据会怎样?""这个病人如果没做这个手术?"
- 用户没法做随机实验(伦理/成本/平台限制),想知道观测数据还能不能救、要付出什么代价。
- 用户听到辛普森悖论/混杂变量,想搞懂"为什么相关不是因果"的机制,而不是听一遍口号。
语言信号 (用户的话里出现这些就应激活)
- "因果还是相关"/"是不是因为"/"到底是不是 X 导致的"/"causation vs correlation"
- "归功/归因/功劳是谁的"/"attribution"/"这个效果是真的吗"
- "干预/政策/改版/活动有没有效"/"treatment effect"/"policy evaluation"/"uplift"
- "反事实"/"如果不这么做会怎样"/"counterfactual"/"what-if 当时"
- "混杂变量"/"confounder"/"控制变量该控制哪些"/"辛普森悖论"/"Simpson's paradox"
- "A/B 做不了怎么评估"/"没法随机分组"/"propensity score"/"倾向得分匹配"/"DML"
与相邻 skill 的区分
- 与
ml-pitfall-audit的区别: audit 是上线前的六问前提总审(无偏采样/独立性等隐藏前提一次查完),覆盖宽但不展开因果路线;本 skill 回答"这个问题的本质是不是因果问题、走哪条识别路线"。audit 六问中发现"相关被当成了因果"时,深挖移交本 skill。 - 与
ml-bayesian-thinking的区别: 那是概率建模的假设纪律(分布形式/独立性档位/EM),贝叶斯网里的有向边是概率依赖而非因果;把贝叶斯网当因果模型直接读边是已知的坑。凡出现 do/干预/反事实词汇,离开那边进本 skill。 - 与
ml-graphical-models的区别: 那管多变量网络的图结构学习与推断算法;本 skill 只借用 DAG 语言表达因果结构,重心在可识别性判断与估计路线。 - 与
ml-evaluation-design的区别: 在线 A/B 就是 RCT,那边管实验协议(切分/度量/比较检验);本 skill 管"为什么随机化能支持因果声明"以及"做不了实验时观测路线的代价"。实际项目常串联:本 skill 判定为干预问题且可随机化 → 移交那边设计协议。
E — 可执行步骤 (Execution)
当 skill 被激活后, agent 应按以下步骤执行:
问题定级(三阶梯定位)
- 把用户的原始问句改写:是关联问题(只关心共现)、干预问题(do(X))、还是反事实问题?写出改写句。
- 完成标准: 一句话卡——"此问题属于第 X 层,标准表述为……";或明确判定"纯预测即可回答"。
- 判停条件: 用户只要对未来做预测、不打算据此干预也不追问归因 → 移交
ml-task-matching/ml-diagnosis,并明确告知无需因果工具;确属干预/归因/反事实 → 进步骤 2。
机制扫描(画出因果故事候选)
- 列出能同时影响"处理"与"结果"的变量(混杂)、样本进入数据的门槛(选择偏差)、被共同结果影响的变量(碰撞——小心别控制它)、中介变量。
- 完成标准: 至少写出一个具体的、贴合业务的混杂源;写不出也要显式声明"未想到但风险存在"。
- 判停条件: 用户能直接提供随机分组数据(天然实验/RCT 数据)→ 混杂已被分配机制切断,跳过步骤 3 的观测路线之争,直接走步骤 4-5。
路线判定
- 有无可行随机化?有 → 设计 A/B/RCT,协议细节移交
ml-evaluation-design;没有 → 走观测路线,在倾向得分匹配 / 后门调整(含 DAG 假设)/ DML 中按数据形态初选。 - 完成标准: 路线选定 + 选择理由(数据里有什么、缺什么)。
- 判停条件: 连处理的定义都模糊("用了功能"没有时间戳/剂量)→ 先回数据侧把处理变量定义清楚,禁止带糊估计。
- 有无可行随机化?有 → 设计 A/B/RCT,协议细节移交
假设清单显式化
- 把所选路线的全部关键假设列成表:无未测混杂、一致性、SUTVA(个体间无溢出)、倾向得分重叠等,并写明每条违反时估计往哪个方向偏。
- 完成标准: 交付物含假设表 + "以上假设均不可由当前数据检验"的显式提醒。
- 判停条件: 关键假设明显站不住(如已知存在强混杂且无代理变量)→ 停止估计,向用户报告"此数据不支持可信的因果结论",只交付描述性关联。
结果解读纪律
- 结论措辞必须是"在假设 H1-Hn 成立的前提下,估计效应为……",禁止输出"证明了因果";换人群/换时段外推需重新论证假设。
- 完成标准: 最终报告含限定语与敏感性讨论(关键混杂要多强才能推翻结论)。
- 判停条件: 用户要求去掉限定语"直接说结论是因果" → 拒绝该修改并说明理由;用户坚持则以书面形式记录分歧后终止本 skill 的参与。
B — 边界 (Boundary) ★
不要在以下情况使用此 skill
- 纯预测任务(不干预、不归因、不问反事实): 因果工具不会提升预测精度,强行上反而因剔除"坏但有用"的特征而掉点;预测问题交给预测的方法。
- 数理推导请求(do-演算定理证明、识别式的完整推导、因果发现算法的实现细节): 本 skill 定位是场景识别与路线选择,不是推导教程。
- 数据中根本没有"处理/干预"变量的常规建模任务: 无处理则无处理效应,无从谈起。
文献反复警告的失败模式
- 回归系数 = 因果效应: 尤其危险的是"控制得越多越可信"的迷信——控制了碰撞变量反而制造虚假关联(选择偏差入样本);控制集合必须来自因果论证而非"多多益善"。
- PSM 万能论: 匹配只平衡已观测协变量,未观测混杂原封不动地留在估计里;"匹配后两组很均衡 = 因果成立"是错觉,均衡只说明匹配程序执行到位。
- 机械分层: 不分因果角色就分层(对碰撞变量分层会反转结论);辛普森悖论的正确回应是"先定结构再定聚合层级",不是"永远相信分层"。
- 事后归因: 看到指标涨了再回头挑一个解释并声称"早有预期"——这是 HARKing 的因果版;归因必须在干预前预注册指标与假设。
作者盲点 / 时代局限(本批为外推补全)
- 必须声明: 本 skill 主题超出西瓜书(2016)覆盖范围——BOOK_OVERVIEW 批判节明确指出"因果推断几乎缺席,而因果视角恰是对相关性≠因果性类陷阱的系统防线";本 skill 是对该盲点的补全,素材为 2009-2023 交叉学科文献共识转述,方法论仍在快速演化(因果发现、异质处理效应估计、与大模型结合的因果问答均在活跃发展),执行时应核对最新进展。
- 观测数据的因果声明永远依赖不可检验的假设——这是本领域的元限制而非可修复的缺陷:任何"我们做了因果推断"都不等于"证明了因果";本 skill 只能把假设摆上台面并评估其脆弱度,不能消灭它们。
- 工具箱更新快: DML、因果森林、双重稳健估计的具体适用条件仍在争论中,本 skill 只给路线图,不给万能配方。
- 因果发现(从数据自动学因果图)在真实扰动有限的数据上可靠性有限,文献内部对其评价分歧很大——本 skill 不把它当默认入口。
容易混淆的邻近方法论
- 因果推断 ≠ 因果发现: 前者是"给定结构与假设估计效应",后者是"从数据反推结构";后者假设更强、结论更脆,二者常被混为一谈。
- Uplift 模型 ≠ 普通响应模型: 预测"谁会转化"与预测"谁会因为干预而转化"是不同目标;后者必须有处理组/对照组数据,拿响应模型当 uplift 用会选错目标人群。
- 统计显著性 ≠ 因果强度: p 值回答"是不是噪声",完全不回答"是不是混杂";显著的虚假关联遍地都是。
相关 skills
- depends-on: ml-methodology-router(问题进入合集的总入口)
- contrasts-with: ml-pitfall-audit(上线前六问总审 vs 本质是不是因果问题的定向判定), ml-bayesian-thinking(概率依赖的边 ≠ 因果的边)
- composes-with: ml-evaluation-design(可随机化时移交其设计 A/B/RCT 协议), ml-graphical-models(DAG 语言与图推断工具), ml-explainability-xai(解释结果需用因果思维校正解读——重要性≠因果)
审计信息
- 来源性质: 扩充批E·交叉学科——主题超出西瓜书(2016)覆盖范围,R 段为公认文献的转述表述(均已标注"(转述)")
- 验证通过: 待流水线三重验证复核
- 测试通过率: 待阶段 4 测试 (详见 test-prompts.json)
- skill_version: 0.0.1
- 蒸馏时间: 2026-08-24