BP神经网络在生存分析中的应用

来源:岁月联盟 作者: 时间:2010-07-13

                 作者:李丽霞,郜艳晖,张丕德,张瑛,邹宇华 

【摘要】  目的 探讨BP神经在生存分析中的应用。 方法 通过贲门癌预后的实例说明神经网络的连续时间模型与离散时间模型的使用。结果 所建立的神经网络生存分析模型有较好的预测能力。 结论 神经网络在生存分析中有很大的灵活性,在模型中可以容纳非线性效应,协变量的效应可以随时间而变化,不要求满足PH假定,有较广泛的应用前景。

【关键词】  BP神经网络;生存分析;贲门癌

  Abstract:Objective To explore the application of BP neural network in the survival analysis.Method Three approaches have been illustrated how to fit survival model for carcinoma of the gastric cardia.Results The neural network models have good predictive ability.Conclusion  BP neural network is very flexible without making assumption of proportionality of hazards,it can allow non-linear predictors and the effect of the covariates to vary over time,so it has broad application prospects.

  Key words:BP neural network; survival analysis; carcinoma of the gastric cardia

  生存分析(survival analysis)起源于19世纪对寿命表的分析,目前已广泛应用到临床研究中,可以处理含有删失值的数据,可以同时考虑事件发生的结局及发生结局的时间。目前处理生存资料的方法有参数模型、非参数模型及半参数模型。参数模型对生存时间的分布要求非常严格,医学资料中很少能满足;生存分析中传统的回归模型,例如:Cox比例风险模型、加速失效时间模型也要求模型满足一定的假设前提,而实际数据往往难以满足这些假设。神经网络近年来受到普遍的关注,在医学领域中的应用主要预测与分类,与传统回归模型不同,它可以克服这些缺点,在模型中可以容纳非线性效应,交互效应、协变量的效应可以随时间变化。目前国内研究神经网络在生存分析中的应用尚较少,本文拟探讨几种不同的神经网络生存模型在贲门癌预后中的应用。

  1  方法
   
  BP神经网络是目前应用最多的神经网络,一般由一个输入层(input layer)、一个输出层(output layer)、一个或几个中间层(隐层)组成,每一层可包含一个或多个神经元,其中每一层的每个神经元和前一层相连接,同一层之间没有连接。输入层神经元传递输入信息到第一隐层或直接传到输出层,隐层的神经元对输入层的信息加权求和,加一个常数后,经传递函数运算后传到下一个隐层(或输出层),常用的传递函数是logistic函数,即φh=1/(1+exp (-z)),输出层神经元对前一层的输入信息加权求和经传递函数φ0(线性或logistic函数或门限函数)运算后输出,例如:如果输入为xi,对于含一个隐层的神经网络可以得到:

  g(xi,θ)=φ0(αk+∑i≠kwikxi+∑jwjkφh(αj+∑iwijxi))(1)
   
  θ表示未知的参数矢量(即各层的网络权值),BP神经网络一般采用BP算法训练网络,训练开始时选择初始值0,BP算法通过梯度下降法得到估计值,使得g(x,)能很好地估计实测值,关于BP算法及改进可相关[1]。
      
  利用BP神经网络模型建立生存分析模型,常用的方法有:连续时间模型(continuous time models)与离散时间模型(discrete time models)。

  1.1  连续时间模型(continuous time models)
      
  最常用的是Faraggi和Simon[2]提出的方法,在Cox比例风险模型中,风险函数与时间、协变量有如下关系:

  h(t,xi)=h0(t)exp (βxi)(2)
   
  通过最大化偏似然函数,使用Newton-Raphson法得到参数的估计值,现在使用神经网络的输出值g(xi,θ)来代替(2)中的线性项 βxi,比例风险模型变成h(t,xi)=h0(t)exp [g(xi,θ)],有偏似然函数:

  Lc(θ)=∏i∈uexp ∑jwjk/(1+exp (-wijxi))/∑j∈Riexp ∑jwjk/(1+exp (-wijxj))(3)
   
  g(xi,θ)可以依赖时间和协变量变化,也就是说协变量的效应可以随时间而变化,这给我们提供了一个可以处理删失变量但又不需要满足比例风险模型的PH假定的可供选择的方法。

  1.2  离散时间模型(discrete time models)
   
  常用的模型有[3]:(1)直接预测患者是否可以存活到某年(例如5年),是最简单的神经网络模型,模型的输出层只有一个神经元结点,如欲预测多个时间点,则需建立多个神经网络模型(每个模型对应一个时间区间);(2)多个输出结点的单个神经网络模型。

  1.2.1  输出层有单个结点的神经网络模型  是一个标准的分类神经网络模型,生存时间被分成2个区间,例如生存时间是否大于5年。其似然函数为:
 
  ∏patientsptii(1-pi)(1-ti)

  其对数似然函数为:
 
  ∑patientstilog pi+(1-ti)log (1-pi)
   
  pi:第i个病人死亡的概率,ti:第i个观测在某时间点(例如5年)的结果,如观测死亡,取值为1,否则取值为0。对于删失的观测不能简单地排除,这样会造成偏性,我们使用Cox线性比例风险模型产生的个体预测值对删失值做填补。

  1.2.2  输出层有多个结点的神经模型  将生存时间分成几个离散的区间,估计某个区间事件发生的概率。
   
  不考虑时间区间的顺序,有模型: log pk-log p1=ηk(X)(k=2,…,P)
   
  从神经网络可以得到输出值yk:yk=∑iwikxi+∑jwjkφ1(∑iwijxi) (K=1,…,P) (这里我们设ηk(x)=yk-y1),

  于是可以得到时间区间k的概率:pk=exp (yk)   ∑l(yl)

  建立似然函数 ∏patients∑li   k=mi+1pki

  mi:观测i存活的前一个生存区间,li:最后的时间区间,pki:第i个病人在时间区间k死亡的概率。
      
  本次研究采用灵敏度、特异度、一致性指数C(concordance index)[4,5]作为预测准确性的评价指标。一致性指数C是对含有删失数据的ROC曲线下面积的推广(generalization),是指预测结果和实际结果一致的观察单位的对子数占总的有用对子数的比例,即C=一致的对子数/ 有用的对子数,C接近0.5表明模型的预测性能差,接近1表明预测性能好。一致性指数的步骤为[5]:①产生所有的病例配对。若有n个观察个体,则所有的对子数为C2n。②排除两种对子:对子中具有较小观察时间的个体没有达到观察终点及对子中2个个体都没达到观察终点。③计算有用对子中,预测结果和实际相一致的对子数,④计算一致性指数。

  2  实例分析
      
  贲门癌是常见恶性肿瘤,对236例经手术切除但未行放化疗的贲门癌患者随访,生存时间为确诊到最后一次随访,按月记录,分析的协变量包括:性别、年龄、肿瘤的长度、组织学类型、大体分型、浸润深度、淋巴结转移情况、TNM分期等临床上可能的预后因素。为了减少训练时间,先采用COX比例危险模型对可能影响预后的因素进行筛选,采用向前逐步法,引入标准为0.05,剔除标准为0.10,结果显示对贲门癌患者生存率有影响的因素为:病人的肿瘤长度、淋巴结转移情况、组织学类型、筛选结果见表1。

  表1  贲门癌患者生存的COX逐步回归分析结果(略)

  Tab.1  The result of Cox regression model for carcinoma of the gastric cardia

  2.1  BP网训练集、校验集和测试集的确定
   
  从原始数据中随机抽取80例作为训练集,80例作为校验集,76例为预测样本。

  2.2  输入数据的预处理
   
  使输入变量的取值落在0到1的范围内。对于肿瘤长度使用x′i=xi   max (x)进行归一化处理;病理分型为无序分类变量,以哑变量的形式赋值。

  2.3  神经网络模型的建立及训练
   
  选取Cox回归选出的3个变量作为网络的输入。建立输出层为1个结点的离散型神经网络时,将病人生存时间按下式分为两类作为输出变量

  yi(i=1,2,…,n),

  即yi=1   生存t≥5年

  0   生存t<5年;建立输出层为5个结点的离散型神经网络时,将病人生存时间分为5类作为输出变量yi,time<1 year,1 year≤time<2 year,2≤time<3 year,3≤time<5 year,time>5year。
   
  使用Matlab软件建立神经网络模型,学习率为0.01,传递函数采用logistic传递函数,单结点网络的隐单元数为2,多结点网络隐单元数为3,采用“早停止”策略防止过度拟合。

  2.4  两种神经网络模型预测性能
    
  使用灵敏度、特异度、一致性指数C评价模型的预测性能。

  表2  两种神经网络模型预测性能*(略)

  Tab.2  The predictive performance of three type of neural network

  *判断界值取0.5

  3  讨论
        
  神经网络已在语音识别、图像诊断分析、临床诊断、高分子序列分析等许多方面取得了成功的应用,在医学研究领域,变量间关系往往非常复杂,神经网络正逐渐变成分析数据的流行工具,目前主要应用于分类与预测,用于生存分析方面的研究还较少。国内黄德生[5]等建立利用BP神经网络建立time-coded model和single-time point model用于肺鳞癌预后预测,贺佳[6]等对肝癌术后无瘤生存期的预测做了应用尝试。
        
  本文通过实例建立连续时间模型与离散时间模型探讨BP神经网络在生存分析中的应用,Faraggi提出的方法还可以扩展到其他可以处理删失数据的模型,例如加速失效时间模型、Buckley-James 模型,但哪一种模型更好,还有待进一步研究。神经网络在生存分析中的应用主要在于[7]:个体患者预后的预测,研究预后因子的重要性,研究预后因子的相互作用;对于预测变量的影响力强弱,解释性还有待进一步探讨。还有研究者在建立多个时间区间的模型时将时间区间也作为一个输入变量,也有学者将神经网络纳入Bayes方法的研究框架,神经网络建立的生存分析模型可以探测复杂的非线性效应,复杂的交互效应,相信会逐渐应用到生物医学研究领域。

【】
    [1]余雪丽.神经网络与实例学习[M].铁道出版社,1996:56-61.

  [2]DAVID F,RICHARD S. A neural network model for survival data[J]. Statistics in Medicine,1995,14:73-82.

  [3]RUTH,RIPLEY,ADRIAN L,et al. Non-linear survival analysis using neural networks[J]. Statistics in Medicine,2004,23:825-842.

  [4]贺宪民,贺佳,范思昌,等.Cox 模型与BP 神经网络在处理非线性数据时的性能比较[J].数理统计与管理,2004,23(2):69-72.

  [5]黄德生,周宝森,刘延龄,等.BP人工神经网络用于肺鳞癌预后预测[J].中国卫生统计,2000,17(6):337-340.

  [6]贺佳,张智坚,贺宪民.肝癌术后无瘤生存期的人工神经网络预测[J].数理统计与管理,2002,21(4):14-16.

  [7]高蔚,聂绍发,施侣元,等.神经网络在生存分析中的应用进展[J].中国卫生统计,2006,23(4):358-360.