name: 因果推断-根因分析 description: 当调查为什么某事发生并需要区分相关性与因果关系、识别根本原因与症状、测试竞争假设、控制混杂变量或设计实验验证因果声称时使用。在调试系统、分析失败、研究健康结果、评估政策影响或用户提到根因、因果链、混杂、虚假相关或询问“这到底为什么会发生?”时调用。
因果推断与根因分析
目录
目的
系统调查因果关系以识别真正的根本原因,而非仅仅是相关关系或症状。此技能帮助区分真实因果与虚假关联,测试竞争解释,并设计针对底层驱动因素的干预措施。
何时使用此技能
- 调查系统故障或生产事件
- 调试具有多个潜在原因的绩效问题
- 分析指标变化的原因(例如,转化率下降)
- 研究健康结果或治疗效果
- 评估政策或干预措施影响
- 区分数据中的相关性与因果关系
- 识别实验中的混杂变量
- 追溯症状到根本原因
- 测试关于因果关系的竞争假设
- 设计实验验证因果声称
- 理解项目成功或失败的原因
- 分析客户流失或保留驱动因素
触发短语: “根本原因”、“为什么会发生”、“因果链”、“相关性与因果关系”、“混杂”、“虚假相关”、“真正原因是什么”、“底层驱动因素”
什么是因果推断?
一种系统方法,用于确定X是否导致Y(不仅仅与Y相关):
- 相关性:X和Y一起变动(可能是巧合或由于第三因素Z)
- 因果关系:改变X直接导致Y变化(存在因果机制)
关键概念:
- 根本原因:如果解决此根本问题,则可防止该问题发生
- 近因:立即触发因素(可能是症状,非根本)
- 混杂变量:导致X和Y的第三因素,创造虚假相关
- 反事实:“如果没有X会怎样?”——关键因果问题
- 因果机制:X影响Y的途径或过程
快速示例:
# 效应:网站转化率下降30%
## 竞争假设:
1. 新结账用户界面令人困惑(近因)
2. 支付处理器延迟增加(近因)
3. 我们换用了一个更便宜但更慢的支付处理器(根本原因)
## 测试:
- 回滚用户界面(无变化)→ 用户界面不是原因
- 检查支付日志(确认延迟)→ 延迟是原因
- 追踪到处理器变更 → 处理器变更是根本原因
## 反事实:
“如果我们没有切换处理器,转化率会下降吗?”
→ 不会,用旧处理器时转化率良好
## 结论:
根本原因 = 处理器切换
机制 = 结账慢 → 用户放弃
工作流程
复制此清单并跟踪进度:
根因分析进度:
- [ ] 步骤1:定义效应
- [ ] 步骤2:生成假设
- [ ] 步骤3:构建因果模型
- [ ] 步骤4:测试因果关系
- [ ] 步骤5:文档化和验证
步骤1:定义效应
描述效应/结果(具体发生了什么),尽可能量化(幅度、频率),建立时间线(何时开始,是否持续?),确定基线(什么是正常,什么变了?),并识别利益相关者(谁受影响,谁需要答案?)。关键问题:我们具体在解释什么?一次性事件还是重复模式?如何客观测量?
步骤2:生成假设
列出近因(立即触发因素/症状),识别潜在根本原因(底层因素),考虑混杂因素(第三因素创造虚假关联),并挑战假设(如果初始理论错了怎么办?)。技术:5个为什么(反复问“为什么”)、鱼骨图(分类原因)、时间线分析(效应前发生了什么?)、鉴别诊断(还有什么能解释症状?)。简单调查 → 使用资源/模板.md。复杂问题 → 学习资源/方法论.md获取高级技术。
步骤3:构建因果模型
绘制因果链(A → B → C → 效应),识别必要与充分原因,映射混杂关系(什么同时影响原因和效应?),注意时间顺序(原因先于效应——因果的必要条件),并指定机制(X如何导致Y)。模型元素:直接原因(X → Y)、间接(X → Z → Y)、混杂(Z → X和Z → Y)、中介变量(X → M → Y)、调节变量(X → Y取决于M)。
步骤4:测试因果关系
检查时间顺序(原因先于效应?),评估关联强度(强相关?),寻找剂量反应(原因越多 → 效应越多?),测试反事实(如果原因不存在/移除会怎样?),搜索机制(解释如何),检查一致性(跨情境成立?),并排除混杂因素。证据层次:随机对照试验(黄金标准)> 自然实验 > 纵向研究 > 病例对照 > 横截面研究 > 专家意见。使用布拉德福德·希尔标准(9个因素:强度、一致性、特异性、时间性、剂量反应、合理性、连贯性、实验、类比)。
步骤5:文档化和验证
创建因果推断-根因分析.md包含:效应描述/量化、竞争假设、因果模型(链、混杂、机制)、证据评估、根本原因(带置信水平)、推荐测试/干预措施、局限性/替代方案。使用资源/评估者/因果推断根因分析评估表.json验证:确保区分近因与根本原因、控制混杂因素、解释机制、系统评估证据、注明不确定性、推荐干预措施、承认替代方案。最低标准:得分 ≥ 3.5。
常见模式
事件调查(工程):
- 效应:系统中断、性能下降
- 假设:最近部署、流量激增、依赖故障、资源耗尽
- 模型:时间线 + 依赖图 + 最近变更
- 测试:日志、指标、回滚实验
- 输出:事后报告包含根本原因和预防计划
指标变化(产品/业务):
- 效应:转化下降、收入变化、用户参与度转变
- 假设:产品变更、季节性、市场变化、测量问题
- 模型:用户旅程 + 外部因素 + 最近实验
- 测试:队列分析、A/B测试数据、细分分析
- 输出:因果解释含推荐行动
政策评估(研究/公共政策):
- 效应:健康结果、经济指标、社会指标
- 假设:政策干预、混杂因素、长期趋势
- 模型:带混杂的有向无环图 + 机制
- 测试:差异中差异、回归断点、倾向匹配
- 输出:带置信区间的因果效应估计
调试(软件):
- 效应:错误、意外行为、测试失败
- 假设:最近变更、边界情况、竞争条件、依赖问题
- 模型:代码路径 + 数据流 + 时序
- 测试:重现、隔离、二分搜索、Git二分查找
- 输出:错误报告含根本原因和修复
防护栏
应该做:
- 明确区分相关性与因果关系
- 生成多个竞争假设(不仅确认首个理论)
- 映射混杂变量并控制它们
- 指定因果机制(X如何导致Y)
- 测试反事实(“如果没有X会怎样?”)
- 说明置信水平和不确定性
- 承认替代解释
- 基于根本原因推荐可测试干预措施
不应该做:
- 混淆近因与根本原因
- 选择性收集证据以确认初始假设
- 假设相关意味着因果
- 忽略混杂变量
- 跳过机制解释(仅陈述相关)
- 在没有强证据时夸大置信度
- 在测试替代方案前停在首个合理解释
- 未识别根本原因就提出干预措施
常见陷阱:
- 后此谬误:“之后,因此所以”(时间顺序≠因果)
- 虚假相关:两事物相关因第三因素或巧合
- 混杂:第三变量同时导致X和Y
- 反向因果:Y导致X,非X导致Y
- 选择偏误:样本不具代表性
- 回归均值:极端值自然向平均值移动
快速参考
- 模板:
资源/模板.md——根因分析结构化框架 - 方法论:
资源/方法论.md——高级技术(有向无环图、混杂控制、布拉德福德·希尔标准) - 质量评估表:
资源/评估者/因果推断根因分析评估表.json - 输出文件:
因果推断-根因分析.md - 关键区分:相关性(X和Y一起变动)vs. 因果(X → Y机制)
- 黄金标准测试:随机对照试验(消除混杂)
- 必要标准:时间顺序(原因先于效应)、机制(如何运作)、反事实(如果原因不存在会怎样)