西西河

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

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

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

诊断的概率

先抛出一个问题:为提高广大人民群众的健康水平,某市政府决定筛查某非常见病例,根据以往的大数据测算,该病在人口中的罹患比例是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,澹泊敬诚,拿不准,普鲁托,敲门,审度,陈王奋起,月之回忆,菜根谭,
家园 这么好的帖子,没人敢坐沙发?

家园 试着算了一下,顺便推荐个视频

好题目.先推荐个视频.这是我看过的关于贝叶斯公式最好的视频了.

https://www.youtube.com/watch?v=lG4VkPoG3ko

真看懂了,立刻就可以知道一开始那个例子里超过9成概率(10/11)阳性结果是正常人.

100万个人,万分之一发病率,有约100个病人(真阳性).

剩下99万9千9百正常人,千分之一误诊率,有约1000个假阳性.

所以阳性结果中大约10/11的概率是正常人.

另外后面那个疫苗的例子其实是很容易了,因为接触和接种两个事件是独立的,所以这个图可以"横平竖直".原来我考虑过一种疾病,两种不同检验增加置信度的例子,同样也是三个事件,但是有病,第一种检测阳性,第二种检测阳性这三个事件都不独立,会更复杂一些.

通宝推:diamond,
家园 好文章

深入浅出,清晰透彻。本来我也该宝推一下的,只是因为近期被频繁举报,罚点甚多,没有宝推的资格了。还请钻石河友见谅。

如果此文能根据文中提出的计算方式,实际计算一下中国的疫苗——或者世界任意一款疫苗——的实际保护力,那就完美了。

====

另外建议其他一些河友,能够以此文为模范。遇到不同意见,完全可以通过讲道理的方式与对方友善交流。摆身份说大话,其实于事无补,反容易让人看穿皮袍下的怯来。

家园 我虽然不懂数学

但起码知道口径背后的定义和汉服兄的定义是两回事,这就是之前说偷换概念的由来。如果这也不算讲道理的话,那就不是道理好了。

其实之前也说过的,概率和统计是两回事,日常生活中极易混淆。我自己是把概率混淆成统计分布,一般人是把统计分布混淆成概率。

汉服兄至少在两个帖子里面是把统计分布当成概率了。这还没说口径的问题。

家园 非也非也

实际上官方公布的数据是不足以进行钻石河友要求的严谨程度的计算的。这样的计算应该是官科完成并发布的。考虑到官科实际上是人民发工资的,公布这样的数据也是他们的责任。但他们始终不肯公布这样的数据。

另外官方在号召大家去打疫苗的时候,的确是以“免感染”作为动员的理由的(官方的理由不是“你有XX%的概率不会感染”),所以人民以接种后仍然感染质询官方是合理的。

最后,关于群体免疫的问题。不管你怎么计算,病毒确实在很多接种率超过群免阈值的地方传开了。

譬如南京疫情,源头是一架俄罗斯飞机。按说飞机要打扫,不可能上去几十人吧?最多上去三五个。如果疫苗有保护力,这几个人当中也就一两人可能形成突破性感染。如果R0小于1,那么疫情在他们的保洁组内就会终结。然而事实并非如此。病毒越传越多。显然R0并不小于1。

群免已经被事实证伪。与计算方式无关。这个是没跑的。

家园 请给出证伪的定义

以及对应的数据。这才是核心。因为汉服兄一直用后面的覆盖前面的,没能保持主体一致。比如毒株、时空和口径。

家园 难得一见
全看树展主题 · 分页首页 上页
/ 1
下页 末页


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

Copyright © cchere 西西河