桑祎莹,黄仕鑫,易静,曾庆,罗亚玲
糖尿病性周围神经病变(diabetic peripheral neuropathy,DPN)是临床常见的糖尿病并发症之一,患病率达50%~80%,严重影响患者的生活质量[1-3]。其发病机制目前尚未完全明了,主要认为与代谢机制异常、微血管病变、神经生长因子缺乏、免疫缺陷等有关[1]。如何早期、准确地诊断DPN仍是该领域中的热点难点之一[4-6]。近些年数据挖掘技术广泛应用于医学领域,在疾病诊断、预后判断、风险评估等方面具有良好的应用价值[7-9]。与适合处理小样本数据的决策树和贝叶斯网络及对数据样本有各种假设条件的传统统计方法相比,随机森林(RF)和误差反向传播(back propagation,BP)神经网络可以高效地处理大规模复杂无规律的医学数据。随机森林和BP神经网络是分类领域中的两种重要方法,本研究旨在通过建立随机森林和BP神经网络在DPN中的个体风险分类模型,为诊断DPN提供一种有价值的计算机辅助方法。
1.1 一般资料
1.1.1 资料来源 选择2016年1-12月重庆医科大学附属第二医院内分泌科确诊为DPN的全部患者(n=2199)以及采用简单随机抽样抽取的非DPN的体检对象(n=2610)。资料不包括所有对象的个人基本信息,只分析了所有对象的临床检验指标。
1.1.2 入选标准及排除标准 病例组入选标准:①2型糖尿病患者;②诊断糖尿病时或诊断后出现神经病变;③符合糖尿病性周围神经病诊断标准;④有临床症状(疼痛、麻木、感觉异常等)者,5项检查(踝反射、针刺痛觉、振动觉、压力觉、温度觉)中任一项异常;无临床症状者,5项检查中任2项异常[10]。对照组入选标准:①无糖尿病病史;②无神经疾病病史;③神经系统检查无阳性体征;④本次体检中未发现有高血糖、高血压、高血脂。采用简单随机抽样抽取符合以上4个入选标准的体检对象作为对照组,它与DPN组有良好的区分。排除标准:其他病因引起的神经病变,如颈腰椎病变;药物引起的神经毒性作用;肾功能不全产生的代谢毒物对神经的损伤[10]。
1.2 研究方法
1.2.1 数据预处理 本研究涉及的86个指标均来自4809例观察对象的临床检验指标,包括血糖指标、血脂指标、肝功能指标、肾功能指标、凝血功能指标、炎症指标、酸碱平衡度等。因在当前环境下已失去可利用价值[11],缺失率>40%的临床检验指标未纳入本研究。这些指标包括:天冬氨酸转氨酶/丙氨酸转氨酶(AST/ALT)、肌酸激酶同工酶(CKMB)、谷氨酸脱羧酶抗体、胰岛素自身抗体、内生肌酐清除率、胰岛素、C-肽、尿微量白蛋白/尿肌酐、C反应蛋白、前白蛋白、血清游离T3、血清游离T4、血清促甲状腺激素、游离脂肪酸、细菌、脂蛋白a、白细胞、管型计数、尿结晶检查、上皮细胞计数、小圆上皮细胞、黏液丝、总胆汁酸、淀粉酶、胆碱酯酶、5'-核苷酸酶、大血小板比率、乳酸、阴离子间隙、梅毒螺旋体抗体测定、淋球菌涂片检查、幽门螺杆菌、HIV抗体筛查试验、丙肝病毒抗体共计34个。对于缺失率<40%的52个检验指标全部纳入模型,并采用k-Means的方法进行缺失值填补。对于个别检验指标的测量值出现与其平均值的偏差超过两倍标准差的异常情况,则删除该异常值。本研究删除了样本中6例异常值,其中总样本为4809例,占总样本的0.12%,因此并不影响整体数据的分布。预处理后的数据不仅可以保持原始数据的完整性,而且可以提高数据挖掘的质量,降低数据挖掘所需要的时间。
1.2.2 观察指标 两组对象的观察指标包括超敏C反应蛋白、糖化血红蛋白、白细胞计数、尿比重、红细胞计数、pH、低密度脂蛋白、甘油三酯、高密度脂蛋白、总胆固醇、葡萄糖、部分凝血活酶时间、凝血酶时间、凝血酶原时间、间接胆红素、直接胆红素、总胆红素、γ谷氨酰转肽酶、白蛋白、丙氨酸氨基转移酶、碱性磷酸酶、总蛋白、天门冬氨酸、尿素、尿酸、单核细胞百分比、单核细胞计数、血细胞比容、红细胞分布宽度、红细胞分布宽度标准差、淋巴细胞百分比、淋巴细胞计数、平均红细胞体积、平均血红蛋白含量、平均血红蛋白浓度、嗜碱粒细胞百分比、嗜碱粒细胞计数、嗜酸粒细胞百分比、嗜酸粒细胞计数、血红蛋白测定、血小板压积、血小板分布宽度、平均血小板体积、血小板计数、中性粒细胞百分比、中性粒细胞计数、二氧化碳结合率、钙、钾、氯、钠、肌酐等共计52项。
1.2.3 随机森林与BP神经网络模型的构建 采用R软件来实现,分别采用约登指数和ROC曲线下面积来评价模型的真实性和判别分析效果。通过比较两种诊断模型的评价指标,选择最优分类模型。
1.2.4 随机森林 随机森林是一种包含多个决策树的分类器,它通过自助法(bootstrap)重采样技术,从原始训练样本N中有放回地重复随机抽取k(k<N)个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策树组成的随机森林[12],采用多数投票法对测试样本进行决策分类。这些随机决策树相互间独立,且在树的生长过程中和训练样本的选择上均引用随机的方法以降低树结构分类器较高的方差[13]。
1.2.5 BP神经网络 BP神经网络模型是多层前馈神经网络,该模型由输入层、输出层、隐含层组成。BP网络的学习过程包括正向传播过程(the forward phase)和反向传播过程(the backward phase)两部分。当给定网络一个输入模式X时,它在相应的权值、阈值和激活函数的作用下传递到输出层,产生一个输出模式O,称为正向传播,如果输出响应与期望输出模式有误差,不满足要求,则将误差反向传播。在误差返回过程中,网络修正各层的权值和阈值,直到误差信号最小,称为反向传播。即当传递信号的误差达到允许精度时规定网络训练完成[14-15]。
1.2.6 模型的参数评价 选用约登指数和曲线下面积来评价模型的真实性和判别分析效果。约登指数表示模型发现真正患者与非患者的总能力,取值范围为(–1,+1)之间,其值越接近于+1,其真实性越高,计算公式=灵敏度+特异度–1;ROC曲线下面积用于二分类判别模型的分析与评价,取值范围为(0.5,1),曲线下面积越接近于1,其诊断价值越高。
2.1 随机森林模型 有放回地重复随机抽取全部样本的70%作为训练样本,并利用训练样本生成对应的随机森林模型。随机森林分类器需要设置两个重要参数:树节点预选的变量个数(mtry)、随机森林中树的个数(ntree)。对于树节点预选的最优变量个数,采用逐一增加变量的方法从52个临床观察指标变量中挑选出模型误判率最低的决策树节点变量个数。对于随机森林中决策树的个数,当决策树数量>400后,模型误差趋于稳定。因此,本研究构建了决策树节点处变量个数为9,决策树数量为400的随机森林模型。测试判别:利用训练样本生成的随机森林模型对测试样本采用投票的方式,得到决策树中输出最多的类别作为测试样本所属类别,即判定了是否患有DPN。
2.2 随机森林模型结果 使用训练样本数据训练模型,测试样本数据评估模型的预测分类能力。其中,训练样本3368例,测试样本1441例,对数据分类的正确率分别达到100.00%、99.93%,模型的诊断参数约登指数分别为100.00%、99.85%,ROC曲线下面积分别为1.0000、0.9994。说明所构建的随机森林模型效果很好(表1)。
表1 随机森林模型分析结果及参数评价Tab.1 Random forest analysis and parameter evaluation
2.3 BP神经网络模型
2.3.1 数据归一化 将样本值归一到[–1,1]之间,目的是提高网络训练速度,本文使用标准化方法如下:Xk=(Xk-Xmean)/Xvar,Xmean为数据序列的均值,Xvar为数据的方差。
2.3.2 神经网络拓扑结构的确定 该网络包括输入层、2个隐含层和输出层,其中输入层包含52个节点,2个隐含层各包含26个节点,输出层节点数为1。BP神经网络采用Sigmoid函数作为激活函数,并且采用梯度下降法调整网络权值。对于分类问题,输出节点给出的是预测类别的概率值。
2.3.3 测试判别 有放回地重复随机抽取全部样本的70%作为训练样本,利用训练样本生成BP神经网络模型,如果输出概率值≤0.5,为未患DPN,输出概率值>0.5,为患有DPN。
2.4 BP神经网络模型结果 训练样本3368例,测试样本1441例,对数据分类的正确率分别达到100.00%、99.58%,模型的诊断参数约登指数分别为100.00%、99.14%,ROC曲线下面积分别为1.0000、0.9959。说明所构建的BP神经网络模型效果很好(表2)。
表2 BP神经网络模型分析结果及参数评价Tab.2 BP neural network analysis and parameter evaluation
为揭示各种错综复杂的生命现象发生发展的规律,当前的临床医学与预防医学开展了大量研究并取得了丰富的数据[8]。如何应用这些数据建立合理的数学模型并对疾病进行准确地判别分类,为临床诊断提供一定帮助,成为目前医学工作者的重要工作之一。
与传统的统计方法对数据分布和类型的要求相比,BP神经网络不需要考虑自变量是否满足正态性及变量间独立等条件,同时BP神经网络具有很强的非线性映射能力,能应对复杂的大规模数据及无先验知识的资料[15],因此解决了本研究中DPN早期各项实验室指标与诊断结果之间的非线性关系。其中训练样本的正确率为100%,测试样本的正确率为99.58%,ROC曲线下面积分别为1.0000和0.9959,判别分类效果很好。但BP神经网络在实际应用中存在一些局限性和不足:①构建BP神经网络模型时,拓扑结构的确定,如果隐含层神经元数目过少,建立的模型过于简单,对于数据的内在规律提取不足;如果神经元数目过多,则建立的网络结构过于复杂,导致过度拟合[8];②关于模型具体危险因素的权重值,如权重系数的假设检验,计算权重系数的可信区间,单层神经网络的权重系数具有一定的医学可解释性,但对于多层神经网络的权重系数,很难给出其具体意义[14,16];③设计多层BP神经网络,由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,这使得BP算法的学习速度很慢;④通过单一方法构建的分类器,在准确率上存在缺陷,精度无法保证正常使用,并且容易出现过度拟合的现象[17]。
随机森林作为一种以决策树为基分类器的集成分类器,不仅训练速度快而且容易实现,模型的稳健性较高,可以高效地处理大数据集[18-19]。随机森林的一个重要应用就是对数据进行判别分类研究[12]。与BP神经网络模型相比,其优点为:①由于随机森林的抽样特性,各个决策树之间相互独立,因此随机森林不会受到异常值和噪声的影响而出现过度拟合的情况[20];②许多研究表明,组合分类器比单一分类器的分类效果要好;③与BP神经网络设置多层隐含层时的权重系数是否有真实意义相比,随机森林不仅可以自动辨识最重要的输入变量,而且还能同时处理连续型变量和分类变量。本研究对纳入的DPN早期各项实验室指标进行分析,在随机森林模型自动辨识相关变量的情况下,避免了单独观察某一个指标的片面性和主观性。其中训练样本的正确率为100.00%,测试样本的正确率为99.93%,ROC曲线下面积分别为1.0000和0.9994,判别分类效果很好。但随机森林在实际应用中还存在一些局限性和不足:①随机森林模型没有剪枝过程,对某些数据集可能会形成过度拟合的现象[17];②当无差异变量数量增加时,随机森林的判别能力在一定程度上会减弱[21]。
DPN具有起病缓慢、隐匿性强、症状逐渐加重、不易逆转的特点,已经成为目前尚无法治愈的一种高发病,其早期诊断具有重要意义[22-23]。因此,本文采用随机森林和BP神经网络对是否患有DPN进行数据分类建模,其中,随机森林和BP神经网络模型测试样本对数据分类的正确率分别为99.93%、99.58%,约登指数分别为99.85%、99.14%,ROC曲线下面积分别为0.9994、0.9959,95%CI分别为0.9961~1.0000、0.9910~0.9985,两种分类器在分类效果上差异无统计学意义(P=0.08),随机森林与BP神经网络在DPN患病的判别分类中准确性均很高,说明这两种模型在DPN个体风险研究的分类结果上都有很好的适用性。但是基于BP神经网络和随机森林方法学上的特点,随机森林模型在实际应用中操作更简便,结果更容易实现,实现的分类结果更能体现出问题的真实意义。因此随机森林模型在判别DPN患病风险研究中具有更高的实用性。但当前研究并未对DPN进行细分,如感觉神经病变、运动神经病变等,无法探究DPN各个类型的特异性。同时DPN的影响因素繁多,利用智能方法进行决策仍存在很大的挑战,因此,下一步将使用更大、更全面的样本集对本文中的模型进行验证和改进,从而建立更加完善的分类模型。