张天蓉博主博文中提到的一个概率问题引发了科学网博客上关于贝叶斯定理的大讨论,精彩纷呈,妙趣横生,让观者如痴如醉。

张天蓉:基本比率谬误(base rate fallacy) 查看详细>>

先看一个生活中的例子。

王宏去医院作验血实验,检查他患上了X疾病的可能性,其结果居然为阳性,把他吓了一大跳,赶忙到网上查询。网上的资料说,实验总是有误差的,这种实验有“百分之一的假阳性率和百分之一的假阴性率”。这句话的意思是说,在得病的人中做实验,有1%的人是假阳性,99%的人是真阳性。而在未得病的人中做实验,有1%的人是假阴性,99%的人是真阴性。于是,王宏根据这种解释,估计他自己得了X疾病的可能性(即概率)为99%。王宏想,既然只有百分之一的假阳性率,那么,百分之九十九都是真阳性,那我已被感染X病的概率便应该是99%。

可是,医生却告诉他,他被感染的概率只有0.09左右。这是怎么回事呢?王宏的思路误区在哪里?

医生说:“百分之九十九?哪有那么大的感染几率啊。99%是测试的准确性,不是你得病的概率。你忘了一件事:这种X疾病的正常比例是不大的,1000个人中只有一个人有X病。”

医生的计算方法是这样的:因为测试的误报率是1%,1000个人将有10个被报为“假阳性”,而根据X病在人口中的比例(1/1000=0.1%),真阳性只有1个。所以,大约11个测试为阳性的人中只有一个是真阳性(有病)的,因此,王宏被感染的几率是大约1/11,即0.09(9%)。

王宏想来想去仍感糊涂,但这件事激发了王宏去重温他之前学过的概率论。经过反复阅读,再思考琢磨医生的算法之后,他明白了自己是犯了那种叫做“基本比率谬误”的错误,即忘记使用“X病在人口中的基本比例(1/1000)这个事实。

谈到基本比率谬误,我们最好是先从概率论中著名的贝叶斯定理【1】说起。托马斯·贝叶斯(ThomasBayes ,1701年–1761年)是英国统计学家,曾经是个牧师。贝叶斯定理是他对概率论和统计学作出的最大贡献,是当今人工智能中常用的机器学习之基础框架,它的思想之深刻远出一般人所能认知,也许贝叶斯自己生前对此也认识不足。因为如此重要的成果,他生前却并未发表,是他死后的1763年,才由朋友发表的。本篇将对贝叶斯定理稍作介绍,我们在本系列的后几篇,将讨论贝叶斯学派以及贝叶斯理论在人工智能中的应用。

初略地说,贝叶斯定理涉及到两个随机变量A和B的相互影响,如果用一句话来概括,这个定理说的是:利用B带来的新信息,应如何修改B不存在时A的“先验概率”P(A),从而得到B存在时的“条件概率”P(A|B),或称后验概率,如果写成公式便是:

这儿“先验后验”的定义是一种“约定俗成”,是相对的。比如说也可以将A、B反过来叙述,即如何从B的“先验概率”P(B),得到B的“条件概率”P(B|A),见图中虚线所指。

不要害怕公式,通过例子,我们能慢慢理解它。例如,对前面王宏看病的例子,随机变量A表示“王宏得X病”;随机变量B表示“王宏检查结果”。先验概率P(A)指的是王宏没有检查结果时得X病的概率(即X病在公众的基本概率0.1%),而条件概率(或后验概率)P(A|B)指的是王宏“检查结果为阳性”的条件下得X病的概率(9%)。如何从基本概率修正到后验概率的?待会儿再解释。

贝叶斯定理是18世纪的产物,200来年用得好好的,不想在20世纪70年代遇到了挑战,该挑战来自于卡尼曼和特维尔斯基(Tversky)提出的“基础概率谬误”(Base-RateFallacy)。丹尼尔·卡尼曼(Daniel Kahneman,1934年-)是以色列裔美国心理学家,2002年诺贝尔经济学奖得主。基础概率谬误并不是否定贝叶斯定理,而是探讨一个使人困惑的问题:为什么人的直觉经常与贝叶斯公式计算的结果相违背?如同刚才的例子所示,人们在使用直觉的时候经常会忽略基础概率。卡尼曼等在他的文章《思考,快与慢》中举了一个出租车的例子来启发人们思考这个影响人们“决策”的原因。我们不想在这儿深谈基础概率谬误对“决策理论”的意义,只是借用此例来加深对贝叶斯公式的理解:

