Part 4 · Fooled by Randomness 随机性的陷阱

4.4 Survivorship Bias 幸存者偏差:看不见的那一半数据

难度 ★★☆ 阅读 + 玩 ~18 min 直觉翻车率 极高 前置 3.1 蒙提霍尔
Guess First 先猜一次

该把装甲加在哪里

二战期间,你负责给轰炸机加装甲。装甲很重,只能加在少数几个部位。

你手上有一批数据:所有执行任务后飞回来的飞机的弹孔分布图。图上显示——机翼和机身上密密麻麻都是弹孔,而引擎和驾驶舱附近几乎干干净净。

装甲该加在哪里?

押好了。正确答案是第三个——加在弹孔最少的地方。理由一旦说破,会让人有点后背发凉。
Core Concept 核心概念

你的数据是被筛过的

那批弹孔图有一个致命的问题,而且它不在数据里——它在于哪些飞机没能成为数据。

你统计的是飞回来的飞机。那些被击落的飞机,弹孔分布图谁也没见过。于是:

「返航飞机的引擎上没什么弹孔」
↓ 不等于
「引擎不容易被打中」
↓ 而是等于
「引擎被打中的飞机,飞不回来」

那片干净的区域不是安全区,恰恰是最致命的区域。它之所以在图上干净,是因为中弹的样本被系统性地从数据里删除了。装甲应该加在弹孔最少的地方。

这就是survivorship bias(幸存者偏差):当你只能观察到「活下来的样本」时,你看到的分布已经被筛选过了,而筛选的标准恰恰和你想研究的问题相关。

它和 3.1 章是同一个问题的两副面孔。那里问的是「这扇门凭什么活到我面前」,这里问的是「这架飞机凭什么飞了回来」。答案都指向同一个地方:你看到的东西,是被某种规则筛过的;不理解那条规则,就读不懂你看到的东西。

它在日常生活中的样子

这个结构一旦认出来,你会发现它无处不在,而且几乎总是伪装成「成功经验」:

· 「成功人士都早起 / 都退过学 / 都很自信。」——那些同样早起、同样退学、同样自信却失败了的人,不会有人来采访他们。要判断早起有没有用,你必须去看失败者里有多少早起的。这个对照组几乎从不出现在任何一本成功学书里。

· 「这只基金过去十年年化 20%。」——业绩榜单上只有还活着的基金。表现太差的基金会被清盘、合并,它们的历史从榜单上消失了。这叫基金业绩的幸存者偏差,是量化研究中一个被广泛记录的现象,它会系统性地抬高「基金整体表现」的估计。

· 「老房子/老家具质量真好,几十年不坏。」——那个年代的劣质品早就坏掉扔了。你看到的是幸存下来的那一批。这个版本有个专名,叫「幸存者偏差的美学版本」。

· 「用户反馈说这个功能很好用。」——会主动反馈的用户,本来就是那些用下来还没走的人。被这个功能劝退的用户不会填问卷。(这也是 3.4 章那个「信息是怎么到你手上的」。)

解药:三个问题

① 什么样的样本会从我的数据里消失?这是最核心的一问。破产的公司、离职的员工、退出的病人、被删除的帖子——先把「消失机制」说出来。

② 消失的机制和我要研究的问题相关吗?如果无关(比如随机丢失了一部分数据),影响不大;如果相关(引擎中弹→坠毁→不进样本),偏差可能是致命的、而且方向可预测。

③ 我能不能找到「失败样本」?这往往很难,但常常是可能的:查清盘基金的历史数据、访谈离职员工、追踪流失用户。找到失败样本,比在幸存样本上做更精细的分析有价值得多。

Interactive Lab 交互实验

两张弹孔图

下面模拟 1000 架出击的轰炸机。每架挨的炮弹按面积随机分布——敌方并没有瞄准任何特定部位。但不同部位中弹后的致命程度差别很大:引擎和驾驶舱中弹往往意味着回不来。

用切换按钮对比两张图:「只看返航的」是你在现实中唯一能拿到的数据,「全部出击的」是上帝视角的真相。

Bullet Holes · 返航样本 vs 全部出击
引擎 引擎 驾驶舱 机翼 机身 尾翼
538 架
这张图里统计了几架
462 架
没能返航的飞机
2.9×
引擎弹孔密度
被低估的倍数

