五千年(敝帚自珍)

主题:【原创】乱谈医疗中的概率问题 -- diamond

共:💬9 🌺102
全看分页树展 · 主题
家园 【原创】乱谈医疗中的概率问题

概率问题是我们日常就会遇到的,看上去很简单,不需要什么高深的数学工具,四则运算就足以应付了,无论是摇色子还是买彩票,凭直觉人人都会算。其实并非如此。前一阵子讨论了几个概率问题,男孩问题也好,三门问题也好,都是在网上被反复争论,却从未平息过的,可见简单的表象背后,有些概率问题并非那么容易就能搞清楚,有的甚至是非常反直觉的。这些问题作为网上的谈资,大可一笑置之,但有些概率问题,特别是医疗中的概率问题,和我们每个人的切身利益息息相关,还是有必要搞搞清楚的。

诊断的概率

先抛出一个问题:为提高广大人民群众的健康水平,某市政府决定筛查某非常见病例,根据以往的大数据测算,该病在人口中的罹患比例是0.01%,即万分之一。鉴于该市的总人口达100万之多,相关医疗机构为此专门研发出了高精度且低成本的检测手段,其漏诊率为0%,也就是说,在任何情况下都不会漏过一个患者;与此同时,其误诊率是0.1%,也就是说,99.9%的情况下不会把健康者搞错成患者。全民筛查过后,某市民不幸收到了阳性的检测结果。在这种情况下,请问该市民身体健康的几率是多少?

友情提醒,上面这段话的表述中存在误导之处,语句本身完全无误,但是做了刻意的处理,否则怎么能引起读者的论战——划掉——兴趣呢。

让我们把问题暂时放下,先来看看概率本身。概就是大概、可能,率就是比例、比率,概率就是可能发生的事件数在所有事件数中的比例,无非是前者做分子、后者做分母,两个数相除就得到概率了。

具体到医疗问题,就诊者无外乎两种可能,患病或者健康,所谓患病率就是患者在总人数中的占比,分子是患者数,分母是全体人数,可以用下图中的阴影面积比例来表示:

点看全图

而在诊断存在的正确和出错两种可能性,和就诊者的健康与否两两组合,就会产生4种情况:

1, 患病者的诊断结果为阳性,即真阳性,这种情况称为确诊

2, 患病者的诊断结果为阴性,即假阴性,这种情况称为漏诊

3, 健康者的诊断结果为阴性,即真阴性,这种情况称为正常

4, 健康者的诊断结果为阳性,即假阳性,这种情况称为误诊

可以用下图来表示:

点看全图

和之前的图相比,从这张图中很容易看出另外两个比例关系,或者另外两个概率:漏诊率和误诊率。漏诊率就是被诊断为健康(阴性)的患者在总患者中的占比。误诊率则是被诊断为患病(阳性)的健康者在总健康者中的占比。一般来说,这两个比率并不相等,而且是互斥的关系。在诊断技术水平不变的前提下,如果放宽诊断标准,可以降低漏诊率,但会提高误诊率;反之则可以降低误诊率,但会提高漏诊率。只有从根本上提高诊断技术,才有可能同时降低这两种错误率。

说到这里,此前那个问题的答案也就呼之欲出了。所以该市民身体健康的几率究竟是多少呢,换句话说,这个比例的分子和分母分别是图中的哪块面积呢,也就无需赘言了。另外,利用这张图,我们不难得出另外一个概率:这位市民拿到阴性结果、其实却是病患的可能性有多大,试问是不是真的可以高枕无忧了呢,有兴趣的话不妨算算看。

后面这两种概率,不妨分别称之为“假患病率”和“假健康率”。在现实中,假患病率常被混淆为误诊率,假健康率常被混淆为漏诊率,就其错误根源,在于搞错了分母。以误诊率为例,真正的误诊率是误诊人数除以健康人数,假阳/(假阳+真阴),表示的是健康者被误作患病者的概率。而虚假的误诊率,也就是假患病率,则是误诊人数除以真假阳性人数之和,假阳/(假阳+真阳),表示的却是无论真假、被所有诊断为患者的人中健康者的比例。这两个数字的具体数值取决于患病的先验概率,把前面题目中的数据代入计算就可以看出,二者可能相差极大,以至于达到完全违反直觉的程度。