某城市有两种颜色的出租车:蓝和绿(市场比率15:85)。一辆出租车夜间肇事后逃逸,但还好当时有一位目击证人,这位目击者认定肇事的出租车是蓝色的。但是,他“目击的可信度”如何呢?公安人员经过在相同环境下对该目击者进行“蓝绿”测试而得到:80%的情况下识别正确,20%的情况不正确。也许有读者立刻就得出了结论:肇事之车是蓝色的几率应该是80%吧。如果你作此回答,你便是犯了与上面例子中王宏同样的错误,忽略了先验概率,没有考虑在这个城市中“蓝绿”车的基本比例。

那么,肇事之车是蓝色的(条件)几率到底应该是多少呢?贝叶斯公式能给出正确的答案。首先我们必须考虑蓝绿出租车的基本比例(15: 85)。也就是说,在没有目击证人的情况下,肇事之车是蓝色的几率只有15%,这是“A=蓝车肇事”的先验概率P(A)= 15%。现在,有了一位目击者,便改变了事件A出现的概率。目击者看到车是“蓝”色的。不过,他的目击能力也要打折扣,只有80%的准确率,即也是一个随机事件(记为B)。我们的问题是要求出在有该目击证人“看到蓝车”的条件下肇事车“真正是蓝色”的概率,即条件概率P(A|B)。后者应该大于先验概率15%,因为目击者看到“蓝车”。如何修正先验概率?为此需要计算P(B|A)和P(B)。

因为A=车为蓝色、B=目击蓝色,所以P(B|A)是在“车为蓝色”的条件下“目击蓝色”的概率,即P(B|A)=80%。最后还要算先验概率P(B),它的计算麻烦一点。P(B)指的是目击证人看到一辆车为蓝色的概率,等于两种情况的概率相加:一种是车为蓝,辨认也正确;另一种是车为绿,错看成蓝。所以:

P(B) = 15%×80% + 85%×20% = 29%

从贝叶斯公式:

可以算出在有目击证人情况下肇事车辆是蓝色的几率=41%,同时也可求得肇事车辆是绿车的概率为59%。被修正后的“肇事车辆为蓝色”的条件概率41%大于先验概率15%很多,但是仍然小于肇事车可能为绿的概率0.59。对王宏测试X病的例子,读者可以参考这儿的方法,不难得出正确的答案,作者就不再赘述了。

高山:有关科学网一篇概率问题的再讨论 查看详细>>

我认为作者的计算也是错误的,贝叶斯的观念,简单来说,就是用观察的数据来修正先验概率,以得到后验概率,但是数据必须大,而且无偏,一两次修正,基本概率变化不大。

贝叶斯修正得到的后验概率应该是针对人群的,也就是对P(A)进行修正,对于王宏这个人,不是能用贝叶斯概率修正的,具体的公式推导我就不写了。【全文阅读】

首先我引用一下我自己博士论文的两张图,给大家解释一下他的错误

我们把预测当做诊断是否阳性,对应模糊矩阵的行

真实当作王某是否得病,对应模糊矩阵的列

A是王某得病,这样模糊矩阵的列就是-A,A

B是检测为阳性,这样模糊矩阵的行就是-B,B

P(A/B)就是检测为阳性,王某确实得病,也就是99%,对应一下我图里面的Sp(+)

P(B/A)就是王某确实得病,检测为阳性,这个叫正样本的灵敏度,Sn(+),我讲了在医学检测中

灵敏度比特异度更重要,起码不小于90%,否则大部分漏掉,后果比假阳性更严重【全文阅读】

更多讨论:深入探讨上次概率问题错误的根源 

文克玲:关于真实得病概率问题 查看详细>>

