基于信息增益的加权贝叶斯插补法及其在心脏病类医疗缺失数据分析中的应用

【www.zhangdahai.com--其他范文】

徐夏楠,张 洪

(1. 复旦大学 生命科学学院, 上海 200438; 2. 中国科学技术大学 管理学院, 安徽 合肥 230026)

近些年来,数据挖掘方法越来越多地被应用于医疗领域,使用患者的特定信息来预测诊断结果,以支持临床决策。利用预测的数据构建决策模型,再将模型用于如预后、诊断和治疗计划[1]。但因为各种因素,临床数据普遍存在大量缺失数据,导致临床试验统计分析的结果出现偏倚。缺失比例如果较大,对临床试验结果的结论可信度会有明显影响。例如,在一项减肥药的研究中,缺失数据限制了试验得出明确结论的能力,可能导致对药物安全性的错误推论[2]。

缺失数据的统计分析方法在不断发展中,随着医疗大数据的不断涌现,针对医疗缺失数据的统计分析方法学研究成为一个重要的课题。多重插补是目前较为流行的缺失值插补方法,White等[3]提出一种叫做“使用链式方程的多重估算方法(Multiple Imputation by Chained Equations, MICE)”,该方法较受欢迎,原因是在MICE中允许输入临床中的不同变量类型数据,方便地输出每个变量的后验预测分布,并基于此进行统计推断。另一个研究较多的是由Little[4]提出模式混合模型(Pattern Mixture Model, PMM),该方法需要对较多参数进行估计,一般情况下的PMM通常可识别性较低,需要增加一些约束条件[5]。机器学习算法在处理缺失数据方面也有应用,例如,Stekhoven等[6]提出并评价了一种利用随机森林来填补缺失值的非参数方法misForest,对缺失值进行预测;
Lee等针对代谢组学的非随机缺失(Missing Not At Random, MNAR)数据对插补性能的影响,改进了K最近邻插补法(K-Nearest Neighbor Interpolation, KNNI)[7],提出了一种新的对MNAR数据提供更准确的插补算法No-Skip kNN[8]。贝叶斯推断在医学研究中的应用也很广泛,在meta分析、观察性研究、临床诊断与筛检试验等都有应用,其中诊断和筛检试验是使用贝叶斯推断较多的领域[9],但贝叶斯模型在处理医疗缺失数据中的应用较少。

刘鹏等[10]提出的基于信息增益的贝叶斯重叠补缺模型,是基于信息增益的特征选择方法,改进了贝叶斯重叠补缺模型,用信息增益来度量属性值对分类结果的重要性,提出先插补重要性高的属性,然后依次排序插补,这样可以降低插补准确率对分类结果的影响,但对插补后数据集进行分类预测时,并没有优势,需要进一步优化。

本文针对信息增益在性选择上的不足之处,提出基于信息增益的加权贝叶斯插补法(Weighted Bayesian Interpolation based on Information Gain, WBIIG),引入属性的权重,将每个属性的重要性加入对分类结果的影响,充分利用属性排序的性质,可以减少因为插补顺序的偏差对插补结果的影响,从而优化了插补模型。在3种心脏病类医疗缺失数据集上验证插补效果,结果表明:
在大多数情况下,新方法不仅优于基于信息增益的贝叶斯插补法,而且也优于K最近邻插补法(KNNI)和多重插补法(Multiple Interpolation, MI)。

1.1 朴素贝叶斯分类法

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。朴素贝叶斯分类(Naive Bayesian classification)是贝叶斯分类中最简单,也是常见的一种分类方法,是根据贝叶斯原理,用先验概率与类条件概率进行分类预测的方法,用全部样本的分类情况来预测待分样本的分类结果[11]。

假设每个样本有n个属性X={x1,x2,…,xn},假定有m个类别C1,C2,…,Cm。对一个类别未知的样本X,朴素贝叶斯分类法的基本思想是用最大后验概率P(Ci|X)=P(X|Ci)P(Ci)/P(X)相应的类别作为预测结果。由于P(X)不依赖于类别,只需最大化P(X|Ci)P(Ci)即可。记Si为类Ci的样本数,S是总的样本数,先验概率P(Ci)可用频率Si/S估计,假设属性在给定类别时条件独立,即

(1)

当xk为分类属性时,P(xk|Ci)估计为Sik/Si,其中Sik为x1,x2,…,xn中类别为Ci的属性数;
当Ak为连续属性时,可对其进行离散化,转化成分类属性,再对P(xk|Ci)进行估计。为了预测X的类标号,对每个类Ci计算P(X|Ci)P(Ci),预测的类标号是使P(X|Ci)P(Ci)最大的类Ci。

