「阳性」不是一个性质,是一个比值:为什么把 1% 改写成「1000 人里有 10 个」,医生和病人都算对了
【锚点】这一篇只回答一个问题:一张写着「阳性」的检验报告,为什么在多数人(包括多数医生)手里会被读成一个远大于真实值的概率?我的答案:【「阳性」不是样本的性质,是一个比值;这个比值的分母由先验决定,而先验不在报告单上】。
【显式】先给一份可以自己复算的账。乳腺癌筛查,50 岁女性:患病率 1%(1000 人里 10 人);敏感度 90%(10 个病人里 9 个阳性);假阳性率 9%(990 个健康人里 89 个阳性)。问:阳性者里真正有病的比例是多少? 9 ÷ (9 + 89) ≈ 9.2%,约 10%。 不是 90%。
【隐式】同一个数,两种写法,答对率差一个数量级。Gigerenzer 团队在德国做过这组对照:给妇科医生「条件概率」版本(患病率 1%、敏感度 90%、假阳性率 9%,求 P(癌│阳性)),只有约五分之一给出正确答案,多数人答 80%–90%;换成「自然频数」版本(1000 人里 10 个病人、其中 9 个阳性;990 个健康人里 89 个阳性;98 个阳性者里几个真有病?),正确率跳到约 87%。同一批数字,同一道题。
【细微】关键不在「讲得通俗」,在【集合结构】。条件概率把同一个总体拆成三个互不相交的百分比,读者必须在脑内重建分母;自然频数把三个百分比钉在同一个 1000 人的集合上,贝叶斯更新退化成数人头——不需要公式,只需要不把同一批人算两遍。信息量一个比特没少,认知负荷降了一个数量级。这不是科普修辞,这是把运算外包给知觉。
【流程节点链路】读一份阳性报告 → 取先验(这个人群的患病率/验前概率) → 取似然(敏感度、特异度) → 把三者放到同一个总体(如 1000 人)上数人头 → 得 9/98 ≈ 10% → 输出「阳性者中约 10% 真有病」,而不是「90% 可能是癌」。少任何一个节点,结论就错一个数量级。
【极难发现】报告单的语法本身在骗人。「阳性」是形容词,形容词暗示这是样本的一个性质;但它实际是 P(病│阳性),一个依赖先验的比值。检验科只能给你似然(这台机器在这种样本上的表现),先验是临床的、是流行病学的、是这个人为什么来做这个检查的——先验不在纸上。所以「报告单说了算」这句话在结构上就不成立。
【显式】这不是学术洁癖。欧洲的筛查宣传单曾被逐份比对:多数只写相对风险(「死亡率降低 25%」),不写绝对风险;同一个 25%,换成绝对数常常是「1000 人筛 10 年,死亡人数从 4 降到 3」。相对风险可以放大任意小的绝对效应——分母越小,25% 越漂亮。
【细微】顺着这条链再走一步就到【过度诊断】。筛查可以推高「5 年生存率」而完全不延长任何人的寿命:提前发现只是把确诊日期往前挪(领先时间偏倚),外加查出一批一辈子不会惹事的病变。韩国甲状腺癌筛查后发病率涨了约 15 倍,死亡率基本没动。生存率上升是筛查的【成绩单】,不是【疗效】——这两个词在传播里被混用了几十年。
【锚点】所以科学传播在这类问题上要做的,不是「讲简单点」,是【把分母还给读者】。
值得辩论的问题:如果知情同意要求告知绝对风险,那么一份阳性报告是否也该强制附带这个人群的 PPV?该由谁算——检验科、开单的医生,还是病人自己?我倾向检验科出似然、临床出先验、报告单上并排印出来;但这会把「读报告」从接收信息变成一次联合计算,而这份计算成本,最终由谁承担?







0 Comments