基于最大最小爬山算法的肺癌预后模型

2020-03-11 11:53
关键词:贝叶斯肺癌变量

(山东科技大学 数学与系统科学学院,山东 青岛 266590)

肺癌是发病率和死亡率增长最快、对人类健康和生命威胁最大的恶性肿瘤之一,世界卫生组织国际癌症研究机构发布最新报告称肺癌死亡人数最多,占预计癌症死亡总人数的18.4%。另外,肺癌还具有预后差的特点,影响其预后的因素主要包括患者个体相关因素、肿瘤相关因素和治疗相关因素[1]。目前,临床医学主要根据手术病理分期判断预后,由于考虑影响肿瘤发生的因素减少,其预测效果较差[2],因此,建立一个适用于临床医学且考虑多因素的肺癌预后模型具有重要意义。

早期,国内外在疾病预测方面多采用统计学中的COX回归方法构建模型。随着数据挖掘技术被应用到医学研究领域,众多学者采用机器学习的方法进行疾病研究。刘雅琴等[3]使用logistic回归、决策树和人工神经网络方法研究预后模型的预测效果,是国内机器学习领域研究肿瘤预测的有效尝试。Kim等[4]利用支持向量机预测了乳腺癌患者术后5年生存情况。Chen等[5]对4个医疗机构的非小细胞肺癌患者,使用人工神经网络建立了患者生存状况风险模型。牟冬梅等[6]构建了妊娠高血压综合征危险因素决策树预测模型。宋一鸣[7]基于SEER数据库使用决策树、神经网络、支持向量机、Logistic回归、深度神经网络等分别建立了肺癌患者预后的相关研究模型。

复发、转移、风险评估及生存情况评价是肿瘤预后的主要研究内容[8],本研究针对患者术后5年后生存情况进行研究。选取SEER数据库[9]中部分肺癌患者的数据,根据相关研究提取影响患者生存情况的预后因素,通过贝叶斯网络方法利用训练集构建肺癌预后模型,其中采用最大最小爬山算法建立模型,并采用贝叶斯估计进行模型参数学习与概率推理,最后将本研究模型与Logistic回归、人工神经网络、决策树及支持向量机方法在测试集上进行分类实验比较,验证所建立模型的有效性。

1 数据来源及变量选择

数据选自美国国立癌症研究所“监测、流行病学和结果数据库”(SEER数据库)[9]中2008年至2014年期间被确诊为肺癌的患者,其中包括5年内直接因癌细胞致死和随访期满5年仍生存的患者。删除数据缺失严重、记录错误及因非肺癌致死的患者记录,最终共计879位患者数据。

表1 肺癌患者变量信息

根据肿瘤信息,参考文献[10,11]和其他相关研究[2-3,7]中提及的与患者生存相关的预后因素,从数据库中导出包含这些因素的16个信息变量,具体如表1所示,其中后四项为连续型变量,其余为离散型变量。

5年后生存情况是预后效果的重要评价指标,所以选择患者术后5年生存情况为结果变量(生存时间以月为单位)。生存时间60个月及以上患者生存情况为“生存”(记为1),低于60个月的患者生存情况为“死亡”(记为0)。

2 肺癌预后模型的建立

2.1 特征选择

为提高模型的预测准确性,对上述16个信息变量进行特征选择。首先,利用SPSS进行卡方检验,在p<0.05下通过检验的变量有12个,分别为:婚姻状况、组织学分级、肿瘤分期、转移程度、扩散程度、淋巴结累积程度、手术类型、是否放疗、确诊年龄、肿瘤大小、淋巴结受检数量及淋巴结阳性数量。然后,在卡方检验基础上利用SPSS进行Logistic回归分析,在p<0.05下最终筛选出的特征变量有6个,分别为:组织学分级、肿瘤分期、确诊年龄、肿瘤大小、淋巴结受检数量及淋巴结阳性数量。筛选结果如表2所示。

2.2 数据离散化

(1)

表2 Logistic回归分析筛选变量结果

2.3 模型建立方法

在疾病生存预测方面,传统的统计模型难以计算后验概率,不能直观地表示变量之间的关系,本研究利用贝叶斯网络方法建立肺癌预后模型。

贝叶斯网络是一个带参数的有向无环图,用二元组〈G,Θ〉表示,其中G=(V,E)表示节点关系的有向无环图,称为贝叶斯网络结构,节点集合V={X1,X2,…,Xn}表示随机变量,有向边集合E={eij|Xi→Xj,i,j=1,2,…,n}表示变量之间的依赖关系;Θ={Θ1,Θ2,…,Θn}表示节点Xi的条件概率,称为贝叶斯网络参数,节点Xi的参数Θi表示其自身和父节点集Pa(Xi)的条件概率分布,即Θi=P(Xi|Pa(Xi))。另外,任意给定的贝叶斯网络都满足马尔科夫条件,即∀Xi∈V,Xi独立于除其父节点集合Pa(Xi)外的所有非子孙节点,因此,变量集V=(X1,X2,…,Xn}联合概率分布可分解为:

