niuneat的个人博客分享 http://blog.sciencenet.cn/u/niuneat

博文

[转载]如何判断和正确评价疾病模型预测的精准性?

已有 172 次阅读 2025-3-13 11:16 |系统分类:科普集锦|文章来源:转载

0封面.png

目前随着高通量测序,微生物以及代谢、蛋白组学和高精度影像学等快速的发展,有关人体疾病健康相关的海量数据正在不断产生,依托各种算法尤其AI的算法等,涌现出很多优秀的“模型”用于预测人体疾病以及健康相关的辅助诊断或筛查

谷禾在人体肠道菌群检测领域深耕多年,积累了大量肠道菌群和个体健康信息数据,并运用建模方法结合人工智能等算法构建了多种疾病和营养预测模型

对于不是从事专业的人员或大众来说,什么样的预测模型是准确的?如何评价一个模型的好坏?里面涉及比较多的概念和知识,今天谷禾和大家简单聊下这方面的内容。

首先大家评估下:

对于肿瘤筛查,以一个人群发病率1%的肿瘤为例:

模型A的检出率50%,假阳性为1%

模型B的检出率为90%,但是假阳性是10%

请问哪个检测模型作为肿瘤筛查类产品更好 ?

换句话说就是回答:“鉴于测试结果为阳性,该患者患有这种疾病的可能性有多大?

为了回答上面问题,我们需要了解和正确认识以下模型评价参数/指标:

• 该测试的阳性预测值(PPV)是多少?——返回阳性结果的人实际上患有疾病的概率是多少?

• 该测试的阴性预测值(NPV)是多少? ——返回阴性结果的人实际上是健康的概率是多少?

• 测试的灵敏度如何?——它正确地将多少个患病个体识别为患病?

• 测试的特异性是什么?——它正确地将多少个健康个体识别为健康个体?

阳性预测值(PPV)

要回答这个问题,我们需要计算两个模型的阳性预测值(Positive Predictive Value, PPV)。然后一步步分析:

▸ 什么是阳性预测值(PPV)?

阳性预测值(PPV)是样本检测阳性为真阳性的概率值。

发病率较低时的阳性预测值(PPV)

模型A

人群发病率:1%

检出率:50%

假阳性率:1%

模型B

人群发病率:1%

检出率:90%

假阳性率:10%

接下来使用贝叶斯定理来计算每个模型的阳性预测值

对于模型A:

真阳性率 = 1% × 50% = 0.5%

假阳性率 = 99% × 1% = 0.99%

总阳性结果 = 真阳性 + 假阳性 = 0.5% + 0.99% = 1.49%

阳性预测值(PPV) = 真阳性 ÷ 总阳性结果 = 0.5% ÷ 1.49% ≈ 33.6%

对于模型B:

真阳性率 = 1% × 90% = 0.9%

假阳性率 = 99% × 10% = 9.9%

总阳性结果 = 真阳性 + 假阳性 = 0.9% + 9.9% = 10.8%

阳性预测值(PPV) = 真阳性 ÷ 总阳性结果 = 0.9% ÷ 10.8% ≈ 8.3%

模型A的PPV为33.6%,而模型B的PPV仅为8.3%。

因此,我们可以看到尽管模型B的检出率更高(90%vs50%),但其阳性预测值(PPV)显著低于模型A。

★ 低发病率人群中,高特异性比高敏感性更重要

这意味着:

模型A的阳性结果更可靠

模型A的假阳性风险更低

模型A在这种低发病率的情况下,作为肿瘤筛查产品更好。

这里对于我们应用的启示:在低发病率的人群中,高特异性(低假阳性率)比高敏感性(高检出率)更重要。选择产品时,不仅要看检出率,还要关注假阳性率和阳性预测值。

1.jpg

发病率较高的阳性预测值(PPV)

可能接下来有人会问,这个问题中以肿瘤发病率比较低的例子举例,那对于发病率比较高的疾病,比如心脑血管、糖尿病等如何?

接下来,我们继续举例:

让我们用同样的方法计算发病率为20%时的阳性预测值(PPV)。

模型A

人群发病率:20%

检出率:50%

假阳性率:1%

模型B

人群发病率:20%

检出率:90%

假阳性率:10%

一样的计算

对于模型A:

真阳性率 = 20% × 50% = 10%

假阳性率 = 80% × 1% = 0.8%

总阳性结果 = 真阳性 + 假阳性 = 10% + 0.8% = 10.8%

阳性预测值(PPV) = 真阳性 ÷ 总阳性结果 = 10% ÷ 10.8% ≈ 92.6%

对于模型B:

真阳性率 = 20% × 90% = 18%

假阳性率 = 80% × 10% = 8%

总阳性结果 = 真阳性 + 假阳性 = 18% + 8% = 26%

