王佩佩 ,双卫兵
(1.山西医科大学公共卫生学院,山西 太原 030001;2.山西医科大学第一医院 泌尿外科,山西 太原 030001 )
事件-时间结局数据在医学研究中非常常见。与单纯结局的事件数据相比,事件-时间数据能够提供的数据信息更为丰富,它既包含结局事件又包含时间,也被称为生存数据。在分析生存数据时,若选择多重线性回归或Logistic 回归,不但不符合这些方法的使用条件,还会忽略生存数据中时间这一属性所蕴藏的信息。此时,应使用具有独特统计方法的生存分析。生存分析常用作疾病的预后因素分析或评价治疗方法的优劣,它同时关注结局事件及其发生的时间,即使在生存时间有删失的情况下,也可以得到不同时点的存活百分比。近来,随着计算机技术的飞速发展,统计分析技术也日益得到创新,不同类型的生存模型应运而生,为医学临床研究提供了更有利的统计分析方法。
生存分析是指根据试验或调查得到的数据对事件的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小的方法,也称生存率分析或存活率分析。观察起点、终点事件和时间间隔的度量是生存时间重要的相关因素。
医学研究中通常采用纵向随访观察来获取生存资料。
1.1.1 关注出现终点事件的时间长短 生存数据既包含一般资料中常见的终点事件,又包含出现终点事件所经历的时间。例如,比较和评价肾细胞癌患者不同治疗方法的临床疗效,在进行随访观察时,常常需要记录患者在各时点上终点事件的发生情况,包括记录终点事件是否出现,以及患者出现终点事件所经历的时间。
1.1.2 生存时间可能存在删失 由于某种原因,如失访等,无法准确观测到研究对象的生存时间,便会产生删失。删失这一特点是生存数据不能简单地进行多重线性回归的主要原因[1]。图1 显示了不同类型的删失,在目前的医学研究中,主要的删失类型是右删失[2]。
图1 不同类型的删失
1.1.3 生存时间的分布通常不呈正态分布 在医学研究中,事件的持续时间往往受到多个因素的影响,如病情、并发症程度以及手术治疗方式的不同等,因此在某些情况下会较长或非常长。所以大多数生存时间的统计分布都是高度向右倾斜的,不服从正态分布,甚至分布类型不清。
1.2.1 生存率 生存率又称生存函数,是指观察对象经历某几个单位时段后仍存活的可能性,及多个时段的累积生存概率。若生存数据无删失,生存率的估计为某时刻仍存活的患者数与观察总患者数之比;若数据有删失,则需假定观察对象在各个时段的生存时间独立,分时段计算生存概率,并用概率乘积法定理将各时段的生存概率相乘得到生存率。
1.2.2 风险率 风险率或风险函数是指某时刻存活的个体在此时刻的瞬时事件结局(如死亡)风险,描述了某个体的瞬时事件结局风险随时间变化的情况。风险率的值不是概率,而是关注事件风险的指标,风险率的值越高,事件的风险越高[3]。相较于生存函数从1 到0 递减的性质,风险函数没有固定的单调性。从数学角度来看,风险函数与生存函数随时间降低的速度有关,生存函数随时间下降得越快,风险越高。
在进行生存分析的统计描述时,可通过生存时间和生存结局估计中位生存时间、生存率及其置信区间和生存曲线,以描述生存时间的分布特点。生存率的估计常用的方法有Kaplan-Meier 法和寿命表法[4]。Kaplan-Meier 法估计不同生存时间点的生存率,一般适用于观察对象数目较少的未分组资料。而对于样本含量较大的分组资料,应使用寿命表法进行分析。寿命表法可看作是Kaplan-Meier 法的一种近似(频数表法),由于每个时间区间内生存率的变化规律未知,相较于Kaplan-Meier 法绘制的阶梯型生存曲线,运用寿命表法绘制的生存曲线是连续的折线型。
由于生存数据可能存在删失,且参数和半参数检验方法对资料的要求较高,而非参数检验方法仅要求每个观察对象的资料是独立的,因此常采用非参数检验即Log-rank 检验来比较不同组的生存曲线[5]。然而,Log-rank 检验只能比较不同组生存状况间的差异是否有统计学意义,若需比较不同组生存的优劣,则需通过目测判断生存曲线、比较半数生存期等方法来进行比较。此外,相对危险度能够反映某因素作用的相对大小以及某时点两样本的生存率是否相同,可使用正态近似法进行两个率的比较来判断两组间的生存状况。
2.3.1 Cox 比例风险模型 多因素分析方法主要有参数法和半参数法,由于生存时间可能存在删失,所以在分析生存数据时更适合采用Cox 比例风险回归模型(简称Cox 回归模型)这一半参数法[6-7]。Cox 回归模型不仅可以确定结局事件的累积概率,还考虑了协变量对概率的影响,其偏回归系数就反映了在校正其他变量影响的情形下该因素单独的效应[8]。此外,模型的线性部分反映了一个个体的预后,即个体预后指数(prognostic index,PI)。PI 越大,患者风险越大,预后越差;PI 越小,患者风险越小,预后越好。
2.3.2 影响因素筛选 对于自变量的筛选,常用的筛选方法有前进法、后退法和逐步回归法[9]。大多数研究者常采用Log-rank 检验进行单因素分析,筛选出有统计学意义的变量,然后再将这些变量纳入多因素Cox 回归模型中进行分析。但由于混杂因素的影响,有作用的变量在单因素分析中也可能会没有显著性差异。因此,筛选自变量时不能只局限于单因素分析有意义的变量,要结合各变量的临床实际意义等进行判断。此外,还需注意自变量之间的共线性问题,可在模型建立之前进行共线性检验,剔除掉存在共线性的因素。
2.3.3 比例风险假设 由于存在相互作用、亚组和不可观察(测量)的随机效应,在模型建立之前需进行比例风险假定的检验和对数线性假定,只有满足条件,即风险函数与基线风险函数的比值为固定值,Cox 回归模型才有效[10]。但在数据集很大,且只有一小部分数据违反了比例假设的情况下,仍可继续使用Cox 回归模型;若大部分数据中存在非比例性,则可以对数据集进行分层,以继续使用Cox 回归模型,比例风险假设在每个分层中仍然有效[11]。
随着计算机科学和医疗技术手段的不断发展,生存分析方法领域受到了研究者的极大关注,如何保证生存模型的准确性和实用性成为了国内外研究者重点关注的课题。
3.1.1 竞争风险模型 传统的生存分析一般只关心一个终点事件,即研究者感兴趣的结局。而医学研究中结局事件往往并不唯一,会出现研究者不感兴趣的结局。在观察队列中,若存在的某种已知事件可能会影响另一事件发生的概率,则可认为前者与后者存在竞争风险。如发生在结局事件前的意外死亡,是结局事件的竞争事件。传统的生存分析方法将发生结局事件前死亡的个体、失访个体和未发生结局事件的个体均按删失数据处理,要求个体删失情况与个体终点事件相互独立,结局不存在竞争风险,这事实上高估了结局事件的发生率,导致估计偏差。
竞争风险模型(competing risk model)适用于多个终点的生存数据,是一种处理多种潜在结局生存数据的分析方法,通过计算每个结局的累积发生率函数(cumulative incidences function,CIF)进行分析[12]。常用的竞争风险模型有原因别风险函数(cause-specific hazard function,CS)和部分分布风险函数(subdistribution hazard function,SD),又称CIF 回归模型、Fine-Gray 模式[13]。CS 适合回答病因学问题,其回归系数反映了协变量对无事件风险集对象中主要终点事件发生率增加的相对作用。SD 适合建立临床预测模型及风险评分,仅对终点事件的绝对发生率感兴趣。
竞争风险模型目前也广泛应用于医学研究中。学者王廉源等[14]运用此模型探究存在竞争风险时早发性结直肠癌患者的预后影响因素,廖志晓等[15]进一步探究了发生肿瘤特异性死亡的危险因素。学者王莉等[16]通过建立竞争风险模型来预测非肌层浸润性膀胱癌患者1 年、2 年和3 年复发的风险。国外有学者利用竞争风险模型估计癌症相关血栓形成患者的出血风险评分[17];还有学者将早期乳腺癌的联合辅助基线协变量纳入竞争风险模型中,探究其与Palbociclib 减少和停药时间的关联[18]。
3.1.2 脆弱模型 在实际的临床研究中,常存在着观察对象在观察期内会发生不止一次结局事件的情况,且通常是有先后顺序,称为复发事件数据(recurrent event data)。对于这类数据的分析,目前较为常用的方法是仅利用首次发生结局事件的时间信息做Cox 回归模型。但不同个体发生复发事件的风险不同,即个体之间存在异质性,仅使用Cox 回归模型会忽略结局事件相关性,导致估计值的置信区间不准确[19]。有研究发现,在进行生存分析时忽略个体的异质性,会导致相对危险度的估计值偏高[20-21]。
脆弱模型是分析非独立、有异质性存在的复发事件数据的有效方法,它通过纳入随机效应(即无法用协变量描述的因素),解释了复发事件数据中观察结果的非独立性[22]。该模型既考虑了同一个体多次复发之间的相关性,又考虑了患者多次复发和死亡之间的相关性,探讨多次复发和死亡的影响因素,充分挖掘数据蕴含的信息,使得生存分析得结果解释更具合理性[23-24]。
国外学者KAIDA 等[25]和JUNG 等[26]将脆弱模型应用于体内植入物存活率的研究,评估和比较两种不同材料在植入固定时间后的性能,所得出的结论也证实了这一模型的合理性。学者JUNG等[27]基于联合脆弱模型研究艾滋病的复发与晚期多耐药艾滋病患者半竞争性死亡风险之间的关系,并利用该模型确定复发和死亡事件风险增加的个体,相较于Cox 回归模型,这些异质性可以根据观察到的协变量进行识别,说明了在该数据集中使用脆弱模型分析更具优势。
传统的统计方法为数据分析提供了最优解,而机器学习则是尝试不同模型,最终收敛到最终假设,强调大规模的应用和准确的预测。在过去的数十年里,计算机技术和数字化快速发展,数据采集和数据存储能力不断提升,伴随着大数据时代的到来,许多机器学习算法被相继提出并渗入到了各个领域。在进行预测分析时需要大量数据来拟合模型,因此人工智能在处理精准医学大数据方面存在着巨大的潜能[28]。许多研究者将传统的生存分析方法与机器学习相结合,利用二者的优势来分析生存预后问题。
3.2.1 随机生存森林 随机生存森林(random survival fores,RSF)是一种基于随机森林算法的生存分析方法,该方法正广泛应用于医学研究领域进行生存数据的分析。RSF 可列出变量的重要性排序实现变量筛选,使最终进入分析的自变量保持最小共线性及最大准确度,克服了传统生存分析模型中自变量之间可能存在共线性这一弱点[29]。此外,RSF 在多项研究中也展示了其效能的优异性。如学者李淼等[30]应用RSF 模型来探讨肺癌患者预后影响因素的重要性以及预测评价,通过与传统的Cox 回归模型进行比较发现,RSF 模型的预测错误率以及预测误差均低于Cox 回归模型,可证实RSF 模型的拟合效果较好,即RSF 能够在提高模型效能的同时降低模型的复杂性,为临床研究提供更准确的模型和更可靠的依据。
3.2.2 梯度提升树 梯度提升树(gradient boosting decision tree,GBDT)是与RSF 处于同一类型决策树中的一种机器学习方法,在实际应用中的性能更为突出[31]。相较于传统的Cox 回归模型,现有的基于梯度提升树的生存分析方法仍遵循风险比例这一假设,但它已经可以表征对数风险比例与协变量之间复杂的非线性关系[32-33]。在学者CHEN等[34]和LI 等[35]的研究中,研究者们以识别胃癌相关基因和预测ICU 患者院内死亡率为目的,均使用GBDT 法构建模型,并选择基于逻辑回归(LR)、k-最近邻(KNN)、随机森林(RF)和支持向量机(SVM)这四种方法与GBDT 进行比较,两项研究的结果均证实了GBDT 在预测死亡率方面的表现优于其他机器学习模型。这也说明了,虽然GBDT 的解释性不如Cox 回归模型,但在实际应用中个体风险函数或生存函数的预测上有着明显的优势[36]。
3.2.3 支持向量机 以支持向量机(support vector machine,SVR)等算法为代表的的机器学习,以其完善的理论基础,正广泛应用于医学特别是肿瘤学领域中[37]。例如,学者梁陈悦[38]利用非线性支持向量机作为分类器建立判别胃癌肿瘤一期的模型,以选取最优的一组基因集作为最终的胃癌特征基因;学者CHEN 等[39]结合综合特征选择和模型训练的方法,采用支持向量机和遗传算法预测局部晚期非小细胞肺癌患者的3 年总生存期,以预测接受确定性同步放化疗患者的长期生存率。基于SVR 的生存分析模型可以解决高维度问题,适合小数量样本的数据。VAPNIK[40]提出的基于支持向量机(SVR)的生存分析模型,忽略了所有删失的数据,不能够对生存数据的特性进行解释。学者KHAN 等[41]对前者的模型进行了改进并提出了一个新的模型(SSVR),考虑了生存数据的特性。但当数据特征维度大于样本量时,支持向量机的表现很差,学者KHEMCHANDANI 等[42]对传统SVR 方法的改进,提出了一种新的双支持向量回归算法(TWSVR),提高了模型的灵活性,降低了求解的复杂性。
3.2.4 贝叶斯生存分析 贝叶斯是机器学习的经典算法之一。近年来,基于贝叶斯理论和生存分析相结合的贝叶斯生存分析越来越多地被应用到医学研究中[43-44]。例如,学者邵莉等[45]通过构建贝叶斯Cox 风险比例回归模型分析艾滋病相关死亡的影响因素,ATTACC 等[46]利用贝叶斯生存统计模型对患者的D-二聚体水平进行评估,以探究肝素对非重症Covid-19 患者抗凝治疗的疗效。贝叶斯Cox 回归模型是在传统Cox 回归模型的基础上,利用贝叶斯统计思想为待估计的参数指定先验分布,结合样本数据得到它们的后验分布,从而达到参数估计的目的[47]。贝叶斯统计分析方法可以有效利用先验信息,在小样本数据推断中具有明显优势,在一定层面弥补了频率学派经典估计方法的局限性[48]。此外,有学者提出针对右删失数据构建的基于贝叶斯累加回归树的生存分析简约模型,可以提高贝叶斯理论在生存分析中的适用性[49]。
3.2.5 深度学习:神经网络 近年来深度学习在医学领域受到很大的关注,神经网络在医学领域如生物医药、医学统计及医学诊断等领域的应用也相当广泛。神经网络在生存分析中具有很大的灵活性,可以处理一些复杂的、不确定的、非线性的问题,具有一定的容错性。且协变量的效应可以随时间而变化,不要求满足风险比例假定,其预测性远远优于传统的回归模型,有较广泛的应用前景[50]。如学者TU 等[51]利用BP 神经网络模型揭示异常B 细胞浸润对肺癌患者的影响以及预测肺癌患者的生存;马亚楠等[52]基于3D 卷积神经网络对局部晚期NSCLC 患者进行生存预测,这些研究都取得了令人满意的结果。DeepHit 和DRSA 这两种方法,分别使用了深度神经网络和循环神经网络,可以直接学习首次发生事件时间的概率分布,不再需要对个体风险函数形式做出假设[53-54]。然而,神经网络算法在短期预测上存在着明显的短板,且缺乏对模型特征的解释性,预测结果不如传统模型准确[55]。例如,在学者SPARANO 等[56]的基因表达影响乳腺癌复发的研究中,无法判断某个与乳腺癌相关基因属于危险因子还是保护因子。因此,在运用神经网络算法时需要考虑实际情况,才能正确的选择统计方法并取得更好地预测结果。
此外,还有许多其他的机器学习方法应用于生存分析当中,如bagging 生存树和boosting等[57-59]。这些方法以不同的方式学习协变量与生存时间之间的关系,提供拟合更优、更有效的算法,从而提升生存分析模型的准确性。
生存数据是临床研究中常见的一种数据类型,因其存在删失这一特点,需使用生存分析这一统计学方法。生存分析是循证医学的一个重要组成部分,常用作疾病的预后分析、评价治疗方法的优劣以及风险预测,具有推动和影响决策的巨大潜力。随着生物医学技术的不断发展,生存分析也应用到了基因组学、肿瘤标志物等领域,通过结合泛癌分析、生信分析及聚类分析等多维度、多组学的验证,为医学研究提供更有说服力的证据。
在临床研究中,常用的生存分析方法仍然是K-M 曲线、Log-rank 检验以及Cox 回归分析。对于影响因素的分析,建议研究者仔细考虑单因素估计的有效性,不能只局限于单因素分析中有统计学意义的变量,而应结合专业知识与临床实际意义决定是否纳入到多因素模型。此外,在构建Cox回归模型时,建议研究者阐明构建策略,检验并表明最终的生存模型在模型拟合以及验证相关假设方面的适用性,若相关假设不成立,应说明情况并提出解决方案。
计算机统计技术和机器学习算法的快速发展为处理、统计和分析医学数据带来了巨大的潜能。面对种类如此之多的统计模型,生存分析模型的最终选择应考虑模型与给定数据集的拟合优度以及验证研究相关假设的适用性,不适当的统计模型可能会得出误导性结论。竞争风险模型、脆弱模型等等为不同特殊事件数据的生存分析提供了可靠、更优的统计方法。此外,许多学者将传统的生存分析方法与机器学习相结合,利用二者的优势来分析生存问题,但其在医学统计的实际应用方面上还稍有欠缺,值得更加深入地探索与研究。