(2)

贝叶斯网络模型用有向无环图表示变量之间的依赖和独立关系,用条件概率分布刻画变量对其父节点的依赖关系,因此,建立贝叶斯网络模型包括两部分:①确定变量间关系,找到网络结构,即结构学习;②确定每个节点的条件概率表,即参数学习。

2.3.1 结构学习方法

利用最大最小爬山(Max-Min hill-climbing, MMHC)算法对贝叶斯网络结构进行学习。该算法是Tsamardinos等[12]于2006年提出的一种经典的贝叶斯网络结构学习算法,结合了依赖分析和评分搜索等方法,分为两个阶段进行学习:第一阶段利用MMPC(max-min parents and children)算法确定出每个节点的候选父子节点集,构建出贝叶斯网络结构的无向框架;第二阶段利用贪婪爬山算法对已经得到的网络结构的框架进行搜索评分,找出使评分函数最大的网络结构。

MMPC算法是从给定数据集中利用最大-最小启发式策略确定目标变量T的候选父子节点(candidate parents and children,CPC)集,分为两个阶段。第一阶段通过定义一个关联度函数来确定其他变量与目标变量T在给定CPC下的条件依赖程度,函数值越大表示变量间的条件依赖关系越强;当函数值为零时,表示变量间没有依赖关系,也就是条件独立。最大最小启发式策略每次选择与目标变量T在给定CPC条件下最小关联度最大的那个变量进入CPC,当除了CPC中变量所有其他变量与目标变量T在给定CPC条件下都条件独立时,第一阶段停止。第二阶段检验候选父子节点集CPC中的变量,移去不该有变量,即对于CPC中的变量X,如果存在CPC的子集S使得Assoc(X,T|S),则将变量X从CPC中移去。

变量X与T在给定变量集Z下的关联度函数定义为:

(3)

(4)

其中,S表示变量集Z的子集。MMPC算法如下所示:

算法1:MMPC算法

输入:目标变量T,数据集D

输出:目标变量T的候选父子节点集CPC

第一阶段:

1:令CPC≠φ;

2:WhileCPC不再变化 do

3: 〈F,assocF〉=MaxMinHeuristic(T,CPC)

4: ifassocF≠0 then

5:CPC=CPC∪F

6: end if

7:end

第二阶段:

8:for 任意X∈CPC

9: if 存在S⊆CPC,使Assoc(X,T|S)=0,即Ind(X,T|S)then

10:CPC=CPC{X}

11: end if

12:end for

13:返回CPC

子程序MaxMinHeuristic(T,CPC)

输入:目标变量T,CPC子集

输出:以CPC为条件集,与T的最小关联度最大的变量

14:assocF=maxX∈VMinAssoc(X,T|CPC)

15:F=arg maxX∈VMinAssoc(X,T|CPC)

16:返回 〈F,assocF〉

MMHC算法第二阶段利用贪婪爬山搜索在结构空间中搜索评分最高的网络结构,评分函数采用BDeu评分。该阶段的贪婪爬山搜索从空图开始,每一步搜索的过程是:首先在不产生有向环的情况下,对当前所得模型分别执行一次加边、减边、转边操作得到一系列候选模型,并计算出每个候选模型的评分;然后将最大评分的候选模型与当前模型比较,若最大评分的候选模型评分大,则将其作为下一个当前模型继续搜索,否则停止搜索并返回当前模型[13]。

在MMHC算法中,贪婪爬山搜索将每个节点的搜索空间限制在其候选父子节点集上,即仅考虑当Y∈CPCX时添加边Y→X,此约束显著降低了搜索空间的复杂性,提高了算法的效率。MMHC算法如下:

算法2:MMHC算法

输入:数据集D

输出:有向无环图

1:for 所有变量X∈Vdo

2:CPCX=MMPC(X,D)

3:end for

4:从空图出发执行贪婪爬山搜索的3个搜索算子加边、减边和转边。

当且仅当Y∈CPCX时,添加有向边Y→X。

5:返回最高得分的有向无环图

2.3.2 参数学习方法

参数学习在统计学中主要有最大似然估计和贝叶斯估计两种基本方法,本研究采用贝叶斯估计[13]对贝叶斯网络参数进行学习。

设一个贝叶斯网络有n个节点V={X1,X2,…,Xn},其中节点Xi有ri种取值,其父节点π(Xi)的取法有qi种组合。若Xi无父节点,则qi=1。该贝叶斯网络的参数为:

θijk=P(Xi=k|π(Xi)=j)(i=1,2,…,n;j=1,2,…,qi;k=1,2,…,ri)。

(5)

