查看原文
其他

Points of Significance: 贝叶斯公式

NGSHotpot NGSHotpot机器深度学习生信 2022-06-07

Points of Significance: 贝叶斯公式

简介


Nature methods从2013年9月开始发表月刊Points of Significance系列,该系列主要介绍统计在生物学中的应用,让读者可以更正确的理解及使用统计。有研究发现,在医学类期刊上发表的文章中,有接近半数的统计方法的使用都是不正确的,所以Nature methods推出该系列统计文章,以实用易懂的方式来介绍统计中的一些基本概念。

前言

        学过统计或者做过数据分析,数据挖掘的人一定听说过贝叶斯,但是可能不一定都理解贝叶斯到底是怎么回事。本文将简单介绍贝叶斯理论的基本内容。为之后介绍贝叶斯相关知识打好基础,在说之前,我们先来思考三个简单的问题。

1.疾病诊断

        我们每年会到医院体检,根据体检结果来调整我们的生活,调整我们的身体,甚至到医院再进行复查。假如说在中国得某种癌症(肺癌)的比例为1%,另外99%都是正常人,也就是说每100个人中只有1个得肺癌,其他的都不得肺癌。在我们的体检指标中,有一个指标A,98%的肺癌病人的指标A会检测出来是阳性,同时也有2%的病人检测不出来。但是对于一个正常人,有3%的人会被检测出来指标A阳性。好了,某天你去体检,检测出来指标A是阳性,就问你怕不怕!


2.检察官谬误

        某城市总共有100万人,某天发生凶杀案,除了死者身上有凶手皮肤组织外,没有任何的证据。然后实验匹配结果匹配到小明与凶手皮肤匹配,而检察官平均每1000个才会有一个人符合,那么小明是凶手的概率是1000分之999。进而判定小明有罪,这样合理吗?


3.人脸识别

        前两天比较火的《谷歌研究员两万字批驳上交大用深度学习推断犯罪分子》这批文章不知道大家有没有看到,我们这里不研究里面存在的合理性、不研究伦理问题,我们都不关心,我们就关心:假如研究报道的真阳率为90%,假阳率为6%是可以重复的,不受其他各种原因影响,那么这样“好”的结论可以用来为实际判断是罪犯与否提供参考吗?(仅考虑可信程度,不考虑伦理啊,种族啊,歧视啊等其他各种因素,我们是技术类公众号!)


贝叶斯公式

        为了说明上面的问题,我们首先介绍相关的知识,然后再给出上面问题的结论。首先我们需要了解的就是今天的主角,贝叶斯公式。

1.条件概率

        首先我们需要理解条件概率,概率我们都是知道的,可以比较直观的理解为可能性,比如得病的概率,扔骰子得到1的概率等等。如果我们把得病看成事件A,那么可以将得病的概率用P(A)表示,如果将扔骰子得到1点看成事件B,那么扔骰子得到1的概率可以用P(B)表示。

         刚才我们的概率都是没有其他任何前提条件的,如果有其他前提条件的话概率就会改变,假如某人一年平均有3.65天会得病,那么他今天得病的概率P(A)是1%,那么如果我们知道另外一个事件B就是他今天一直在咳嗽,那么他得病的概率还是P(A)吗?我们定义条件概率如下:

        上面的P(A|B)就是条件概率,表示在事件B发生的时候A发生的概率。可以由事件A和事件B同时发生的概率除以事件B发生的概率得到。此时可以理解先验概率和后验概率了。


2.先验概率、后验概率

先验概率:对事件A来说,如果我们不考虑其他事件比如B的影响,事件A发生的概率P(A)就是先验概率。例如某人在观测其表现得病的概率。


后验概率:对事件A来说,如果考虑其他事件比如B发生的影响,事情A在事件B发生时候的条件概率P(A|B)为事件A发生的后验概率。例如在观测到某人咳嗽后得病的概率。


同时我们可以得到下面公式:

该公式考虑的重心放到了事件B上,上面两个公式分别可以得到:

从而得到

转换后可到

上面这个公式就是贝叶斯公式,表明事件A的后验概率P(A|B)正比于事件A的先验概率P(A)。


疾病诊断解答

        知道贝叶斯公式后,我们可以来看看在文章开头提到的疾病诊断问题了。我们需要计算某人被检测出来指标A是阳性的,那么他患病的概率为多大呢?问题再简单描述一下:

假如说在中国得某种癌症(肺癌)的比例为1%,在我们的体检指标中,有一个指标A,98%的肺癌病人的指标A会检测出来是阳性,有2%的病人检测不出来。但是对于一个正常人,也有3%的人会被检测出来指标A阳性。

        所以我们想要知道的就是在指标A阳性的时候得癌症的概率P(癌症|指标A阳性),利用贝叶斯公式可以得到

        我们知道,在所有人中有1%的人会得癌症,那么也就是说P(癌症)为1%,而得癌症的人有98%的人会被检测出来指标A阳性,所以P(指标A阳性|癌症)为98%,在所有人中,指标A阳性的概率为3%,即P(指标A阳性)为3%,根据贝叶斯公式,我们可以计算出指标A阳性然后得病的概率为:

        也就是说,虽然指标A阳性,但是该人得癌症的概率也不到三分之一。所以说还是不得癌症的概率大67.3%。所以就算检测出来指标A样本,我们也不用这么害怕,但是相对于人群的1%的得病率还是需要引起足够的重视。


