大家好,我是 Senko。 本文将解读“假阳性悖论(伪阳性悖论)”。
体检被告知“阳性”,任谁都会不安。然而,即使精度 99% 的检查呈阳性,实际患病的概率也可能不到 50%。这不是数字魔术,而是概率论给出的铁一般的事实。
用具体例子来看
哈佛大学医学院一项著名调查中,向医生和医学生出过类似的题目,据报告约半数人答错了。这是连专家都会掉进去的直觉陷阱。
假设某种疾病的患病率为 0.1%(每 1000 人中 1 人)。检测这种病的检查精度如下:
- 把病人正确判为阳性的概率(灵敏度):99%
- 把健康人正确判为阴性的概率(特异度):99%
乍看是相当优秀的检查。可我们看看给 10 万人做这个检查的结果。
10 万人中患病者 100 人(患病率 0.1%),健康者 99,900 人。
100 名病人中,99 人被正确判为阳性(灵敏度 99%);99,900 名健康人中,999 人被误判为阳性(假阳性率 1%)。
也就是说,被判为阳性的共 99 + 999 = 1,098 人,其中真正患病的只有 99 人。
即使查出阳性,实际患病的概率也只有 99 ÷ 1,098 ≈ 约 9%。
为什么会这样
关键在于“患病率之低”。
因为疾病罕见,接受检查的人绝大多数是健康的。哪怕检查精度 99%,也会把健康人的 1% 误判为阳性。基数庞大的健康人群中的这区区 1%,在数量上就足以碾压为数不多的真阳性。
这说明先验概率(患病率)从根本上左右着结果的解读。只盯着检查精度,是做不出正确判断的。
有一个帮助理解的直观思路:“接受检查之前,自己患病的概率”只有 0.1%。无论检查结果如何,出发点都是这个极低的概率。精度 99% 的检查确实提供了有力证据,但要推翻 0.1% 这个过低的起点,一次检查还远远不够。
贝叶斯定理
在数学上解释这个悖论的,是贝叶斯定理。
检查呈阳性时实际患病的概率(阳性预测值),不能只看检查精度,必须把患病率也纳入计算。患病率越低的疾病,查出阳性却并未患病的概率就越高。
反过来,如果是患病率高的疾病(比如 50%),精度 99% 的检查呈阳性时,实际患病的概率就超过 99%。同一个检查,面向的人群不同,结果的含义就完全不同。
对现实生活的影响
这个悖论对现实医疗有着重大影响。
大规模筛查中恰恰会出现这个问题:给大量健康人做检查会产生大量假阳性,带来不必要的精密检查与焦虑。这也是某些检查只面向高危人群的原因之一。
新冠疫情期间,围绕对无症状者进行大规模检测的意义,这个悖论也被反复讨论。不结合该人群的感染率,仅凭检测精度无法正确解读结果。
医疗之外的应用
假阳性悖论并不限于医疗。
“恐怖分子检测”:即使机场人脸识别系统能以 99.9% 的精度识别恐怖分子,如果 100 万乘客中只有 1 名恐怖分子,绝大多数警报都是误报——999 名无辜者被错拦,现场一片混乱。
“垃圾邮件过滤”:再精准的过滤器,在正常邮件占绝对多数时,被误判成垃圾邮件的正常邮件(假阳性)也会相当可观。
“审判中的证据”:即使 DNA 鉴定的匹配概率号称百万分之一,如果嫌疑人不是从大城市全体居民中筛出来的,这个“匹配”的含义就与直觉大相径庭。
对策:复检的威力
应对假阳性悖论最实用的办法是“复检”。想一想第一次查出阳性后,再做一次同样检查的情形。
第一次阳性把“患病概率”从 0.1% 提升到了约 9%。把这 9% 作为新的先验概率去解读第二次的结果:连续两次阳性时,实际患病的概率跃升到约 91%。这正是精密检查(二次检查)的逻辑依据。
抬高阳性含金量的三个办法
病越罕见,阳性就越靠不住,那该怎么办呢。手段有三个。
- 收窄对象:按症状、年龄、家族史筛过之后再检查,把患病率本身抬上去
- 提高特异度:减少假阳性。这比提高灵敏度效果更大
- 叠加检查:把机制不同的检查组合起来,只有两次都阳性才判为阳性
出人意料的是第二条。在罕见病上,特异度远比灵敏度管用。
患病率为0.1%时,十万人里得病的只有100人。把灵敏度从99%提到100%,多捞到的不过1人;而把特异度从99%提到99.9%,假阳性就从999人锐减到约100人。
分母差着数量级,所以“把健康的人正确排除掉”的能力才左右结果。
第三条的组合也很有力:过两道互不相关机制的检查,假阳性会以乘法减少。各自1%的空振,两次都空振的概率就是万分之一。
集体体检先做简易检查、只对阳性者做精密检查,正是同时用上第一条与第三条的设计。比起“给所有人做高精度检查”,“先收窄对象再叠加”效率更高。
患病率一变,结论也跟着变
这个问题里起作用最大的不是检查的精度,而是那种病有多罕见。
按患病率看阳性预测值
把灵敏度99%、特异度99%这同一套检查,只改变患病率来用,结果排出来是下面这样(按十万人受检计算)。
| 患病率 | 真阳性 | 假阳性 | 阳性中真得病的比例 |
|---|---|---|---|
| 0.01%(万分之一) | 约10人 | 约1,000人 | 约1.0% |
| 0.1%(千分之一) | 约99人 | 约999人 | 约9.0% |
| 1%(百分之一) | 约990人 | 约990人 | 约50.0% |
| 10% | 约9,900人 | 约900人 | 约91.7% |
| 50% | 约49,500人 | 约500人 | 约99.0% |
检查的性能一点没变,阳性的含义却从1%动到了99%。
患病率1%处是分水岭,正好一半一半。比它更罕见的病,出了阳性也是空的更多。
把术语理一理
这个领域相近的词很多,把对应关系按住就不会乱。
- 灵敏度:把有病的人正确判为阳性的比例,即漏诊少
- 特异度:把健康的人正确判为阴性的比例,即空振少
- 阳性预测值:判为阳性的人中真的有病的比例,受患病率左右
- 阴性预测值:判为阴性的人中真的健康的比例,罕见病时几乎是100%
最容易混的是灵敏度与阳性预测值。宣传“精度99%的检查”时给出的是前者,而受检的人想知道的是后者。
前者是检查本身的性能,不受患病率左右;后者就算是同一套检查,也会因对象人群而差出数量级。
这个区分,也正是把集体体检与精密检查分开的理由:先用简易检查收窄对象,再对患病率被抬高的人群做精密检查。把它想成“让人从表的上方移到下方”的手续,两段式的意义就很清楚了。
不用比例,用人数来想
这类问题用概率讲很难懂,换算成实际人数就一下子清楚,这是已知的。
比如下面两句说的是同一件事。
- 用概率说:患病率0.1%、灵敏度99%、特异度99%时,阳性预测值约为9%
- 用人数说:一万人中10人有病,其中约10人阳性;健康的9,990人中也有约100人阳性。合计110个阳性者里,真有病的只有10人
后者能一眼看出健康者的分母大了一个数量级。
心理学家格尔德·吉仁泽以医生为对象的调查确认过这个效果:用概率出题时正答率很低,换成叫作自然频数的人数形式出题,正答率大幅改善。
- 概率经过了除法,原来的分母信息被抹掉了
- 人数则把分母原样留着,比较可以靠眼睛完成
在医疗现场的说明、公司内部数字的共享上,道理也一样。换算成百分比的那一刻,最要紧的分母就看不见了。只要把原始人数一并写上,误解就能减掉不少。
站在受检者的立场想,我更觉得成问题的是:不告知先验概率,只把“阳性”这个结果甩过来。同样是阳性,含义可以完全不同。
推翻概率直觉的相关悖论
以下是与假阳性悖论同样推翻概率直觉的相关悖论。
结语
本文解读了“假阳性悖论”。
再精准的检查,面对罕见疾病也会产生大量假阳性——这个事实违背直觉。它告诉我们:要正确读懂数字,贝叶斯式的思考不可或缺。
想返回悖论列表的读者请点击下方链接。
我们下一篇文章见。
📚 系列:世界经典悖论(34/81)
读者也常看这些




