Medical Testing Paradox

医疗检测悖论与贝叶斯推演

一套准确率 99% 的检测,可能让一千个健康人里冒出几十个「阳性患者」。 不是检测坏了,而是得病的人本来就少——概率的分母,从来不是你以为的那个。 下面把这一万个人真的数一遍。

患病人数
50 人
每万人 0.50%
阳性报告
149 人
其中假阳性 99
阳性预测值 PPV
33.2%
阳性里真患病的比例
阴性预测值 NPV
99.9%
阴性里真健康的比例
01

一万个人,真的数一遍

真阳性 · 有病且检出 假阳性 · 没病却报警 真阴性 · 没病且判对

02

这个数字是怎么算出来的

P(患病 | 阳性) = 灵敏度 × 患病率 灵敏度 × 患病率 + 误报率 × (1 − 患病率)
分子是「真有病又被检出」的人,分母是「所有拿到阳性报告」的人。 很多人下意识把分母当成病人总数——这就是悖论的起点。
03

同一件事,写进代码只剩四行

1 病人 = 10000 × 患病率 50 人 · 这一万人里真正有病的
2 真阳 = 病人 × 灵敏度 49.5 人 · 有病,也被查了出来
3 假阳 = (10000 − 病人) × 误报率 99.5 人 · 没病,却被报了警
4 后验 = 真阳 ÷ (真阳 + 假阳) 33.2% · 阳性里真患病的比例
这四行里没有一行需要你背贝叶斯定理——它就是上面那条分数线的四则运算。 把鼠标放到第 2、3 行上,上面对应的色块会亮起来:公式、代码、图形说的是同一件事, 只是三种语言。
04

连续五次阳性,信念如何被推着走

当前信念分布 检测之前的先验 人群平均值 中间八成的人落在这一带
平均
—
中位数
—
八成区间
—
较检测前
—
阳性次数 0
曲线是「四千个不同底子的人」在各自收到 k 次阳性之后的患病概率分布, 竖线是人群加权平均。它和逐次贝叶斯算出的单一数字是同一个答案, 只是顺带告诉了你:这个答案有多确定。
05

逐项拆解

人群人数占比含义
检测本身的准确率没有任何问题。问题在于黄段:它是拿 9,950 个健康人乘以 1.0% 的误报率堆出来的, 而红段只有 50 个病人可抓。