原文中的问题是,如果X=B=99,王宏检验结果是阳性,问王宏是真正有病(金标准病人)的概率是多少?

我们知道X,B,是对正问题有了确定的答案,我们对测试方法的性能有完全的了解。现在要解决的是逆问题,如果我们知道结果,我们能知道输入参数(有病,无病)的概率分布吗?

“常识”告诉王宏,他真正有病的概率就是X%(=99%)。

可是张天蓉介绍的概率论告诉我们,在这里“常识”不成立。要知道王宏真正有病的概率,我们还需要一个不可缺少的参数:人群中真正的病人的比率C。原文中假定C=0.1% 。

按照所给的参数,对100000个人进行筛查。其中有100个真正的病人,会报告99例阳性。其余的99900非病人,由于1%的误报率,会报告999例阳性。最终结果是,在99+999例阳性报告中,只有99个真正的病人。

王宏真正有病的概率,确实就是9% 。【全文阅读】

陆绮:形象思维是个好东西——再谈概率题 查看详细>>

年度体检的时候,你不幸被诊断为某病.如果诊断检验的正确率为99%,是不是你侥幸没有得这个病的可能只有1%?

其实认真分析一下,你健康的可能要比这个大得多.

请看示意图,为了进行讨论诊断正确率始终1%,不论具体得病率。得病为大红色,健康为蓝色,诊断结果为阳性有病的是粉红色。在根据总体真实患病数据后,计算而得的诊断结果为阳性的真实患病率就是

%=粉红色大红色重叠部分/全部粉红色

因此真实患病率确实取决于患病人群的大小和检验准确率。这个图大概幼儿园的小孩子也能看得懂,结果一群博士博导吵翻了天。【全文阅读】

刘学武:从贝叶斯公式看精准医疗中的癌症预防 查看详细>>

我们举一个现实的例子来说明这个问题:

我们之前听说,好莱坞影星安吉丽娜朱莉通过《纽约时报》向大家揭露了她惨痛的经历。因携带有BRCA1/2致癌基因,她有87%的机会患上乳腺癌(我们假设5年)。为了防患于未然,她决定切除双乳(确切说是切除双侧乳腺)。美国乳腺癌的发病率为246,680/104,442,302=0.236%(每年每1000成年妇女中有2.36个人患上癌症。我们把预防癌症定位为5年不得癌症。

A:普通妇女5年癌症得病;

B:BRCA1/2致癌基因阳性;

P(A):普通妇女人群5年患癌概率1.18%;

P(B|A):乳腺癌病人中BRCA1/2致癌基因阳性检测率87%;

P(A|B):有阳性结果的条件下,安吉丽娜朱莉5年内患癌概率;

P(B):结果为阳性的总可能性=检查阳性中的真阳性+检查阴性中的真阳性。

通过贝叶斯公式,P(A|B)= P(B|A)×P(A)/ P(B)=87%×1.18%/(87%×1.18%+13%×98.2%)=7.4%。

安吉丽娜朱莉认为自己有87%的概率罹患癌症(我们假定为5年内),但是实际上她5年患上癌症的概率只有7.4%,这个概率高不高?显然相对于普通人群是高很多,但是我们要知道,如果人或的足够长,患癌的概率高达40-50%。因此安吉丽娜朱莉的患癌特别是乳腺癌的几率并没有她的医生认为的那么高(87%)。【全文阅读】

岳东晓:概率问题贝叶斯定理推导与误区 查看详细>>
我们考虑:一个人有X病 (A)并且检测结果为 X阳性 (B)的概率。 我们可以想象将所有人全部进行X检测,并且进行 X 诊断,而考虑检测为阳性、并且诊断为有X的比例。
 
有两种计算方法。
 
一是:有X病,然后去检测为阳性。概率是有病的概率 P(A)乘以这个检查的准确概率 P(B|A): P(A) * P (B|A) 。P(B|A) 是确实有X病然后测出 X 阳性的概率。
 
二是:检查X为阳性,然后被确诊为有X病的概率。概率是 P(B)* P(A|B)。这里 P(A|B) 是测出X阳性而确实有X病的概率。【全文阅读】

 

袁贤讯:概率的红旗依然飘扬——兼议近期贝叶斯的讨论 查看详细>>

现代定量风险分析可谓奠基人之一的Stanley Kaplan曾经说过,风险交流的两个基本定理是:

Theorem 1: 50% of the problems in the world result from people using the same words with different meanings.

Theorem 2: The other 50% comes from people using different words with the same meaning.

诚哉斯言!贝叶斯方法讲的是什么?它讲的是在不完全信息下的归纳逻辑。

大家比较熟悉的逻辑是: 如果命题“A则B”成立, 那么其逆否命题“非B则非A”亦成立。这里的“成立”是说100%概率。因此,那是一种确定性逻辑。

在现实生活中,我们没有百分百的把握。托马斯-贝叶斯的伟大之处在于,他将命题的不确定性引进来,再看答案如何。用数学的语言描述就是:

假设 Pr(A|B) = p. 那么Pr(B|A) = ?

用一个具体的例子来说明这个问题。某医疗检测技术针对爱滋病的确诊率为99.99%。某君G检测为阳性,请问G君患爱滋病的概率是多少?

为了讨论的方便,令A = 爱滋病,B=检测结果显示阳性。为了避免定理一、二中所描述的错误,让我们定义确诊率为Pr(B | A)。

问题再问一遍: 已知Pr(A|B) = 99.99%,Pr(B|A) = 99.99%吗?

好,启发式教学到此为止,剩下的都是历史,The rest is history. 有兴趣的读者可以再看有关贝叶斯的一道补充习题还有更早写的如何理解贝叶斯【全文阅读】

徐晓:简说一道概率题的问题 查看详细>>

 

在假设检验理论中,概言之,我们是针对某个假设而制定检测实验的,如果这个实验结果支持假设,我们就说这个这个实验结果是阳性的;不支持,就说检测结果是阴性的。我们用一种仪器去检测某人是否有某种病,那么我们用的假设就是“某人有某种病”,如果仪器检出来的各项指标综合起来支持某人患有某种病的假设,我们就说检测结果呈阳性,否则就说检测结果呈阴性。
 
因此上面题目首先就把“阳性”和“阴性”的概念搞错了。对于有病的人,如果检测结果呈阳性,那么这个检测结果就是真阳性;如果检测结果呈阴性,那么这个检测结果就是假阴性。对于没病的人,如果检测结果呈阳性,那么这个结果就是假阳性;如果检测结果呈阴性,那么这个结果就是真阴性。
 
为了使这些概念清楚,我用一个表来展示(即高山说的“模糊矩阵”(confusion matrix),实际上应该翻译为混淆矩阵。模糊矩阵(fuzzy matrix)是模糊数学用的,不是这个矩阵):
 
  人有病 人无病
检测结果呈阳性 真阳性 假阳性
检测结果呈阴性
假阴性
真阴性
所以对于有病的人,我们谈的是真阳性和假阴性,而不是真阳性和假阳性;对于无病的人,我们谈的是假阳性和真阴性,而不是假阴性和真阴性。所以,这一点,题目完全说错了。
 
而综合这个题目的上下文,其正确的对应数据如下表:
 
  人有病 人无病
检测结果呈阳性
真阳性99%
假阳性1%
检测结果呈阴性
假阴性1%
真阴性99%

 

应行仁:预测混淆与贝叶斯公式 查看详细>>

但是高同学咭言,从检查结果得到患病概率不必用贝叶斯公式计算,直接从混淆矩阵统计就可得出,这个知识点被大家忽略了。这既怪他理解模糊,也怪围殴者把混淆打成了糊涂,其实这矩阵表达的是辨识混淆的状态分布,是可以直接从中得到王宏得病概率的。

自从1998年Ron Kohavi和FosterProvost用混淆矩阵(confusion matrix)来说明预测误差与分类辨识的关系,得以厘清识别训练追求的目标,它已成为机器学习以及数据科学的基本知识。以此来解释各种误差指标和预测的效用,远比通过概率和贝叶斯公式来得直观清晰。下面普及混淆矩阵这个知识点,不从主观概率角度,只用统计比例来谈王宏患病的可能性。【全文阅读】