贝叶斯的重病筛查案例-Precision-Accuracy-Recall

智能决策上手系列教程索引

这是一个经典的贝叶斯案例,也是很反直觉的,很多解释认为这个反直觉是因为我们的日常错误的思维习惯,但我觉得可能恰恰相反,下面我们先回顾一下这个案例,然后再进一步讨论。

案例回顾

对所有人来说某种癌症的患病率为5%,医生使用某设备为你做了检查,此设备检查的准确率为80%,检查结果显示你患有此病(阳性)。请问你真实患有此病的概率是多少?

常见解答

首先我们要理解5%和80%这两个概率是什么意思。

患病率为5%,也就是说100个普通人里面有5个人生病,如图中红色。
设备的准确率为80%,也就是说有20%会搞错,95个真实无病的人来做检查,也会有95x0.2=19个人被查出病来,同样5个有病的也只查出4个来

这么算的话,总共有4+19=23个人被查出有病,你是其中之一。而实际上真有病的可能是4/23大约是17%,所以你可以稍微放宽心一些,因为你真的患了这种癌症的可能性还不足五分之一,这就是常见解答给出的结论。

文字游戏

上面的解说看似科学完美,而且结果足够的乐观,但是不要高兴的太早。

你的乐观完全建立在对“检查准确率80%”这个说法的理解之上的,如果我把它解释成检查出100个有病,那么80个就真实有病,你还会乐观起来吗?

这简直就是纯粹文字游戏而已。

“检查准确率80%”到底怎么解?为100个人做检查,最终结果(无论真有病或真无病)有80%是正确的吗?真这么解释的话就不用买设备了,直接来问我吧,100个人来问我,我说100个人无病,那么我的准确率岂不是95%?(因为我对95个人的判断是正确的)。

在上面的常规解答中认为,80%的解释是:

  • 100个真有病的来检查,此设备能查出80个有病,20个无病;
  • 100个真无病的来检查,此设备能查出80个无病,20个有病。

对真有病和真无病的分辨能力可以控制在同一水平,是不是太巧合了?这就好像说如果100个男人中你可能错误认为其中20个是女人,那么你就一定也会把100个女人中的20个误认为是男人一样不靠谱。

一个反例

假设某种疾病,只要某个血液指标k超过500就可以断定患有这种病,真实患病者中一半的患者都k>500,而k<500的普通人中也有1/4的人可能患病,这批人占病患总数的另一半。

某设备就是根据k值进行检查的,只要k>500就判断有病,k<500就判断健康。
普通人中这种病的发病率是40%,那么100人来检查,20个被正确检查为有病,另外80人中的1/4也就是20个病患没有检测出来,60个没病的被正确判断,那么设备的“准确率”是80%。

如果这个设备也检查你并判断有病,那么你真实患病可能是多少?100%!和30%、80%完全无关。

所以,如果你已经被检查出有病,那么真实的患病可能性只和设备对于真实病患的识别能力有关,换句话说,它查出100个有病结果中实际多少人真的有病。

TP、FP、TN、FN

为了搞明白这个问题,我们要首先明确几个词语的定义,否则讨论是没有意义的。

对于设备检查病情这个事情,无外乎四种情况:

  • TP,实际有病且检查也说有病。也就是有病,而且被正确查出来了,报告上的阳性Positive是真的,即True Positive真阳性。虽然生病,但还有得治。
  • FP,实际没病但检查说有病。也就是没病,但被误诊为有病了,报告上的阳性Positive是错误的,即False Positive假阳性。这是倒霉,要浪费医药费了。
  • TN,实际没病且检查也说没病。也就是没病,检查结果也是正确的没病,报告上的阴性Negative是真的,及True Negative真阴性。皆大欢喜。
  • FN,实际有病但检查说没病。也就是有病,但被误诊为没病了,报告上的阳性Positive是错误的,即False Positive假阴性。最大悲剧,最后不知道怎么死的。

如下图所示,False开头的红色FP、FN都是误诊。


精准率Precision和准确度Accuracy

打的准和打的对是两回事,你枪枪爆头固然是打得准,但如果杀得都是自己人那就不是打的对。