阳性预测值(PPV) = 真阳性 ÷ 总阳性结果 = 18% ÷ 26% ≈ 69.2%

可以看到当发病率提高到20%时,情况发生了显著变化

模型A的PPV提高到92.6%

模型B的PPV提高到69.2%

对比之前1%发病率的情况:

模型A:PPV从33.6%提高到92.6%

模型B:PPV从8.3%提高到69.2%

可以发现随着发病率的提高,两个模型的阳性预测值都大幅提升。但是模型A仍然保持更高的PPV,但优势不如低发病率时那么明显。

2.jpg

★ 发病率越高,阳性预测值越高

发病率越高,阳性预测值越高,这是因为真阳性的比例增加。

因此在高发病率的人群中,两种模型的检测价值都显著提高。但模型A仍然是更好的选择,因为其假阳性率更低

评估不同检测模型和询问检测准确率时,要综合考虑不同疾病的发病率、检出率和假阳性率。

对于要检出阳性结果而言,这个例子就很好地说明了发病率检测结果解读的重要影响,也体现了贝叶斯定理在医学诊断中的应用。

阳性预测值(PPV)具有多维意义,对于不同视角的人群可能意义不同:

➤ 政府视角下的PPV

⑴公共卫生决策基础

资源分配效率:高PPV意味着确诊投入的资源浪费更少,每发现一个真实病例的成本更低;

筛查项目评估:决定是否推行大规模筛查项目时,PPV是核心考量因素之一;

卫生经济学分析:假阳性导致的后续检查、治疗和心理干预成本需纳入卫生政策评估。

⑵监管与标准制定

差异化监管:对不同严重程度疾病的筛查产品可设置不同PPV要求;

强制信息披露:要求厂商在不同疾病流行率下公开产品的PPV值;

患者保护:防止低PPV产品导致过度医疗和不必要的医源性伤害。

➤  受检者视角下的PPV

⑴个人决策与心理影响

决策参考价值:"我的阳性结果有多可靠?"—这是患者最关心的问题;

心理负担差异:假阳性可能导致严重心理压力,尤其对严重疾病筛查;

后续检查意愿:了解PPV有助于患者决定是否及时进行确诊检查。

⑵风险认知与理解

个体化解读:同一PPV值对不同风险人群的意义不同;

检前概率影响:有症状个体的PPV通常高于无症状筛查人群;

教育需求:医生需帮助患者理解PPV与个人情况的关联。

3.jpg

➤  产品评估的情境差异

⑴临床应用场景分析

筛查工具:可接受相对较低PPV,但应有明确后续路径;

确诊工具:需要更高PPV,减少误诊风险;

监测工具:对症状性疾病监测,PPV要求可能介于两者之间。

⑵疾病特性影响

致命但可治疗疾病:可接受较低PPV,以高灵敏度优先;

慢性管理疾病:需较高PPV避免不必要长期干预;

高耻感疾病:需更高PPV避免标签化伤害。

⑶社会经济环境考量

医疗资源丰富地区:可能更关注灵敏度,接受较低PPV;

资源有限环境:高PPV更为重要,避免资源浪费;

支付方式影响:商业保险vs自费vs政府支付下对PPV的需求不同。

➤  PPV优化与应用建议

⑴预测模型调整

风险分层应用:根据人群特征调整决策阈值;

多指标综合评估:结合阴性预测值(NPV)、阳性/阴性似然比(LR+/LR-)综合评估;

贝叶斯思维应用:根据先验概率(患病率)调整PPV期望。

⑵实际应用最佳实践

透明沟通:向受检者清晰解释结果可靠性;

分级报告:提供风险概率而非简单阳性/阴性结果;

智能决策支持:AI辅助工具结合临床特征提供个性化PPV估计。

阴性预测值(NPV)

那么下面我们看下什么是阴性预测值(NPV),简言之就是把健康人检测为健康的概率

阳性预测值(PPV)是样本检测阳性为真阳性的概率值,而阴性预测值(NPV)是样本检测真阴性的概率值

阴性预测值(NPV) =(真阴性数量)/(真阴性数量+假阴性数量)

例如你有一个600人的样本量,根据有效性,假设你知道肯定患有这种疾病的样本(480)或没有这种疾病的个体样本(120)。

测试后,将结果与已知的疾病状态进行比较,发现:

真阳性(测试阳性和正确阳性)= 480

假阳性(试验阳性但实际为阴性)= 15

真阴性(测试阴性和真阴性)= 100

假阴性(试验阴性,但实际为阳性)=5

我们可以计算PPV和NPV如下:

阳性预测值(PPV)=480/(480+15)≈0.97(97%)

阴性预测值(NPV)=100/(100+5)≈0.95(95%)

