科研星球

临床预测模型的建立与验证

然前面我们已经对临床预测模型的概念有了基本了解后,那么它具体如何构建以及验证呢?本节我们就讨论下这方面的内容。

临床问题决定研究类型:

首选我们要明确具体的临床问题决定研究类型的选择。临床预测模型可以回答疾病的病因、诊断、患者对治疗的反应和预后等问题。不同的问题需要设计不同的研究类型。

例如,在病因学研究方面,队列研究可以用来根据潜在的原因来预测疾病是否发生。关于诊断准确性的临床问题,适合采用横断面研究设计,因为预测因子和结果可能同时发生或在短时间内发生。

为了预测患者对治疗的反应,可以采用队列研究或随机对照试验(RCT)。对于预测类临床问题,设计队列研究是适用的,因为预测因子和结局有纵向的时间逻辑关系。评估病因的队列研究需要选择合理的研究对象和控制混杂因素。

在诊断模型的研究中,需要一个“金标准”或参考标准来独立诊断疾病,参考标准的诊断应该在“盲法”状态下进行。也就是说,参考标准诊断不能依赖于预测模型中预测因子的信息,以避免出现诊断评估偏差。

评估患者对治疗的反应是干预性研究的一种类型。需要选择合理的研究对象、控制非测试因素的干扰。在预后模型中,预测因子与结局之间存在纵向关系,研究者通常期望得到疾病在自然状态下的结局,因此前瞻性队列研究是最常见的预后模型,也是最佳的研究设计类型。

构建模型的数量:

首先需要回顾文献来确定我们要构建的预测模型的数量:

(一)针对具体临床问题目前还没有预测模型。为了构建一个新的模型,通常需要一个训练集来构建模型,并需要一个验证集来验证模型的预测能力。

(二)目前已有预测模型。为了构建新的模型,使用验证集来构建新模型,并使用相同的训练数据集来分别验证现有模型和新模型的预测能力。

(三)为了更新现有模型,使用相同的验证数据集来评估这两个模型的预测能力。

关于训练数据集和验证数据集的生成,可以前瞻性地或回顾性地收集数据,其中前瞻性收集的数据具有更高的质量。对于建模人群,样本量应尽可能大

如果数据是回顾性收集的,还应该评估数据质量,识别离群值,并对缺失值进行适当处理,如填充或删除

最后,根据实际情况确定用于建模的训练数据集和用于验证的验证数据集。由于现实原因,有时只能在同一数据集中建模和验证,这是允许的,但模型的外部适用性会受到一定程度的影响。

模型的建立与呈现:

在建立预测模型之前,有必要了解以往文献报道中的预测因子,确定选择预测因子的原则和方法,并选择所需应用的模型类型,如logistic回归模型或Cox回归模型。目前,预测模型常用有四种呈现形式:

(一)公式。直接使用数学公式作为预测模型工具。

(二)列线图Nomogram。通过适当的数学变换将回归模型中的回归系数转换为分数,并将其绘制为诺模图作为预测模型工具。

(三) 网络计算器。其本质也是通过适当的数学运算将回归模型中的回归系数转换成分数,并将其制作成网站供在线使用。

(四)评分系统。通过适当的数学运算,将回归模型的回归系数转化为一个可量化的评分系统。

临床预测模型的验证:

预测模型的效果会随着应用场景和人群的变化而变化。因此,对预测模型的完整研究应该包括模型的验证证的内容包括模型的内部有效性和外部有效性内部有效性反映了模型的可重复性,以用本身的研究数据通过交叉验证和Bootstrap方法来进行验证外部有效性反映了模型的普遍性,需要使用不是来自研究本身的数据集进行验证,这些数据集在时间或地理上是相互独立的。

模型的内部验证和外部验证是评估模型稳定性和适用性的必要步骤。用于内部验证和外部验证的数据集应该是完全异质的,不能仅仅在一定程度上不同。一般情况下,使用原机构的数据作为训练集来建立模型,并随机抽取一部分内部数据进行内部验证。选择来自其他机构的数据作为外部验证数据集。当然,最好是进行外部数据集验证。下面介绍几种验证内部有效性的方法。

(一)随机拆分法将现有数据随机分成两部分,一部分用于构建模型,另一部分用于验证模型。采用该方法将数据分为两部分进行“内部验证”。由于只有一部分的数据用于构建模型,因此模型相对不稳定。样本量较小的研究通常不适合这种方法。

(二)交叉验证方法这种方法是对随机拆分法的的进一步延伸。常用的有半折交叉验证和十折交叉验证。半折交叉验证法是将原始数据分成两部分,一部分用于建立模型,另一部分用于验证模型。然后调换两部分的数据并相互验证。十折交叉验证法是将数据分成十部分,其中九部分用于建模,另一部分用于模型验证。用这种方法建立和验证模型十次,就可以构建一个相对稳定的模型。

