卷 I · 看不出来CH 04深度 4/24

你手上的数据,是被谁筛过的

上一章那只手在数据外面推。这一章的机制更阴险:没有任何一只手推,只是有一道门决定了谁能进你的表格——而这道门,就足以凭空造出一个关系。

选择偏差幸存者偏差朱红色

▷ 先判一次

二战期间,统计学家亚伯拉罕·沃德(Abraham Wald)被要求分析返航轰炸机的弹孔分布,好决定该给哪里加装甲。数据显示:机翼和机身弹孔最密,引擎和驾驶舱几乎没有弹孔。他的建议是?

A 加固机翼和机身,那里中弹最多B 加固引擎和驾驶舱,那里几乎没有弹孔C 平均加固,因为样本不能代表全体D 需要更多数据才能判断

这个故事你可能听过。但请留意:它和上一章的混淆不是同一个机制,而多数人把两者混为一谈。

两个毫不相干的东西,过一道门

先看最纯粹的版本。我用两行代码生成两个变量——注意,是两行完全独立的随机数,它们之间在生成过程里连一条线都没有:

var 天赋 = 随机正态();
var 颜值 = 随机正态();     // 和上一行毫无关系

// 然后加一道门:
var 红了 = (天赋 + 颜值 > 门槛);

全体人群里,天赋和颜值的相关系数是 −0.008——就是零(八千个样本剩下的抽样零头)。

现在只看「红了」的那些人:

门槛设在 1.2 的时候,20.1% 的人进了门,而在这些人里面,天赋和颜值的相关系数是 −0.643。门槛提到 2.0,只剩 8.2% 的人进门,相关系数变成 −0.721

门槛越高,这个不存在的关系越强。

道理一句话说完:既然能红,那么长得不够好看的一定是特别有才;反过来也一样。你在数据里看到的「才貌不可兼得」,完全是那道门造出来的。在全体人群里,才和貌毫无关系。

◆ 选择偏差的形状
   天赋  →  [ 门 ]  ←  颜值
              ↑
        这道门就是你的数据集

两支箭头指向同一个点,而这个点决定了谁能进入你手上的数据。这个结构在第 7 章会有一个名字(对撞机),并且你会看到它是全书最反直觉的一件事。

现在只要记住这个形状:两个原因,一个共同的后果,而你只看那个后果的某一档。

这道门无处不在,而且经常是你自己装的

选择偏差最麻烦的地方在于,那道门往往不在数据里——它在数据被收集之前就作用完了,你翻遍这张表也找不到它。

数据那道门是被造出来的假关系
返航的轰炸机「能飞回来」「中弹多的部位不致命」
名校学生「录取分数线」「成绩好的人体育差」
创业成功案例「活到能被采访」「坚持就会成功」
App 的活跃用户「还没卸载」各种功能之间的诡异负相关
发表出来的论文「p < 0.05」效应量被系统性高估
去医院的人「觉得自己不舒服」两种毫不相干的病之间「相关」(Berkson 悖论)
你面试过的候选人「简历筛选」「学历高的人沟通差」

最后一行值得多说一句,因为它是工程师最容易亲手制造的那一个。假设你的简历筛选是「学历」或者「项目经历」够好就进面试。那么在你面到的人里,学历特别好的那些,项目经历大概率一般(否则他们不需要靠学历过筛)。于是你会「用数据发现」:学历高的候选人实战能力差。而这个规律在你没面到的人群里根本不存在。

✎ 术语正名:「幸存者偏差」

「幸存者偏差」(survivorship bias)是选择偏差的一个特例,而且是最出名的那个。但它出名到有点误导:它让人以为这类问题只出现在「成功学」这种明显可疑的场合。

其实这个机制的适用范围要广得多。凡是「某个和结果有关的东西,决定了谁能进入你的数据」,就是它。流失用户没进你的表、退出试验的病人没进你的分析、跑挂了的实验没写进论文——都是。