因此,如果检测结果为阳性,则有97%的机会是正确的,如果结果为阴性,则有95%的机会是正确的。

拓展:什么是假阳性和假阴性?

假阳性:健康人被错误地识别为患病;

假阴性:病人被错误地认为是健康;

真阳性:患病的个体已被正确识别为患有疾病;

真阴性:未患有疾病的个体已被正确诊断为未患有疾病。

或:

真阳性:患者患有疾病且检测呈阳性;

假阳性:患者没有疾病,但检测呈阳性;

真阴性:患者没有疾病,检测结果为阴性;

假阴性:患者患有疾病,但检测结果为阴性。

敏感性和特异性
敏感性

敏感性(Sensitivity)是测试正确识别疾病患者的能力,也称为真阳性率(TPR),即被正确识别为患有疾病的患者的百分比。

敏感性的计算公式为:

敏感性 = 真阳性数 / (真阳性数 + 假阴性数)

或者表示为:

敏感性 = TP / (TP+FN)

其中:

TP (True Positive): 真阳性,即测试正确地将患病者判断为阳性的数量;

FN (False Negative): 假阴性,即测试错误地将患病者判断为阴性的数量。

从另一个角度看,敏感性也可以表示为:

敏感性 = 真阳性率 = 1 - 假阴性率

敏感性的值范围在0到1之间,通常以百分比表示。例如,敏感性为0.95或95%意味着测试能够正确识别95%的实际患病者。

★ 高敏感性特别适用排除诊断

在医学诊断中,高敏感性的测试特别适用于排除诊断(rule-out test),因为如果一个高敏感性测试的结果为阴性,则疾病存在的可能性很小(即"阴性结果可靠")。

例如:表述中敏感性为100%的检测可正确识别所有患者,敏感性为80%的检测可检出80%的疾病患者(真阳性),但20%的疾病患者未被检测到(假阴性)。

当检测到非常严重的感染类型时,例如前两年进行的COVID-19大流行,高敏感性对于适当的管理和治疗非常重要。COVID-19 IgG/IgM诊断测试是一种筛查COVID-19的测试,据报道敏感性为95%。

当测试用于识别严重但可治疗的疾病(例如宫颈癌)时,高敏感性显然很重要。通过宫颈涂片检测筛查女性人群是一项敏感的检测。然而,它不是很特异,很大一部分宫颈涂片阳性的女性继续进行阴道镜检查,最终被发现没有潜在的病变。

4.jpg

特异性

临床试验的特异性是指检测正确识别无病患者的能力。

特异性的计算公式是:

特异性 = 真阴性数 /(真阴性数 + 假阳性数)

Specificity = TN/(TN + FP)

其中:

TN (True Negative): 真阴性,即正确识别出的健康者数量

FP (False Positive): 假阳性,即错误地将健康者判断为患病的数量

特异性也可以表示为: 特异性 = 正确识别的健康者数/所有实际健康者总数

或: 特异性 = 真阴性率 = 1 - 假阳性率

例如:假设一项检测在100名实际健康者中:

95人被正确判断为阴性(TN = 95)

5人被错误判断为阳性(FP = 5)

特异性 = 95/(95 + 5) = 95/100 = 0.95 或 95%

特异性表明该检测能够正确识别95%的健康者,有5%的健康者被误判为患病。

5.jpg

TIPs:

一种具有高敏感性但低特异性的测试会导致许多没有疾病的患者被告知他们有疾病的可能性,使受检者要接受进一步的测试。理想情况下,测试应该是100%准确的,但这是一个不切实际的场景。或者,对患者进行高敏感性和低特异性的测试,然后进行低敏感性和高特异性的第二次测试,可以识别所有假阳性和假阴性。

这些参数的临床价值和应用差异

在考虑检测对临床医生的价值时,阳性和阴性预测值很有用。它们取决于该疾病在目标人群中的患病率

但是灵敏度(sensitivity)、特异性(specificity)这两术语对于理解和评估模型的效用也至关重要。敏感性和特异性是用于评估临床试验的术语,它们与测试的目标人群无关。

★ 敏感性和特异性取决于检测阳性的临界值

检测的敏感性和特异性取决于高于或低于检测阳性的临界值。一般来说,敏感性越高,特异性越低,反之亦然。

★ 阳性和阴性预测值取决于被测人群和患病率

与敏感性和特异性不同,阳性预测值(PPV)和阴性预测值(NPV)取决于被测人群,并受疾病患病率的影响。

例如以下示例:使用抗核抗体在普通人群中筛查系统性红斑狼疮(SLE)的PPV较低,因为它产生的假阳性数量很高。然而,如果患者有SLE的迹象(例如 颊部潮红和关节疼痛),测试的PPV会增加,因为患者所在的人群不同(从SLE患病率低的一般人群到患病率高得多的临床可疑人群)。