(三)Bootstrap方法。传统的Bootstrap内部有效性验证方法是在原始数据集中有放回的随机抽取一定数量的样本建立模型,然后使用原始数据集对模型进行验证。通过500-1000次的随机抽样、建立和验证,可以得到500-1000个模型,并可以总结出模型的参数分布。因此,可以确定模型的最终参数值。实践证明,该方法得到的模型比前两种方法具有更高的稳定性。可以推测,Bootstrap方法将越来越多地应用于验证模型的内部有效性分析。当然,在具备条件的情况下,应尽量对预测模型进行外部验证,提高模型的外部适用性。

目前临床预测模型的研究从临床医生的角度大致可分为三大类:

1.预测模型是根据传统的临床特征、病理特征、体检结果、实验室检查结果等构建起来的,这类模型中的预测变量更加便于从临床上获取。

2.随着影像组学研究方法的成熟,越来越多的学者意识到影像学的某些表现或参数代表了特定的生物学特征。使用彩色多普勒超声、CT、MR以及PET的大量成像参数结合临床特征来构建预测模型,往往可以进一步提高预测模型的准确性。此类建模基于影像组学数据。此类建模的前期工作量比第一种方法大得多,并且需要临床和影像部门之间的紧密合作。

3.随着基因组学和蛋白质组学等高通量生物技术的广泛应用,临床研究人员正试图从这些海量的生物信息中寻找某种特征生物标记物来构建预测模型。这些预测模型是将基础医学转化为临床医学的一个很好的切入点,但由于需要对临床标本进行各种组学测试,这类研究往往需要强有力的资金支持。一旦愿意投入资金进行组学分析的研究,可以很好地转化为临床研究,一般可以产出高分文章。此外,还必须要有生物样本的支持。

从临床医生的角度构建临床预测模型的所需条件:

1.建立单一疾病的随访数据库,尽可能完整地收集患者信息,包括但不限于:人口统计学特征、既往病史、家族史、个人病史;与疾病相关的信息,如治疗前重要的生理和实验室检查结果、疾病的严重程度、临床分期、病理分期、组织学分级;治疗信息:如手术方法、放化疗方案、剂量和强度;患者的预后:对于癌症患者,需要持续的随访才能获得其结果,这是一项极其困难和复杂的任务。

2.从以往发表的预测模型文章来看,大部分都是基于回顾性的数据,也有一小部分是基于前瞻性的数据。与随机对照研究相比,这样的研究更容易进行,而且它们属于我们现在提议的现实世界研究领域。在过去,我们过分强调了随机对照研究的重要性,而忽视了现实世界数据的巨大价值。随机对照研究的数据无疑是质量最高的,但数据经过了严格的筛选,因此证据的外推是有限的。真实数据来源于我们的日常临床实践,更全面地反映了临床干预的有效性,证据具有较好的外部适用性。然而,现实世界研究的最大问题是数据的质量参差不齐,有太多难以识别的混杂因素。因此,有必要用更复杂的统计方法从复杂的混杂因素中找出真相。

在这里,我们需要理解混杂因素是客观存在的,因为任何临床结果的发生都不是单一因素的结果。对于混杂因素有两个级别的校正。一种是实验设计阶段的校正,即顶层校正,即通过随机化和足够的样本量来均衡组间的混杂因素。这也是随机对照研究流行的原因:只要样本量足够,随机化正确,就能一劳永逸地解决混杂因素问题。第二种情况是通过统计方法进行后期校正,显然没有随机对照研究校正的那么彻底,但第二种情况更接近我们临床实践的真实情况。

3.样本大小。由于现实研究中混杂因素较多,需要一定的样本量才能达到足够的统计效能,才能辨别混杂因素对结果的影响。多变量分析筛选变量的一个简单可行的原则是,如果多变量分析中包含一个变量,则有效样本量应为20个,称为“1:20原则”。例如,我们在做COX回归分析时,如果收集了8个与预后相关的变量,那么至少应该有160个患者发生了我们定义的终点事件,如死亡。注意是至少160个死亡患者,而不是160个患者,未出现终点事件的样本我们一般不能称其为有效样本。

4.临床研究洞察力。建立临床预测模型是为了解决临床问题。要发现有价值的临床问题,就需要进行广泛阅读和临床实践。

预测模型研究目前所面临的问题:

1.临床应用率低。主要原因是预测模型的临床应用需要在模型的准确性和简便性之间取得平衡。如果有一个模型,它与TNM分期一样易于使用,但比TNM分期更准确,您会做出什么选择?

2.大多数临床预测模型都是基于回顾性数据集来构建和验证的,很少在前瞻性数据中进行验证。因此,模型预测的稳定性相对较差。

3.大多数临床预测模型的验证都是基于内部数据。大多数文章只有一个数据集。即使有两个数据集,一个要构建,另一个要验证,但这两个数据集往往来自同一个研究中心。如果该预测模型的有效性能够进一步扩展到另一个研究中心的数据集,那么该模型的应用价值将会大大提高。

参考文献

Zhou ZR, Wang WW, Li Y, et al. In-depth mining of clinical data: the construction of clinical prediction model with R. Ann Transl Med. 2019;7(23):796. doi:10.21037/atm.2019.08.63

本文作者:孤影,来源于医学研

相关推荐:
没有账号?