而且它和上一章的混淆结构不同:混淆是有一只手在两边推(箭头从 C 射出去),选择偏差是两支箭头射进同一个点,而你站在那个点上。第 6、7 章会把这两种形状彻底分开。

为什么这一章放在卷 I 的最后

因为它是四章里最难自己发现的一个。

混淆你还有救——你可以列出「有哪些东西可能同时影响两边」,然后去测它们。选择偏差没有这个奢侈:被筛掉的那些人,不在你的数据里,你连他们长什么样都不知道。

更糟的是,选择偏差会伪装成「规律」。上面那个「才貌不可兼得」,如果你不知道它是门造出来的,它看起来完全像一条深刻的人生洞见——而且你还能给它编出一套解释(「专注在一件事上就会牺牲另一件」)。人对相关的解释能力,比相关本身强太多了。

▸ 在现实里

A/B 测试里最常见的一种自毁:只统计「完成了流程的用户」。假如新版本让一部分犹豫的用户中途退出了,那么留在分母里的就是意愿更强的那批人——他们的转化率当然更高。你会「测出」新版本更好,而实际上它赶走了人。

这个坑有个专门的名字,叫处理后选择(post-treatment selection)。防它的办法只有一条硬规矩:分母永远用「一开始被分进这一组的所有人」,哪怕他们中途跑了。医学里管这叫意向性治疗分析(intention-to-treat)——即使病人没吃药,也照样算在他被分到的那一组里。

这条规矩看上去很「不公平」(凭什么把没吃药的人算成吃药组),但它保护的恰恰是那一刀:随机分配的是「分到哪组」,不是「实际吃没吃」。第 19 章会告诉你,从「分到哪组」还能怎么把「实际吃了药的效果」捞回来。

✗ 这个直觉是错的
只要样本是随机抽的,就不会有选择偏差。 「随机抽样」防的是样本不代表总体。选择偏差的杀伤力在另一个地方:你研究的那个总体本身,就是被一道和结果有关的门筛出来的。

你从「所有活跃用户」里完美随机地抽一万人,这个抽样一点毛病没有。但「活跃用户」这个池子本身已经被「没卸载」这道门筛过了,而卸不卸载和你要研究的东西高度相关。随机抽样对此毫无办法。

更准确的说法是:随机抽样解决的是外部有效性(这批人能不能代表那批人),随机分配解决的是内部有效性(这个差异是不是处理造成的)。它们是两回事,第 14 章会分清楚。

◇ 判词

B加固引擎和驾驶舱,那里几乎没有弹孔。

因为数据只包含飞回来的飞机。引擎中弹的飞机没能飞回来,所以在数据里「引擎没有弹孔」。那道门是「能返航」,而它显然和「哪里中弹」直接相关。

沃德在 1943 年给出的正是这个结论。他的推理不靠更多数据,靠的是想清楚这批数据是怎么来的——这恰好是这本书要教的第一件事。

A 「哪里弹孔多加哪里」——把「幸存者身上的分布」当成了「所有飞机的分布」。这是最自然的读法,也正是错的那个。 C 「平均加固」——察觉到了样本有问题,但没意识到样本的偏法本身就是信息。缺失的位置正好指出了致命部位。 D 「需要更多数据」——再多的返航飞机数据也是同一道门筛出来的。问题不在量,在门。这一点和第 2 章那句「偏差不随 n 缩小」是同一件事的两个面。

这一章的一句话

混淆是有人在推,选择偏差是有道门在筛;后者更难发现,因为被筛掉的那些人不在你的表里。

卷 I 到此结束。你现在知道了三件事会让「看」和「拨」分家:反向的箭头、共同的原因、共同的后果。这三件事其实是同一套零件的三种摆法——而全世界只有这三个零件。

卷 II 开始,我们把这些直觉换成一种可以计算的语言。下一章先拆掉一个你从小学就有的习惯:Y = 2X 这个式子,两边不能对调。你会看到 YX 回归的斜率是 2.0005,而 XY 回归的斜率不是 0.5,是 0.3992