查看: 3329|回复: 4

[大作业] 基于神经网络的肿瘤病患者生存分析

[复制链接]
论坛徽章:
0
发表于 2015-5-28 22:18 | 显示全部楼层 |阅读模式
本帖最后由 gg1993118 于 2015-5-28 22:22 编辑

基于神经网络的肿瘤病患者生存分析

一、背景分析
       本文主要采取神经网络的方法筛选变量,并预测肿瘤病患者在手术之后的生存结果,由于数据所限,只能将目标函数定位为10年内的生存结果(即死亡或存活)。在本文结尾处,考虑根据神经网络模型预测结果,用线性回归的方法,制定出选出变量的预后量表,可供实际预测使用,结果可用来预测新的患者在10年内的死亡概率。
       使用的数据是肿瘤病医院所提供的真实数据,所以具体数据在文章中不便公开,但变量均值已上传为附件。数据为117位患者在十年内的生存情况,变量为患者在手术后的各项指标,包括35组基因数据和36组临床数据,但我拿到的数据并不是原始数据,而是经过二值化处理后的0-1数据(代表指标的高低程度),在神经网络中更易使用。

二、建模过程
1)具体思路
     经过对数据的初步观察,发现变量总数超过70个,类型分为两大类,基因类和临床表现类,而基因又分为肿瘤型和正常型,将数据平均分成两组,训练集和测试集,由于数据中死亡人数仅占总人数的20%左右,因此划分时需要将死亡的样本平均分到训练集和测试集,否则建模结果将不可靠,具体步骤如下:
I.    先考虑减少变量,针对三种变量分别使用神经网络建模,根据变量的重要性程度在三组变量中分别筛选出一部分变量;
II.   再将筛选出的变量合成一组,并筛选出重要性更高的变量,建立第四个神经网络模型;
III.  对比四个模型的预测准确度,一般来说第四个模型的准确度会较高,但在此例中,肿瘤基因模型的准确度也很高,所以在第四个模型中筛选出的变量中,肿瘤基因变量的数量较多;
IV.   根据模型四的预测结果,将预测概率对数化后建立线性回归模型,得到各变量的系数,再根据系数来制定分数表,并检测分数表的预测结果;
V.    最后将第四个神经网络模型和分数表预测的结果用坐标点图表示出来。

2)建立神经网络模型
I.   模型一为19个肿瘤基因变量建立的神经网络模型,其删选变量结果如下:
  Nvar  Accuracy     Kappa     rmvName
1   19 0.9045887 0.6838632    tcf4caco
2   18 0.9065887 0.6887117     opncaco
3   17 0.9104257 0.6987427  erbetacaco
4   16 0.9142701 0.7116467    wnt1caco
5   15 0.9204644 0.7353432    mmp1caco
6   14 0.9257609 0.7610298  maspincaco
7   13 0.9289660 0.7630532 integrincaco
8   12 0.9307512 0.7725578 cyclinD1caco
9   11 0.9417659 0.8006236   Trop2caco
10  10 0.9398611 0.7998776    MMP7caco
11   9 0.9443445 0.8156918 survivincaco
12   8 0.9421527 0.8035546   CD44v7caco
13   7 0.9406142 0.7973117     pparcaco
14   6 0.9461211 0.8206659  catenincaco
15   5 0.9450111 0.8270464      p53caco
16   4 0.9409636 0.8203816     mapkcaco
17   3 0.9254367 0.7563646     TGFBcaco
18   2 0.9221210 0.7591550   TGFbr2caco
1.png

于是筛选出的6个变量为:
TGFbr2caco,mapkcaco,TGFBcaco,pin1caco,p53caco,catenincaco
选择筛选出的变量,隐藏层神经元个数为3,权重衰变为0.0001时(接近较佳),模型如下:
2.png
同理,模型二与模型三分别为正常基因变量和临床数据的模型,最终模型如下:
3.png 4.png


II.     在上一步选出的一共6+8+10=24个变量中,再筛选变量
5.png 6.png

筛选出的11个变量为:
TGFbr2caco,TGFBcaco,p53caco,mapkcaco,pin1caco,catenincaco,mmp7norco,PatholGrade,Intramural,postOLiverM,tumorSite2
从筛选出的变量可以发现,肿瘤基因变量对结果影响较大

3)神经网络模型测试
I.   肿瘤基因变量
  
  
  真实存活
  
  真实死亡
  
  
  
  
  
  真实存活
  
  真实死亡
  
  测试集, 预测存活
  
  41
  
  4
  
  
  
  训练集,预测存活
  
  44
  
  1
  
  测试集, 预测死亡
  
  1
  
  12
  
  
  
  训练集,预测死亡
  
  1
  
  12
  
7.png

II.   正常基因变量
  
  
  真实存活
  
  真实死亡
  
  
  
  
  
  真实存活
  
  真实死亡
  
  测试集, 预测存活
  
  37
  
  8
  
  
  
  训练集,预测存活
  
  45
  
  1
  
  测试集, 预测死亡
  
  7
  
  6
  
  
  
  训练集,预测死亡
  
  4
  
  9
  
8.png

III.   临床数据变量
  
  
  真实存活
  
  真实死亡
  
  
  
  
  
  真实存活
  
  真实死亡
  
  测试集, 预测存活
  
  44
  
  1
  
  
  
  训练集,预测存活
  
  46
  
  0
  
  测试集, 预测死亡
  
  6
  
  7
  
  
  
  训练集,预测死亡
  
  8
  
  5
  
9.png