在「只看返航的」视角下,引擎那一行的数字低得刺眼——而这正是当年那份真实报告的样子。如果你据此把装甲加在机翼上,你会加固一个「中弹了也能飞回来」的部位,而对真正要命的地方毫无作为。

把致命率滑块从 5% 拖到 95%,注意一个反直觉的规律:某个部位越致命,它在返航样本里看起来就越安全。偏差的大小和真实危险程度是同向的——最危险的地方,被低估得最厉害。这让幸存者偏差比一般的测量误差危险得多:它不是让你的估计变模糊,而是让你的估计精确地指向反方向。

Case Study 真实案例

Abraham Wald 与统计研究小组

Statistical Research Group · 哥伦比亚大学, 1943

二战期间,美国在哥伦比亚大学设立了「统计研究小组」(Statistical Research Group, SRG),召集了一批当时最好的统计学家为战时决策服务。其中一位是从纳粹统治下的欧洲逃出的匈牙利数学家 Abraham Wald。

军方交给他们的问题正是本章开头那个:飞机装甲应该加在哪里?军方提供了返航飞机的中弹分布数据,并倾向于加固弹孔密集的区域。

Wald 在 1943 年撰写了一系列备忘录处理这个问题。他的贡献不是喊一句口号,而是建立了一个数学模型:把「按部位统计的、飞机在中弹后仍能存活的概率」当作待估计的未知量,用返航飞机的弹孔分布反推出来。

返航样本
军方手上唯一的数据
缺失的信息
Wald 模型真正的估计对象
1943
SRG 备忘录成文,1980 年代公开重印

模型的核心洞见是:如果炮火大体上是随机分布的,那么某个部位在返航飞机上的弹孔「缺口」,恰恰度量了在那里中弹的致命程度。缺口越大,中弹后越活不下来。于是「哪里弹孔少就加固哪里」不是一句机灵话,而是模型推导出的结论。

关于这个故事的流传版本,有必要澄清两点。

其一,「把装甲加在没有弹孔的地方」这句话是后世的通俗概括,不是 Wald 的原话。他的备忘录是一份技术性的统计文献,处理的是「按部位估计飞机的存活概率」这一估计问题,篇幅相当长,也远比那句箴言复杂。

其二,流传甚广的那个「Wald 当场反驳将军」的戏剧化场景,缺乏可靠的一手记录。Wald 的工作是通过书面备忘录完成的,SRG 也确实向军方提供了分析。至于军方最终在多大程度上采纳了这些建议,公开史料的记载并不充分。

把这两点说清楚,恰恰符合本章的主题:一个故事之所以广为流传,往往是因为它讲得好,而不是因为它经过了核实——这本身就是一种幸存者偏差。流传下来的故事,是那些好听的故事。

需要强调的是,澄清故事的细节丝毫没有削弱统计洞见本身。Wald 的备忘录是真实存在的文献,其中的推理是严密的,而幸存者偏差作为一个统计现象,在此后的金融、医学、社会科学研究中被反复确认,是数据分析中最重要的偏差来源之一。

来源:Abraham Wald, "A Method of Estimating Plane Vulnerability Based on Damage of Survivors"(Statistical Research Group, Columbia University, 1943 年系列备忘录;1980 年由美国 Center for Naval Analyses 以 CRC 432 编号重印)。关于该故事通俗版本与原始文献差异的讨论,见 Jordan Ellenberg《How Not to Be Wrong》(2014) 第一章及后续科普文献的考订。军方采纳程度的记载不充分,本节据此不作断言。
Quiz 自测

章末自测

概念题为什么说幸存者偏差比一般的「样本量不够」危险得多?

因为它们的错误性质完全不同。

样本量不够造成的是随机误差:你的估计围绕真值上下波动,方向不定。多收集数据就能改善,而且你能算出误差有多大(置信区间)。它让你的答案变模糊,但不会骗你。

幸存者偏差造成的是系统误差:估计朝一个固定方向偏离,而且多收集数据完全无济于事——你收集的每一份新数据,都经过同一道筛子。收集一万架返航飞机,引擎照样是空白的。