另一个举例也可以考虑产后出现呼吸困难的女性,其中一种鉴别诊断是肺栓塞。在该患者群体中,D-二聚体检测几乎肯定会升高;因此,该测试的肺栓塞PPV较低。然而,肺栓塞的NPV很高,因为低D-二聚体不太可能与肺栓塞相关

★ 患病率高时,PPV和NPV准确性更高

阳性预测值(PPV)和阴性预测值(NPV)对疾病患病率的依赖性可以用数字来说明:例如,在一个4000人的人群中,病人和健康人各占一半。该病症筛查试验的灵敏度和特异性均为99%。因此,筛查结果将产生1980个真阳性和1980个真阴性,其中20名健康人被误判为阳性,20名病人被误判为阴性。

该测试的PPV为99%。但是,如果人口中的患病人数只有200人,而健康人数为 3800 人,则假阳性数量从20增加到38人,PPV下降到84%。

本举例实际上想强调这样一个事实,即诊断或筛查疾病的能力既取决于检测的区分价值也取决于疾病在相关人群中的患病率

与此同时,要注意:

PPV的互补值是错误发现率(FDR),NPV的互补值是错误遗漏率(FOR),分别等于1减去PPV或 NPV。FDR是错误的结果或 “发现” 的比例。FOR 是被错误拒绝的假阴性的比例。从本质上讲,PPV和NPV越高,FDR和FOR就越低——这对您测试结果的可靠性来说是个好消息。

该如何平衡敏感性和特异性?

如果结果是按值的滑动比例给出的,而不是明确的阳性或阴性,则敏感性和特异性值尤为重要。它们允许确定在何处绘制预测结果为阳性或阴性的临界值,甚至可能建议重新测试的灰色区域。

例如:谷禾结直肠癌模型

6.png

例如,通过将阳性结果的临界值置于非常低的水平,可以捕获所有阳性样品,因此测试非常敏感。但是,这可能意味着许多实际为阴性的样本可能被视为阳性,因此该测试将被视为特异性较差。找到平衡点对于有效和可用的测试至关重要。

★ ROC曲线有助于平衡假阴性和假阳性

在科研项目分析中经常使用受试者工作特征 (ROC)曲线有助于达到最佳平衡点平衡假阴性和假阳性。但是,对于假阴性是否比假阳性问题更小,或者反之亦然,分析的内容也很重要。例如,在生死攸关的问题上,那么您可能愿意容忍更多的假阳性,以避免遗漏任何真阳性。

▸ 什么是ROC曲线?

ROC曲线是一种图形表示,显示测试的敏感性和特异性如何相互变化。为了构建 ROC 曲线,使用该检验测量已知为阳性或阴性的样本。

对于给定的截止值,将TPR(敏感性)与FPR(1-特异性)作图,得到类似于下图的曲线。理想情况下,选择曲线肩部周围的一个点,这既能限制假阳性,又能最大限度地提高真阳性

7.png

图片来源:Technology Networks

给出ROC曲线(如黄线)的测试并不比随机猜测好,淡蓝色很好,但由深蓝色线表示的测试会更好。这将使临界值确定相对简单,并以非常低的假阳性率产生高真阳性率。                    

结语

在医疗科技和人工智能快速发展的今天,我们面临着海量的健康相关数据和不断涌现的疾病预测模型。在选择和评估医疗检测产品时,必须综合考虑疾病特性、人群特征具体应用场景。对于普通大众和医疗从业者而言,理解这些指标不仅是一种专业素养,更是做出明智医疗决策的基础。

我们需要超越简单的"阳性"或"阴性"结果,深入理解检测结果背后的概率和风险。正如本文所强调的,一个优秀的医疗检测模型,应该能够在保证高敏感性的同时,最大限度地降低假阳性和假阴性的风险,为个人健康和公共卫生提供更精准、更有价值的信息。

主要参考文献:

technologynetworks.com/analysis/articles/sensitivity-vs-specificity-318222

Faith Mokobi. What is Sensitivity, Specificity, False positive, False negative? 2021 April 18, Microbenotes.

本文转自:谷禾健康



https://blog.sciencenet.cn/blog-2040048-1477300.html

上一篇:[转载]强力的黏蛋白降解者,可能帮助预测克罗恩病——扭链瘤胃球菌(Ruminococcus torques)
收藏 IP: 183.156.64.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

1/0 | 闁诡剚妲掗锟�:0 | 濡絾鐗犻妴锟� | 濞戞挸锕g粩瀛樸亜閿燂拷 | 閻犲搫鐤囧ù锟�

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2025-3-15 06:29

Powered by ScienceNet.cn

Copyright © 2007-2025 中国科学报社

返回顶部