我最近连续从几本书中看到同样的概率典故,不得不把它写下来。人的直觉是一个非常强大的武器,在很多情况下可以帮我们不需要精密计算就能做出正确的判断。但是在人的众多直觉能力之中,不包括概率。下面我说说这个典故。
现代技术检测 HIV 病毒的准确度已经到了惊人的程度。如果一个人真是 HIV 阳性,血液检测的手段有 99.9% 的准确率,也就是说有 99.9% 的可能性把他这个阳性给检查出来而不漏网。如果一个人不携带 HIV,那么检测手段的精度更高,达到99.99% – 也就是说有 99.99% 的可能性不会冤枉他。
现在假设我们随便在街头找一个人给他做检查,发现检测结果是 HIV 阳性,那么请问这个人真有 HIV 的可能性是多大呢?
在你回答之前,我要提供一点背景资料。德国马普研究所的心理学家曾经拿这道题考了好几百人,包括学生,数学家和医生。结果 95% 的大学生和 40% 的医生(这些医生实际上都受过这方面的专门训练)都给出了错误的答案。
如果你真懂概率,你会想到要使用贝叶斯定理,然后你会发现这道题还缺少一个关键信息:那就是一般人感染 HIV 的概率。现在已知一般人感染 HIV 的概率是 0.01%,也就是说一万个人中才有一个人感染这种病毒。根据以上信息,这位不幸被检测为 HIV 感染者的朋友真有 HIV 的可能性是多少呢?
正确答案是 50%。
我先说贝叶斯定理的算法,然后再给一个更直观的解释。贝叶斯定理说的就是条件概率。如果我们用 A 表示 “真有 HIV”,B 表示 “检测出 HIV”,那么我们要计算的是 P(A|B)。 已知 P(A) = 0.01%, P(B|A)=99.9%。
P(B) 需要计算一下,它等于 0.01% x 99.9% [也就是有 HIV 而被查出来的]+ 99.99% x 0.01% [也就是没有 HIV 但被冤枉的]。
贝叶斯定理说,P(A|B) = P(B|A) x P(A) / P(B),计算结果等于 0.5.
直观的解释是这样的。假设我们随机地找一万个人来做实验。根据 HIV 病毒的分布,这一万人中应该只有一个人是真有 HIV 的。而由于我们的检测手段很强,这个人会被检测出来。但剩下的9999人都没有 HIV,可是我们对没有 HIV 的人的检测精度是 99.99%,也就是说有万分之一的可能性会冤枉好人。这样一来,我们的检测手段还会在9999人中冤枉一个人。
本来只有一人有 HIV,可是我们却检测出来两人。所以如果一个人被检测出 HIV 来,他真有 HIV 的可能性其实只有 50%。
从根本上说,造成这种局面的原因在于 HIV 其实是一种罕见的病毒,只有万分之一的感染者。在这种情况下即使你的检测手段再高,也很有可能会冤枉人。下面再给一道例题:
1%的妇女有乳房癌(简称为C);80% 的有乳房癌的妇女会在乳房 x 射线照相检验 (mammographies, 简称M)中成阳性;10%的没有乳房癌的妇女也会检测到M阳性。现在有一个妇女检测到了M阳性,请问她患有乳房癌的概率是多少?
答案:P(C)=0.01; P(M|C)=0.8; P(M)=0.8*0.01+0.1*0.99=0.107,所以
P(C|M)=P(M|C) P(C)/P(M)=8/107.
这是一个出乎意料的小数。
如果一个疾病比较罕见,那么你就不应该对阳性诊断特别有信心。
由此我联想到当初文革期间的“抓特务”行动。“特务”这个工作的要求,其实贵在精而不在多,再说国民党也没那么多钱养,真正的特务其实是很少的。如果我们看到一个人长得像特务,说话走路也像特务,我们有多大把握说他就是特务呢?上面的两个概率例题告诉我们,“误诊率”可以相当高。“抓特务”,最好的办法是冒出来一个抓一个,最可怕的办法是搞“人人过关”。如果你搞“人人过关”,必然是一大堆冤假错案!
这就是概率。哪怕你的初衷再好,你也会犯错!
–
本文第一个例子来自 The Social Atom 一书。
第二个例子来自 Super Crunchers 一书。
另外好像 The Drunkard’s Walk 这本书里也有一个类似的例子。
别人一而再,再而三地强调,我们岂可不知呼。
冤假错案的数学原理
同人于野
(10,596 views)
-------
#1 by Darren on 10月 22, 2009 - 9:53 上午
Quote
你每天都花很长时间读书吗?
#2 by 同人于野 on 10月 24, 2009 - 1:35 下午
Quote
做不到每天都读,但我尽量多读。其实在公共汽车上听 audio book 是个好办法。
#3 by Leo on 11月 1, 2009 - 11:05 下午
Quote
博主看的英文书很多啊~貌似基本不看中文的咧
#4 by 同人于野 on 11月 3, 2009 - 3:23 下午
Quote
谁说不看,有很多我想看的中文书,只是从国内运过来很麻烦!
#5 by 感谢驴友分享 on 1月 26, 2010 - 3:28 下午
Quote
这个表述应该是错的吧?
“也就是说有 99.9% 的可能性把他这个阳性给检查出来而不漏网。”
改为“也就是说有 99.9% 的可能性把他患HIV给检查出来而不漏网。”
#6 by 博主有才 on 2月 1, 2010 - 9:15 下午
Quote
概率论课上学过,先验后验概率的问题
Pingback: [转]冤假错案的数学原理 | 嗫嗫吆唤
#7 by angela on 4月 7, 2010 - 11:14 上午
Quote
en, 对面试帮助很大!
#8 by 小僧 on 12月 14, 2010 - 12:25 下午
Quote
0.5是约等于吧
#9 by Maigo on 12月 17, 2010 - 8:29 上午
Quote
确实是约等于。
#10 by 天天 on 5月 7, 2011 - 9:42 下午
Quote
不错,但是犯了一个致命的错误
对于十万个人来说,十个犯病,九万九千九百九十个人没犯病
但是通常只有九个犯病的会去做测验,九十个没病的会去做测验(这个数据我猜的真实的不知道)所以应该是,即使最多有九千个人去做,九有百分之九十的概率是有犯的,数学计算是没错,只是应用到实际要注意一些实际情况
#11 by Janese on 7月 10, 2011 - 1:33 上午
Quote
Always the best content from these prdogiious writers.
Pingback: 8周刊[第268期] | 8周刊
Pingback: [一周八卦]2013-04-07 | 猛禽的河蟹8挂
#12 by 阿舟 on 5月 25, 2013 - 12:52 下午
Quote
小吐槽,最后一个字是不是应该是‘乎’……
#13 by qwreqwrewer on 7月 15, 2013 - 8:06 上午
Quote
文革里的抓特务是各造反派为了自己的“政绩”,扩大势力,以及打击另一派而进行的,其实他们才不管被打的是不是真正的特务呢。
#14 by qwreqwrewer on 7月 15, 2013 - 8:14 上午
Quote
所以文革时的冤案可不是概率问题,而是系统性偏差。
#15 by Vanja on 9月 11, 2014 - 6:01 上午
Quote
算法好像有问题。如果血液检测的手段有100% 的准确率,按照这个算法还是只有大约50%的可能性带有HIV。
#16 by Vanja on 9月 15, 2014 - 5:43 上午
Quote
不好意思,我搞错了。