在现实中就有过这样的事情。某法院在某关于尘肺病诊断的判决中,将假患病率认作为误诊率,得出一个超出常理的数值,当作了医生有罪的证据。整个案子的是非曲直姑且不论,单说这种算法,其结果在概率意义上是不成立的。

疫苗的概率

用同样的方法,我们可以讨论疫苗的概率问题。

先进行分类。首先,按照是否接种疫苗,人群可以分为已接种和未接种两类;其次,按照是否接触病毒,又可以分成有接触和无接触两类;最后,按照是否患病,可以分成患病者(包括无症状)和健康者两类。于是综合起来共有8种情况。考虑到无论接种与否,不接触病毒就不可能患病,可以排除已接种无接触患病和未接种无接触患病的情况,余下的6种情况分别是:

1, 未接种、无接触、健康,不打疫苗躲过病毒的,称为幸运者

2, 已接种、无接触、健康,身带疫苗构成免疫屏障,称为群体免疫者

3, 未接种、有接触、健康,不打疫苗也不怕病毒的,称为天然免疫者

4, 未接种、有接触、患病,没有疫苗却被病毒感染,称为不幸者

5, 已接种、有接触、患病,打了疫苗还是得病的,称为免疫失效者

6, 已接种、有接触、健康,被疫苗保护免于感染的,称为免疫有效者

可以用下图来表示:

点看全图

基于前面的分析,从图中不难看出,疫苗接种率就是长横线的分割比例,病毒接触率就是竖线的分割比例。和误诊、漏诊的情况略有不同的是,由于接种与否只影响接触病毒后的患病率,并不影响和病毒发生接触的可能性,所以未接种者和已接种者的病毒接触率是相等的。于是,这两条线一横一竖把全体人群分成4个格子,右边的2个按照是否患病再次划分,又各自形成2个格子,右下的两个对应情况5和情况6,情况6在其中所占的比例即为疫苗保护率。同理,情况3在右上角的大格子中的比例就是天然免疫率。

需要指出的是,由于遗传多样性,人群存在天然免疫者,这部分人如果打了疫苗,会受到双重保护,但在实际统计中无法区分究竟是哪个起到的作用,如果说共同作用的话也很难计算各自的份额,姑且全部计入情况6,不再额外细分。这在计算疫苗保护率的时候可能会引发歧义,就不做展开讨论了。

概率理论非常简单,但实际计算并不容易。在这几个概率之中,疫苗接种率无疑是可以精确得出的,总患病率=情况4+情况5,也是如此,我们当然准确地知道患者中谁是打了疫苗以及谁没打过疫苗。但天然免疫率却是难于计算的,这是因为对情况3而言,除非731式的实验,我们无法从未接种的健康人群中精确分辨出谁接触过病毒,只能得到情况1+情况3的总和。同理,免疫有效率也是难于计算的,因为情况2和情况6不容易分开。

当然,我们总有各种近似的和变通的办法去估算这些数字。不过这样一来,各种误差自然是在所难免的,其结果还和不同人种之间的遗传差异有关,而且和病毒感染比例的先验概率也有关系。所以无论中外,同样的疫苗在不同的国家和地区会得出不同的保护率,有时数值差异还相当之大。但无论怎么近似,在计算疫苗保护率时,不能按患者中的接种比例来计算,这相当于拿假患病率当误诊率,结果会很离谱。

一点感想

概率计算可以说很简单,特别是古典概率问题,分子除以分母即可,但也可以说很困难,难就难在找出谁是分子谁是分母。

通宝推:领班军机,侧翼,三笑,PCB,桥上,尖石,empire2007,唐家山,strain2,澹泊敬诚,拿不准,普鲁托,敲门,审度,陈王奋起,月之回忆,菜根谭,
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河