直接从公式上可以看出它们的不同含义。

精确率Precision也叫查准率,或PPV(positive predictive value阳性预测值),就是你不管你从多少人中查出100个有病的,其中实际多少人真的有病,即真阳病患数TP除以所有阳性报告数量TP+FP。

准确度Accuracy就是你总共就查了100个人出了100份报告,其中有多少报告被你写对了,既包含真有病你写的也是阳性,也包含真没病你也写的是阴性,就是所有真阳和真阴TP+TN的数量占所有报告总数的比例,也就是1减误诊率。

准确度Accuracy有些时候没卵用,比如类似上面刚才举过的例子,某普通人患病率0.01%的癌症,随便弄台机器检查谁都说没病,这机器的Acc都能达到99.99%,Acc对于这种有病没病的数量比例严重失调的情况可以说毫无意义。

所以后来又发明出了平衡准确度Balanced Accuracy。

在这里,TPR是指真阳率true positive rate,也叫Recall召回率或者hit rate命中率、sensitivity敏感度,即查出的真患病人数占实际所有病患人数的比例;TNR是真阴率true negative rate,即查出的真没病人数占实际所有没病人数的比例;平衡准确度Balanced Accuracy是这两个比例的平均数。

从上面看,对于重病检查的案例,我们知道的如果是准确度Accuracy,其实没啥用。我们要的是精确率Precision,就是你查出100个有病,其中多少人实际会中招。

精确率Precision、召回率Recall和F值F-measure

再看一下上面我们在Balanceed Accuracy中提到的TPR,Recall召回率,它也叫做查全率,它表示全部生病的人里面你能查出多少个来,比如开始例子中,5个人生病,如果只查出4个,那么这个设备的召回率就是4/5等于80%。

对比下图可以帮助我们理解精确率Precision和召回率Recall的关系:


各个集合直接的关系
精确率Precision、召回率Recall

Recall查准率和Precision查全率往往有此消彼长的关系。比如开始的案例,如果我们把100人都检查为有病,那么查全率就是100%,一个不漏,但这样导致查准率变为5/100等于5%,低的可怜。反之,我们只查出5个人中的1个有病,那么查准率就是100%,查全率却只有1/5等于20%,也是低的可怜。最好的情况是查准率和查全率都是100%,5个有病的都查出来,一个不多一个也不少。

从上面我们也看出,单用查全率或者查准率都不全面,于是就出现了将两者糅合在一起的F值F-measure:


就是查准率Precision和查全率Recall的调和平均数,两数积2倍除以两数和。
由于Precision又叫PPV(positive predictive value阳性预测值),Recall又叫做
TPR(true positive rate真阳性率),所以有:

F值就是2倍真阳除以2倍真阳、假阳与假阴的和,它的分母部分看起来像这样:


另外,如果认为查准率或者查全率更重要的话,F值还可以为Precision和Recall使用不同的权重,得到更多变体。此外也有很多其他用于评估类似设备或算法质量的方法,大家有兴趣可以多关注一些。

回到开始

假阳率FPR(false positive rate)也叫fall-out,是误诊为有病的数量除以真实无病的数量(假阳性加真阴性):


最初我们的案例的下图中,由于设定了假阳率FPR也是80%,查全率Recall是80%,所以设备的查准率Precision是4/23大约是17%,F1值是(2x5)/(2x5+1+19)大约等于28%,都还是蛮低的。


总之,如果一个查准率只有17%的设备检查你患了绝症,你还是可以坚强一些再看看进一步情况,但如果一个查准率有80%的设备检查你患了绝症,那么你很可能遇到了大麻烦。

总结

  • T、F、P、N的含义
  • Accuracy、Balanced Accuracy
  • Precision、Recall、F-measure
  • 反常识的科学知识很多,但我们要认真甄别,仔细思考,因为常识是我们赖以生存的根本,不要轻易因为新奇的事情而放弃。

请注意,这里大多时候把Precision讲做查准率,但请记住它的更常用名称是精确度;Recall更科学的名字是召回率,查全率只是方便理解的说法。


智能决策上手系列教程索引

每个人的智能决策新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容