Skip to content
知识

/knowledge/causal-inference

因果推断与 A/B 测试

我们做的那件事,真的导致了那个变化吗——还是它本来也会发生?这是分析中最难、也最有价值的问题,而诚实地回答它,需要的不止一个相关。

学于
因果推断与实验设计进阶 · 评估与 A/B 测试
时间
统计与政府分析
应用于
干预奏效了吗?
阅读 / 复习
约 16 分钟阅读2026-06-26

几乎每一个值得做的决策都是一个因果决策。这项政策减少伤害吗?那个改变是否改善了结果?如果我们采取了行动,结果有所不同吗?然而我们手上的数据,绝大多数是相关性的——它告诉我们什么一起出现,而非什么导致了什么。因果推断是弥合那道鸿沟的学科:从「这两样东西一起变动」抵达「这一个让那一个发生」,并对这座桥能承受 多少信心保持诚实。

这是我在政府分析师工作中最在意的问题,因为另一种情形——把一个巧合误当成一个效应——会导致对 不起作用的东西采取行动,并把它们没有导致的变化归功于某些干预。这一页是那套工具箱,从黄金 标准的实验,到你无法做实验时所求助的方法。

01

相关还不够

那句著名的告诫——相关不蕴含因果——是对的,但通常解释得不够。当两样东西,XXYY,一起变动时,有好几种可能,而只有一种是你想要的:

  • XX 导致 YY(你所希望的)。
  • YY 导致 XX(反向因果)。
  • 某个第三者 ZZ 导致两者(一个混杂因子——经典的「冰 淇淋销量与溺水都随气温上升」)。
  • 它是巧合(尤其在小样本或多次比较时)。

整个领域是用来排除第二、第三与第四种、好让你只剩下第一种的机器。做这件事最干净的方式是去干预——而那正是实验登场之处。

02

反事实:本来会发生什么

定义因果效应的现代方式是潜在结果框架。对一个单元(一个人、一个地区、一宗 案件),想象两个平行的世界:一个它接受处理、结果为 Y(1)Y(1),一个它不接受、 结果为 Y(0)Y(0)。那个单元的因果效应就是其差:

τi=Yi(1)Yi(0)\tau_i = Y_i(1) - Y_i(0)

难处在此,而且它有一个堂皇的名字:因果推断的根本问题。对任何单个单元,你永远 只观测到那两个世界中的一个——那个人要么接受了处理、要么没有。另一个结果,那个反事实,永远缺失。你永远无法直接测量一个个体效应。

03

黄金标准:随机化

你如何让两组在一切上都可比——包括你没测量、或从未想到的东西?你无法在无穷多的变量 上手工匹配它们。但有一个近乎魔法的招数:随机地分配处理。这就是随机对照试验(RCT)。

随机化之所以有效,是因为在足够多的单元下,它让处理组与对照组在平均意义上统计上完全相同——同样的年龄构成、同样的既往行为、同样的一切,无论是否被测量。任何混杂因子都因偶然而 在两组间被平衡,所以剩下的唯一系统性差异,就是处理本身。这就是为什么简单的组均值之差,会 成为一个可信的因果估计:

τ^=YˉtreatedYˉcontrol\hat{\tau} = \bar{Y}_{\text{treated}} - \bar{Y}_{\text{control}}

随机化是唯一免费处理未知混杂因子的方法。下面的每一个观测性方法,本质上都是在试图 逼近随机化自动给你的东西。

04

A/B 测试:野外的 RCT

一个 A/B 测试不过是在一个产品或流程上跑的 RCT:把用户随机分进 A(对照)与 B(处理),给每组展示一个不同的版本,再比较一个选定的指标。它是基于证据的决策的主力——而把 它做对,比「发布了就看看」要微妙得多:

  • 先算功效与样本量。在开始之前就决定你在意多大的效应、以及需要多少单元才能 检测到它(统计功效的计算)。功效不足的测试找不到 真实的效应,白白浪费了实验。
  • 不要偷看。反复查看结果、一看起来显著就停手,会严重抬高假阳性——每一次偷看 都是又掷一次骰子。固定样本量(或使用一种正规的序贯检验方法),然后等待。
  • 一个改变,一个指标。事先定义主指标。测二十个指标、再为碰巧显著的那个庆祝, 不过是多重比较的伪装。
  • 检查随机化是否成立。合理性检查各组在已知协变量上是否真的平衡,并留意泄漏 (用户同时在两臂中、它们之间的网络溢出)。

05

混杂因子、对撞因子与 DAG

当你无法随机化时,你不得不明确地推理该对哪些变量做调整——而出人意料的是,对错误的 那个做调整会让事情更糟。一张因果图(DAG——有向无环图)把每个变量画成 一个节点、把它们之间的每个因果箭头画出来,让结构可见。

混杂因子——做调整ZXY对撞因子——切勿调整XYC
一个混杂因子(Z)坐在处理与结果两者的上游,制造出一个虚假的关联——你必须对它做调整。一个对撞因子(C)坐在两者的下游;对它做调整会打开一个本不存在的假关联。看起来相同的变量,相反的建议。

一个混杂因子是处理与结果两者的共同原因——不调整它,它就伪造一个效应; 调整它则消除偏倚。一个对撞因子是两者的共同结果——而调整它会制造一个本不存在的虚假关联。它们看起来相似,却要求相反的处理,这正是为什么先画图胜过盲目地 「把一切都控制住」。

06

当你无法随机化时

随机化常常不可能、或不合伦理——你无法随机地分配一项政策、一桩人生大事、或谁被调查。准实验 方法利用自然的变异来模仿一个实验。主要的几个,从假设最弱到最强:

  • 匹配 / 回归调整——构建一个在观测变量上看起来像处理组的对照组(倾向得分匹配是 常见的口味)。只与你测量到的混杂因子一样好。
  • 双重差分——把处理组随时间的变化与未处理组的变化相比较。如果没有处理 两组本会平行移动,那么多出来的移动就是效应。抵消掉每组任何固定的东西。
  • 工具变量——找一个会推动处理、但通过处理来影响结果的变量,用它来 分离出因果变异。
  • 断点回归——当处理在一个尖锐的阈值处切换(一个分数线、一个年龄限制),紧贴 两侧的单元几乎相同,所以比较它们便逼近一个局部实验。

07

伪造因果的陷阱

即便细心的分析师也会被骗。反复出现的陷阱:

  • 辛普森悖论——一个在每个子群中都出现的趋势,可能在各群合并时反转(反 之亦然)。聚合能翻转一个效应的符号,所以永远要问,是不是有一个潜伏的变量正在切分数据。
  • 选择偏倚——当谁最终进入你的数据与结果相关时(只有成功的案例被记录、只有某些 人回应)。样本不再代表总体,效应被制造出来。
  • 均值回归——极端值往往会被不那么极端的值跟随,没有任何因果原因。在一次飙升 之后行动,那自然的回落会看起来像是你的干预奏效了。
  • p 值操纵——切片、重测、尝试各种设定,直到某样东西越过显著性。把它连回多重比较:足够多的检验保证会出一个纯属噪声的 「发现」。预先登记你的问题。

08

它在我工作中的体现

09

60 秒回顾

内部效度的谱(RCT → 断点回归/双重差分 → 匹配)与 A/B 的陷阱(偷看、功效、多指标),反映了 当前的因果推断与实验参考文献,以及课程学习。