IV.  三类综合变量
  
  
  真实存活
  
  真实死亡
  
  
  
  
  
  真实存活
  
  真实死亡
  
  测试集, 预测存活
  
  42
  
  3
  
  
  
  训练集,预测存活
  
  45
  
  0
  
  测试集, 预测死亡
  
  1
  
  12
  
  
  
  训练集,预测死亡
  
  1
  
  12
  
10.png
经过测试可以发现第四个模型的预测度较佳,于是接下来选用第四个模型的变量做回归分析。

4)回归模型
第四个模型的预测概率经过对数变换log[p/(1-p)]后,与11个变量做线性回归模型,得到结果如下:
Coefficients:
            Estimate Std. Error t valuePr(>|t|)   
(Intercept) -1.66173    0.07062 -23.529  < 2e-16 ***
TGFbr2caco  -0.54696   0.03824 -14.305  < 2e-16 ***
TGFBcaco     0.74125   0.06812  10.881 2.59e-14 ***
p53caco      0.57184   0.09092   6.290 1.06e-07 ***
mapkcaco     0.46492   0.06162   7.545 1.39e-09 ***
pin1caco     1.46140   0.06444  22.677  < 2e-16 ***
catenincaco  0.96208   0.05993  16.054  < 2e-16 ***
mmp7norco    0.31558   0.06705   4.707 2.34e-05 ***
PatholGrade  1.03743   0.05842  17.757  < 2e-16 ***
Intramural  -0.60985   0.06836  -8.921 1.35e-11 ***
postOLiverM  0.10649   0.07671   1.388    0.172   
tumorSite2   0.31776   0.04016   7.913 3.98e-10 ***

Residual standard error: 0.1236 on 46degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared:  0.9928,  AdjustedR-squared:  0.9911
F-statistic: 578.1 on 11 and 46DF,  p-value: < 2.2e-16

回归模型的预测结果:
  
  
  真实存活
  
  真实死亡
  
  
  
  
  
  真实存活
  
  真实死亡
  
  测试集, 预测存活
  
  42
  
  3
  
  
  
  训练集,预测存活
  
  45
  
  0
  
  测试集, 预测死亡
  
  1
  
  12
  
  
  
  训练集,预测死亡
  
  2
  
  11
  
根据回归模型的系数,制定出预后量表如下:
11.png
若按pin1caco变量为1时,分数为100做标准,则11个变量的分数的值标准如下:
TGFbr2caco,TGFBcaco,p53caco,mapkcaco,pin1caco,catenincaco,mmp7norco,PatholGrade,Intramural,postOLiverM,tumorSite2
37.427550  50.722365 39.129911  31.813194100.000000  65.833063  21.594721 70.988897  41.730691   7.287199 21.743853

然后用预测量表算出117位患者得分,具体得分在附件中,用得分与存活概率做线性回归如下:
Coefficients:
              Estimate Std. Error t valuePr(>|t|)   
(Intercept) -2.8176699  0.0217798 -129.37   <2e-16 ***
x            0.0146141  0.0001662  87.92   <2e-16 ***

Residual standard error: 0.1121 on 56degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared:  0.9928,   AdjustedR-squared:  0.9927
F-statistic:  7730 on 1 and 56 DF,  p-value: < 2.2e-16

算出预测概率分界线的分数为192.8055分,即高于此分数的患者被判为死亡死亡概率与0到600的分数的关系如下:
分数04080120160200240280
概率0.0560.0970.1610.2570.3820.5260.6660.781
分数320360400440480520560600
概率0.8650.9200.9540.9740.9850.9920.9950.997
预测结果为:
12.png


三、分析结果
所有患者用点图表示,红点为真实死亡患者
竖虚线为神经网络模型的预测分界线,横虚线为回归模型分数表的预测分界线

13.png
       结果显示,神经网络模型的预测准确度与回归模型分数表的预测准确度十分接近,神经网络模型类似黑匣子模型,在实际操作中不易使用,而分数表在实际预测中更易操作,因此分数表模型在此例中更合理。文中所用的具体代码已在附件中以R文件形式给出。

Survival.rar

208.84 KB

回复

使用道具 举报

新浪微博达人勋 txyw 未实名认证
论坛徽章:
0
发表于 2015-6-3 11:02 | 显示全部楼层
楼主,我坐沙发!有空交个朋友合作搞科研哈
回复 支持 反对

使用道具 举报

论坛徽章:
6
抽样调查徽章
日期:2016-07-21 11:16:17STATA徽章
日期:2016-08-11 11:01:36统计徽章
日期:2016-09-08 11:05:56投资理财徽章
日期:2016-11-03 17:34:08数据展示徽章
日期:2016-12-08 15:25:37R研习者中级
日期:2016-12-22 15:52:57
发表于 2016-5-21 19:59 | 显示全部楼层
一个刚开始注册,学习不到三天的童鞋鼓足勇气问个比较低级的问题,希望楼主不要鄙视,耐心回答,请问楼主用的是什么软件?
回复 支持 反对

使用道具 举报

论坛徽章:
0
发表于 2016-12-9 16:27 | 显示全部楼层
好强大,学习一个。感觉貌似和我们医学关系很密切啊
回复 支持 反对

使用道具 举报

论坛徽章:
0
发表于 2016-12-9 16:28 | 显示全部楼层
Joyce_zhou 发表于 2016-5-21 19:59
一个刚开始注册,学习不到三天的童鞋鼓足勇气问个比较低级的问题,希望楼主不要鄙视,耐心回答,请问楼主用 ...

R啊,R语言。压缩包里有处理过程的脚本。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2018-12-17 10:45 , Processed in 0.156917 second(s), 43 queries .