从式(1)可知,如果任何一个属性的P(xk|Ci)为零,则P(X|Ci)就为零,从而后验概率P(Ci|X)为零,这样的估计结果一般不合理。为了避免发生这种情况,采用拉普拉斯校准来修正,在数据集样本较多的情况下,对每个计数加1后导致的概率变化较小可忽略不计,这样可以避免后验概率为零的情况。

1.2 基于信息增益的贝叶斯插补法

基于信息增益的贝叶斯插补法(Bayesian Interpolation based on Information Gain, BIIG)是基于朴素贝叶斯分类法对缺失数据插补的模型,先计算每个属性的信息增益(不依赖于样本),将属性按照信息增益从大到小排序;
将信息增益最大的属性中所有缺失的数据作为预测的目标,采用朴素贝叶斯分类法对该缺失值进行预测,得到一个新的数据集D1;
接着对信息增益次大的属性缺失值进行预测,如此重复,直到所有缺失数据插补完全。

下面介绍信息增益的定义。因为上述过程中先预测属性值的准确率会影响到后面属性值预测的准确率,后续插补的错误率一般会越来越大,所以在插补过程中属性的插补顺序很重要,于是引入了信息增益这一概念,用来衡量属性对样本分类贡献的信息。贡献的信息越多,表明该属性越重要,因此定义信息增益如下[12]。

先定义类别变量C={C1,C2,…,Ci}的信息熵

接着定义属性变量X={X1,X2,…,Xi}的条件下类别C的条件信息熵

最后信息增益为

IG(C|X)=H(C)-H(C|X).

1.3 基于信息增益的加权贝叶斯插补法

ID3算法以及C4.5算法的开发者Quinlan[13]认为基于信息增益进行属性选择的ID3算法偏向于支持结果多的属性。从信息增益的计算公式来看,信息增益是总信息熵H(C)与条件信息熵H(C|X)之差,数据集不充足时,取值多的属性在计算条件熵时容易估计出偏小的条件熵,得到偏大的信息增益,但在实际中取值多的属性并不一定是对分类结果最重要的属性,所以用信息增益进行属性选择时有偏向性,给属性排序带来了偏差,需要有新的排序方式对属性进行重新排序。

针对信息增益在属性选择上的不足,考虑到每个属性的重要性对分类结果存在影响,本文对基于信息增益的贝叶斯插补法,引入属性的权重,得到基于信息增益的加权贝叶斯插补法。属性权重的引入是为了减少插补顺序的偏差对插补结果的影响,从而达到优化插补模型的效果。本文使用熵权法确定权重[14],熵权法是基于属性特征的离散程度来判断属性的权重的,属性的离散程度越大,该属性在综合评价中的权重就越大。通常权重的选取和一个属性的特异性相关,例如,如果属性的特异性表现得很差,就取这个属性的权重占比较低。这里用属性的信息熵冗余度来度量它的特异性,并取其标准化形式作为属性的权重,而属性的信息熵冗余度定义为属性可能有的最大信息量与其包含的实际信息量之差。

熵权法赋权的步骤如下:

假设有m个属性,n个样本数据,xij表示第i个样本的第j个属性下的数值(1≤i≤n,1≤j≤m)。对数据进行标准化,需要区分属性的影响是正向还是负向:

计算第j项指标下,第i个样本值占该指标的比重为

计算第j项指标信息熵值

则有0≤ej≤1。计算熵值的冗余度

dj=1-ej.

并定义各属性的权重为

用IGj表示第j个属性的信息增益,计算综合得分

sj=wj×IGj.

用综合得分sj对属性进行递减排序,然后用朴素贝叶斯分类法依次对属性缺失值进行预测,预测的结果作为插补结果,在前一个属性插补得到的数据集的基础上,再对下一个属性进行预测,此过程一直进行下去直到得到一个完整的数据集。

1.4 K最近邻插补法和多重插补法

作为对比方法,本文还考虑了K最近邻插补法和多重插补法这两个方法,其中KNNI是基于K最近邻算法的插补算法[15],选择与缺失变量最近的K个完全观测样本,用这K个观测样本数据来估计该缺失变量,可以处理离散型数据,也可以处理连续型数据。MI是由Rubin首先提出,对每个缺失变量构造出多个插补值,得到多个完整的数据集,再用同一种方法对这多个完整的数据集进行处理,得到多个处理结果,最后综合评价这些处理结果,给出最佳的插补结果[16]。

1.5 实验评价指标

首先需要对插补数据集的错误率进行评价。实验使用的数据包括连续变量和离散变量,首先对连续变量进行离散化处理,方便套用贝叶斯分类模型。采用标准均方根误差(Normalized Root Mean Square Error, NRMSE)来比较不同的缺失率和不同缺失数据处理方法的插补效果[17]。