更糟的是本章实验里那条规律:偏差的大小和真实效应的大小同向。某个部位越致命,它在数据里看起来越安全。这意味着你的结论不只是不准,而是精确地指向反方向——你会在最危险的地方最放心。

一句话:样本量不足让你不确定,幸存者偏差让你确信一个错的答案。后者可怕得多,因为它不会让你察觉到有问题。

场景判断某公司分析离职率,发现「入职满 3 年的员工,满意度显著高于入职 1 年的员工」,据此宣称「公司文化需要时间适应,待久了就好了」。这个结论有什么问题?

典型的幸存者偏差。「入职满 3 年的员工」是一个被筛选过的群体——那些对公司不满意的人,大部分在 3 年之内就走了。你调查的是幸存者,而筛选标准(不满意→离职)恰恰和你要测量的变量(满意度)直接相关。

正确的做法有几种,按可行性排序:

① 做离职面谈,并把离职者纳入分析。这是最直接的「找到失败样本」。注意离职面谈本身也有偏差(人们会说客气话),但总比没有强。

② 用队列分析(cohort analysis)。追踪同一批入职的人,看他们的满意度随时间如何变化,包括那些中途离开的人在离开前的最后一次评分。这样「消失」就变成了可观测的数据点。

③ 把「留存」本身当成结果变量。与其问「待久的人满意度高不高」,不如问「入职时满意度低的人,后来留下来的比例是多少」。这个问法把选择效应从偏差变成了研究对象。

顺便,这个案例里可能还叠加了 4.2 章的问题和认知失调效应(待得久的人有动机说服自己这里不错)。幸存者偏差往往不是单独出现的。

计算题某创业孵化器宣传:「我们孵化的公司里,有 30 家现在估值超过 10 亿。」你还需要知道什么才能判断它厉害不厉害?

最关键的一个数:分母——一共孵化了多少家?

如果一共孵化了 200 家,30 家成为独角兽 = 15%,这是极其惊人的成绩(行业内通常远低于此)。

如果一共孵化了 20000 家,30 家 = 0.15%,那可能还不如市场平均水平——这个数字甚至可能纯粹反映「广撒网」。

但还有第二个、更容易被忽略的问题:他们是怎么筛选项目的?如果这家孵化器只接收已经拿到 A 轮、有成熟团队的项目,那么高成功率主要反映的是筛选能力甚至只是准入门槛,而不是孵化能力。

第三个问题:对照组在哪里?要证明孵化真的有用,需要的是「条件相似但没有进入孵化器的公司」的后续表现。没有对照组,你无法区分「孵化器让公司变好」和「好公司选择了孵化器」。(这正是 3.3 章的混杂因素问题。)

三个问题合起来是一句可以随身携带的话:任何「成功案例数量」都是分子。在拿到分母和筛选规则之前,分子不含任何信息。

思考题本章开头说「加装甲在弹孔最少的地方」。这个结论在什么条件下会失效?

这个结论依赖若干前提,把它们一条条挑明,比记住结论有用得多:

① 炮火大体随机分布。如果敌方确实在瞄准某个部位(比如专门打驾驶舱),那么该部位弹孔少就可能真的因为难打中,而不是因为致命。模型的前提是「命中位置与部位无关」,一旦这个前提破了,反推就不成立。

② 「未返航」主要由中弹造成。如果大量飞机是因为燃油耗尽、天气、导航失误坠毁的,那么缺失样本就不再携带「哪里中弹致命」的信息,反推会被噪声污染。

③ 装甲确实能提高该部位的存活率。如果某个部位(比如油箱)中弹后无论多厚的装甲都会起火,那加固它是浪费重量——该问的不是「哪里最致命」,而是「哪里加装甲的边际收益最大」。这两个问题的答案未必相同。

④ 重量预算的约束是真实的。整个问题之所以存在,是因为装甲有重量、会牺牲航程和载弹量。如果没有这个约束,答案就是「哪儿都加」。

更一般的教训:「加固弹孔最少处」是某个具体模型在某组具体假设下的结论,不是一条普适箴言。这本身也呼应了本章案例里的澄清——当一个统计洞见被压缩成一句朗朗上口的话时,被丢掉的正是它成立的条件。而条件才是你在别的场景里真正需要的东西。