用θ表示所有θijk组成的参数向量。设D={D1,D2,…,Dm}是一组关于贝叶斯网络的独立同分布的完整数据,则θ的似然函数为:

(6)

其中Nijk表示数据集D中满足Xi=k和π(Xi)=j的样本数量。假设参数θ的先验概率分布服从狄利克雷分布Dir(αij1,αij2,…,αijri)(i=1,2,…n;j=1,2,…,qi),则:

(7)

(8)

从而,p(θ|D)~Dir(Nij1+αij1,Nij2+αij2,…,Nijri+αijri)(i=1,2,…,n;j=1,2,…,qi),因此,参数θ的贝叶斯估计为[13]:

(9)

2.4 模型建立与结果分析

将最终保留的879条完整观测记录的数据集按照7∶3的比例分为训练集和测试集,其中训练集样本为615个,测试集样本为264个。训练集用来构建预后模型,测试集用来预测性能,对预后模型进行评价。

实验环境基本配置为CPU 2.53 GHz、RAM 2.00 GB,操作系统为Windows 7,在MATLAB 7.0上利用贝叶斯网络工具箱Full BNT1.0.4。对贝叶斯网络结构的学习,利用MATLAB编程,最终得到的肺癌预后模型如图1所示,其中,7个节点为表2所示的6个特征变量及1个结果变量,节点之间的连线表明变量间的相互影响关系。实验结果显示,肿瘤大小和组织学分级通过影响肿瘤分期间接地影响患者的生存情况;而确诊时的年龄、肿瘤分期、淋巴结受检数量以及淋巴结阳性数量直接影响患者的生存情况,这一结论符合医学实际。

1-确诊时年龄;2-肿瘤大小;3-组织学分级;4-肿瘤分期;5-淋巴结受检数量;6-淋巴结阳性数量;7-生存情况。

进一步,对图1得到的预后模型进行贝叶斯网络参数学习与推理,利用测试集实现对患者生存情况的预测,从而评价该模型的性能。贝叶斯网络的参数学习与推理过程均利用贝叶斯网络工具箱FullBNT-1.0.4实现。最终实验结果显示在264个测试集样本中,预测正确的达202例,预测准确率为76.52%,表明由MMHC算法构建的肺癌预后模型对肺癌患者5年后生存情况的预测准确性良好,可以用于对肺癌患者生存情况的预测。

3 对比试验

在疾病预测方面,目前常用的有Logistic回归、人工神经网络、决策树及支持向量机等机器学习方法[7]。为了进一步研究MMHC算法构建的贝叶斯网络预后模型的优良性,以预测准确率为标准,将本模型与Logistic回归、人工神经网络、决策树及支持向量机等方法在测试集上进行分类实验比较。具体地在WEKA[14]上选择上述四种方法对应的Logistic、J48、Multilayer Perceptron及SMO四个算法,采用十折交叉验证的方法对测试集数据进行分类,与本算法在预测准确率及其他性能指标方面作比较,结果如表3所示。

由表3可知,提出的预后模型在预测准确率、精确度和ROC曲线下面积的结果均好于其他方法,说明在本研究的肺癌数据上贝叶斯网络模型是最优的。传统的疾病预后模型以统计学中COX回归、Logistic回归为主,但统计学方法通常要求变量之间满足独立性等条件,无法处理变量间共线性的问题,因此存在局限性。贝叶斯网络模型是一种概率图模型,通过有向边和条件概率形象地刻画出变量间的依赖关系,能够进行有效地概率推理且预测准确率高,可以应用于疾病预测。

表3 不同算法的预测准确率及性能指标

4 结论

利用贝叶斯网络方法建立肺癌预后模型,对患者术后5年生存情况进行研究。首先对变量进行特征选择,最终选择影响患者生存情况的6项预后因素;然后利用MMHC算法在训练集上建立肺癌预后模型,在测试集上对患者进行5年后生存情况预测。实验结果显示,利用MMHC算法建立的肺癌预后模型的预测准确率达76.52%,高于目前常用的Logistic回归、人工神经网络、决策树及支持向量机方法。但是,本研究未对数据集中所有的变量进行研究,只是根据肿瘤信息文献提取了与生存预测相关的16个变量,故研究的模型变量具有一定的主观性与局限性。在未来的研究中,可以对更多的变量进行系统的研究,提高模型的准确性。

猜你喜欢
贝叶斯肺癌变量
氩氦刀冷冻治疗肺癌80例的临床观察
长链非编码RNA APTR、HEIH、FAS-ASA1、FAM83H-AS1、DICER1-AS1、PR-lncRNA在肺癌中的表达
抓住不变量解题
CXCL-14在非小细胞肺癌中的表达水平及临床意义
基于贝叶斯定理的证据推理研究
基于贝叶斯解释回应被告人讲述的故事
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
基于互信息的贝叶斯网络结构学习
microRNA-205在人非小细胞肺癌中的表达及临床意义