其中:Xtrue表示真实的数据值(只有一部分可以观测到);
Ximp表示插补完整后的数据值;
而mean((Xtrue-Ximp)2)和var(Xtrue)分别为(Xtrue-Ximp)2的均值和Xtrue的方差,可以分别用样本观测值估计。NRMSE越小表明缺失数据插补效果越好,越大则表明插补效果越差。

另一种评估方法是用分类算法对插补后的数据集建立预测模型,用预测结果的正确率(PoA)作为衡量插补效果的指标[10]:

其中:
“整个数据集中预测正确的记录个数”是利用分类算法预测插补后的数据集计算得到的。这里的分类算法分别用C4.5决策树、随机森林、朴素贝叶斯分类器和K最近邻(K-Nearest Neighbor, KNN)等4种分类算法进行分类预测。

1.6 实验数据

本文采用UCI机器学习库的公开数据集Heart(http:∥archive.ics.uci.edu/ml/datasets/Heart+Disease)。该数据集包括患有心脏病的病人和未患心脏病者的13项临床指标数据和一个结果变量。其中临床指标包括7个离散型变量(患者性别、胸痛类型、患者空腹血糖、静态心电图结果、运动引起的ST段最高值斜率、通过荧光检测技术显示出来的主要血管数量、缺陷类型)和6个连续型变量(患者年龄、入院前的静息血压、患者血清胆固醇含量、达到最大的心率值、运动诱发心绞痛、相对于休息来说运动引起的ST段抑制),而结果变量是患病结果。总共有270个样本数据。

使用R包discretization的chiM函数(ChiMerge算法)对数据集中的连续变量进行离散化处理,即进行自下而上的合并,并通过卡方检验判断相邻阈值的相对类频率是否有明显不同或者它们是否足够相似,据此决定是否合并为一个区间,总共分成5个区间(对应5个类别)。由于数据集Heart是已经通过筛选和质控的完整数据集,故可直接使用。

考虑3种缺失类型,即完全随机缺失(Missing Completely At Random, MCAR)、随机缺失(Missing At Random, MAR)、非随机缺失(MNAR)。缺失数据的生成分别采用了R包compositions中的函数setNA(MCAR)和R包simFrame中的函数simulateMissings(MAR、MNAR)。调用两个函数均需要指定缺失比例。用函数simulateMissings生成MAR或MNAR缺失数据时,假定带缺失值的变量服从联合正态分布,其中模型参数和缺失数据都用标准的Gibbs抽样算法来估计;
生成MNAR缺失数据时,还需要指定非随机缺失程度的参数(该参数为0时退化为MAR缺失数据),在模拟中指定该数与缺失率一样。对于数据集Heart的13项临床指标,设置10%,20%,30%的缺失率,且所有样本所有指标的缺失是独立的,最终形成3个MCAR类型的缺失数据集Heart_C。同样对数据集Heart进行处理,形成缺失类型为MAR的数据集Heart_R和形成缺失类型为MNAR的数据集Heart_N。用熵权法计算各属性的权重,并计算各属性的信息增益,将数据集中的属性依次递减排序。将数据集中连续型属性的数据离散化,用朴素贝叶斯分类法对属性依次进行预测并填充数据集,直到得到完整数据集。再分别用其他3种插补方法处理数据集,得到插补好的数据集。计算NRMSE指标,作为比较3种插补法的插补效果的一个衡量指标。将插补后的数据集加上最后一列的判别变量,对插补后的数据分别利用C4.5决策树,随机森林,朴素贝叶斯分类器和K最近邻等4种分类预测算法进行识别处理。实验重复100次并计算NRMSE和PoA相应的平均值,将其作为插补效果的另一衡量指标。

2.1 NRMSE指标

对数据集Heart_C,Heart_R和Heart_N,分别采用KNNI、MI、BIIG和WBIIG对数据进行插补后,得到的NRMSE指标如图1所示。总体上来看,WBIIG的NRMSE最小,说明其插补效果最好。具体地说,对MCAR类型数据集Heart_C,WBIIG的NRMSE比BIIG的低2.00%~49.40%,比KNNI的低58.97%~82.09%,比MI的低59.43%~85.57%;
在对MAR类型数据集Heart_R的研究分析中,WBIIG的NRMSE比BIIG的低16.54%~34.69%,比KNNI的低26.32%~76.69%,比MI的低56.62%~81.90%;
在对MNAR类型数据集Heart_N的研究分析中,WBIIG的NRMSE比BIIG的低10.57%~43.37%,比KNNI的低73.75%~87.28%,比MI的低71.05%~86.61%。