检察官谬误解答

先来回顾一下问题:

某城市总共有100万人,某天发生凶杀案,除了死者身上有凶手皮肤组织外,没有任何的证据。然后实验匹配结果匹配到小明与凶手皮肤匹配,而检察官平均每1000个才会有一个人符合,那么小明是凶手的概率是1000分之999。进而判定小明有罪,这样合理吗?

        显然我们只需要计算小明犯罪的概率就可以了。由贝叶斯公式我们可以得到:

        显然,如果某人是罪犯,那么他的皮肤一定是匹配的,所以P(皮肤匹配|犯罪)为1,条件中已经告诉我们皮肤匹配上的概率P(皮肤匹配)为0.1%,下面主要是要求小明是罪犯的先验概率P(犯罪),如果没有其他任何证据的情况下,我们认为小明是罪犯的概率和该城市所有100万人的概率是一样的,那么P(犯罪)为100万分之1,所以我们可以计算

所以小明是罪犯的概率只有0.1%,微乎其微。

 

在继续说我们的第三个例子之前需要介绍一些基本的概念。

分类模型衡量

        在数据分析中,经常会遇到分类的问题,下面我们将简单介绍衡量二分类模型好坏的一些基本指标。下面的二联表以是否患病为例:

真阳性TP(True positive):

真实患病且被预测出来也患病的数量。

假阳性FP(False positive):

真实健康但是被预测出来患病的数量。

假阴性FN(False negative):

真实患病但是被预测出来不患病的数量。

真阴性TN(True negative):

真实健康且被预测出来也是健康的数量。

 

有了这几个标准,定义以下常用的衡量模型的指标:

真阳性率TPR(True positive rate):

真阳性样本数量与所有真实患者数量的比值,即

假阳性率FPR(False positive rate):

假阳性的样本数量与所有真实健康的数量的比值,即

        还有比较常见的如准备度Accuracy,假发现率FDR等等,本文主要介绍上面两个指标。

模型评价

        举两个简单的例子来说明贝叶斯在模型评价方面的应用。

        如上面的图所示,假如有一种检测方式,使用方案A可以较为准确的检测出病人来,真阳性率为90%,假阳性率为10%,那么我们来看看在不同比例的病人情况下会有什么样的影响。

Case 1中,真实患病的人数为10%,健康人数为90%,如果某人用方案A被检测出来患病,那么他真实患病的概率为多少呢?

        有题目中条件真阳性率为90%,所以P(被检测患病|真实患病)为90%,真实患病人数为10%,所以P(真实患病)为10%,那么被检测出来患病的概率为多少呢?显然包括两个部分,一是真实患病被检测出来患病的真阳性,二是健康人被检测出来患病的患病的假阳性,这里为10%*90% + 90% * 10% = 18%。所以其真实患病概率为

        只有一半的正确率。也就是说,如果检测出来100人患病,那么只有约50%是真的患病。

对于Case 2来说,我们通过相同的方法可以计算

此时检测正确率就真的可以达到90%了。

预测罪犯问题解答

问题重述:

前两天比较火的《谷歌研究员两万字批驳上交大用深度学习推断犯罪分子》这批文章不知道大家有没有看到,我们这里不研究里面存在的合理性、不研究伦理问题,我们都不关心,我们就关心:假如研究报道的真阳率为90%,假阳率为6%是可以重复的,不受其他各种原因影响,那么这样“好”的结论可以用来为实际判断是罪犯与否提供参考吗?

        对于这个问题,我们首先需要理解数据背后的真实结果。研究者所用的数据含有大量的罪犯样本,总共1856人,其中730人已知的罪犯,罪犯比例远远高于社会中真实罪犯比例。若是我们将这个精度的预测模型用到真实人群中,预测准确度有多少呢?

        同样的使用贝叶斯公式我们计算如果被预测是罪犯,那么他真实是罪犯的概率:

        根据上面描述知道P(被检测罪犯|真实罪犯)为90%,真实社会中的罪犯比例是很低的,我们假如为1%,那么P(真实罪犯)为1%。被检测出来是罪犯包括真阳性和假阳性的部分,计算为1%*90% + 99%*6% = 6.84%,所以由贝叶斯公式

也就是说,如果一个人被判定为罪犯,那么只有13.2%的概率是正确的,这样大小的概率是否真的有用呢?

总结

        说了这么多,大家应该对贝叶斯公式有比较深入的了解了。当然这些知识基本在任何一本统计入门书籍里面都有提到,大家也可以去查看。希望本文能帮助大家更加深入的理解贝叶斯公式,通过贝叶斯公式去透析生活中的现象,也通过贝叶斯公式理解各个paper中的预测模型到底好不好,可以不可以实际的应用!

参考文献

  1. 某一本统计书

  2. 维基百科词条:贝叶斯定理,上面有三个例子,大家可以自行看看

  3. 《谷歌研究员两万字批驳上交大用深度学习推断犯罪分子》本文中的第三个问题中的真阳性90%,假阳性10%的数据来源。

 

声明:上述内容为NGSHotpot读文献整理写出,若有遗漏或错误,感谢您指出。

若有任何意见、建议、或对上述内容有疑问请发送邮件到:ngshotpot@126.com

扫描或识别下方二维码关注NGSHotpot

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存