图1 对MCAR、MAR和MNAR类型的缺失数据集,分别采用KNNI、MI、BIIG和WBIIG对数据进行 插补后得到的标准均方根误差Fig.1 The NRMSE obtained using KNNI, MI, BIIG and WBIIG for missing data sets of MCAR, MAR and MNAR当MNAR类型数据的缺失率为0.3时,KNNI法无法进行插补。

2.2 PoA指标

对数据集Heart_C,Heart_R和Heart_N,用4种方法插补后得到的新数据集,用C4.5决策树、随机森林、朴素贝叶斯分类器和K最近邻算法进行预测,计算得到的PoA指标如图2所示。对于Heart_C,Heart_R和Heart_N数据集,随着缺失率的增加,4种插补法的PoA指标逐渐降低。从PoA来看,在相同缺失率下,用C4.5决策树(图2(A))、随机森林(图2(B))、朴素贝叶斯分类器(图2(C))和K最近邻分类预测算法(图2(D))进行验证时,在大多数情况下,WBIIG不仅优于BIIG,而且也优于KNNI和MI,在预测性能上总体上有优势。

图2 缺失率对预测正确率PoA的影响Fig.2 Influence of missing rate on the accuracy of prediction先用WBIIG, BIIG, MI, KNNI对数据集Heart_C(MCAR),Heart_R(MAR)和Heart_N(MNAR)分别进行插补,然后用(A) C4.5决策树、(B) 随机森林、(C) 朴素贝叶斯分类器、(D) KNN进行预测并计算PoA指标。

2.3 模型运算时间

图3显示了KNNI, MI,BIIG和WBIIG在数据集Heart_C,Heart_R和Heart_N上进行缺失值插补运算的时间。对任意一个数据集,WBIIG的运算时间略多于BIIG,且明显少于MI,而比KNNI更多。而对每一个插补算法,在不同缺失类型数据集及缺失率上的运算时间则没有明显差别。

图3 WBIIG,BIIG, MI, KNNI在3种数据集进行缺失值插补运算的时间比较Fig.3 Computational time of WBIIG, BIIG, MI, KNNI in the application to three data sets 当缺失率为0.3时,KNNI法无法进行插补。

本文提出一种改进后的基于信息增益的贝叶斯插补法,即基于信息增益的加权贝叶斯插补法,该算法对插补性能有进一步的优化。当对缺失值插补算法进行改进时,属性权重是需要被考虑的重要影响因素。例如在改进KNN的缺失值填补算法时,用客观赋权法确定属性值权重得到的改进灰色关联度可提高缺失值填补的准确性和可靠性[18]。在信息增益计算属性权重具有更优性能研究的基础上[19],针对信息增益会依赖取值多的属性问题,本文用熵权法计算权重和信息增益组合的综合得分对属性进行排列,既兼顾到了观测数据本身数值大小对分类预测的影响,也兼顾了属性对分类预测的贡献程度,更符合真实数据的特点,因此可进一步提高算法的插补性能。属性加权朴素贝叶斯算法在分类问题上的应用较多[20],本文对属性排序进行改进后,应用在缺失数据插补问题上,并在数据集Heart上进行了验证。该方法在大多数情况下,对3种缺失类型的Heart数据集的插补效果优于其他两种插补法,表明WBIIG对于Heart数据集能在一定程度上提高插补性能,可以进一步尝试在其他类似医疗缺失数据集上应用该方法。因为该方法计算复杂度较小,可应用于大规模数据分析。

本文提出的贝叶斯插补模型使用了样本属性间独立的假定,但在实际应用中,样本的属性间往往有或多或少的相关性,其对该方法的插补效果的影响未知。今后可以针对该缺陷进行修正,或许可以改进插补效果。

猜你喜欢 贝叶斯增益样本 “增益”还是“损耗”?挑战性工作要求对工作−家庭增益的“双刃剑”影响*心理学报(2022年10期)2022-10-12经典仪表放大器(PGIA)的新版本提供更高的设计灵活性电子产品世界(2021年8期)2021-01-16规划·样本领导决策信息(2018年16期)2018-09-27旦增益西的藏戏梦布达拉(2018年5期)2018-05-14租赁房地产的多主体贝叶斯博弈研究智富时代(2018年11期)2018-01-15租赁房地产的多主体贝叶斯博弈研究智富时代(2018年11期)2018-01-15贝叶斯网络概述科教导刊·电子版(2017年32期)2018-01-09宽频带增益放大器的设计与测试西江文艺(2017年15期)2017-09-10贝叶斯公式的应用和推广数学学习与研究(2017年10期)2017-06-22随机微分方程的样本Lyapunov二次型估计数学学习与研究(2017年3期)2017-03-09

推荐访问:加权 增益 缺失

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0425/589093.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!