论文部分内容阅读
在现实环境中,由于各种原因存在着数据缺失的现象。而临床数据集中的数据缺失可能与某些属性的状态有关,这些缺失的数据中蕴含的信息,如果处理方法不当将导致错误推断结果的发生。如何对不完整的临床数据集进行操作从而提高分类和诊断的准确率便成了一项重要的研究课题。将数据集中不含缺失值的变量(属性)称为完全变量,数据集中含有缺失值的变量称为不完全变量,Little和Rubin定义了以下三种不同的数据缺失机制:第一种,完全随机缺失(Missing Completely at Random,MCAR)。数据的缺失与不完全变量以及完全变量都是无关的。第二种,随机缺失(Missing at Random,MAR)。数据的缺失仅仅依赖于完全变量。第三种,非随机、不可忽略缺失(Not Missing at Random,NMAR)。不完全变量中数据的缺失依赖于不完全变量本身,这种缺失是不可忽略的。当前已有的为缺失数据集进行分类的方法,基本有两大类。一类是先对缺失数据进行修补,而后在得到的完整数据集上建立分类器。修补缺失数据的方法除了有简单的空置和均值替代法之外,还有Gibbs抽样、EM算法、BC(Bound&Collapse)法、梯度下降算法。它们虽然有各自的优点,但前两种忽视了丢失信息的价值,修补质量低。而后面几种只能处理随机丢失的数据集,在临床数据集中信息的丢失情况并不一定是随机的。第二类是将有丢失情况的数据集直接用分类器进行分类,以达到我们想要的结果。主要有朴素贝叶斯分类器、贝叶斯网络、C4.5决策树、稳健贝叶斯估计(Robust Bayesian Estimation)等。其中贝叶斯网络推理能够处理不完备数据集,传统推理是无法解决的,对于传统的推理必须知道所有可能的数据输入,如果缺少其中的某一输入就会对建立的模型产生偏差。贝叶斯方法可以解决这个问题,因为贝叶斯网络反映的是整个数据域中数据间的概率关系,即使缺少某一数据变量仍然可以建立精确的模型。而稳健贝叶斯估计虽然可以处理不同类型的缺失数据,但容易导致有偏的结果或填入不准确的值。又考虑到在医学诊断规则的表示上贝叶斯网络较决策树易于表达。最后我们决定选取贝叶斯网络来进行该项研究。随着医院信息化建设的发展,医院信息系统中积累了大量的病人资料和医疗数据,这些数据中蕴涵着对医生、医院管理者和医疗管理部门都有重要意义的信息,如何提取出这些信息,成为日益突出的需求。贝叶斯网络是数据挖掘的有效工具之一,它提供了一种自然地表示因果信息的方法,用来发现数据间的潜在关系,并以图形的方法描述出来。贝叶斯网络在国外医院信息管理中的应用越来越广泛,美国学者将贝叶斯网络运用于手术结果预测、护士护理研究、医院诊疗报告进行的有效性和可靠性评价等。欧洲学者将其运用于对肝硬化病人进行治疗效果的预测、紧急医疗服务的评价等。台湾学者将贝叶斯网络运用在全民保健医疗费用审查自动化方面进行研究,以及对非典型肺炎的确诊和对医疗服务诊断进行评价等。由于目前在内地的大部分地区,医院信息系统都已投入应用,系统积累的数据也越来越多,有学者将贝叶斯网络运用于医疗诊断研究。贝叶斯网络是以概率论为理论依据,以概率推理为推理基础,以图论的形式表达和描述数据实例中的关联和因果关系的。它由两部分组成,一个是有向无环图(DAG),另一个是条件概率表(CPT)。它不仅能在诊断过程中清晰直观地表达知识,很好地解决系统的不确定性、数据的不完整性和复杂性,还能自动更新知识规则。贝叶斯网络除了依靠专家知识以外,还可以利用训练数据扩充自身的知识和网络推理能力。像贝叶斯网络这样的智能处理工具在医学诊断中是极具利用价值的。本文分别使用了两种方法将缺失临床数据集进行分类。第一种方法是将缺失数据集用属性选择的贝叶斯网络进行分类。第二种方法是利用原始数据先对缺失数据进行修补,而后在得到的完整数据集上用贝叶斯网络检测分类效果。方法的内容过程简要描述如下。方法一:首先,为每个属性添加一个二元变量指示各属性丢失情况。接着,使用基于包装法的遗传因子搜索法对原始的有缺失的临床数据集进行属性选择。属性选择主要有两种方法,第一种称为过滤法(filter method),主要建立在选择属性之间分散程度的衡量标准。它是要在学习开始之前,先过滤属性集产生一个最优的属性子集。第二种称为包装法(wrapper method),它是建立在使用分类器的效果来衡量属性选择的结果。之所以称为包装法,是因为学习方法被包裹在选择过程中。本文的属性优化部分采用的就是第二种。最后,应用贝叶斯网络对以上优化属性集进行分类并检验分类效果。实验是对三种急性病的不完整数据集进行分类,它们的属性从多到少。用有不同诊断难度的急性病来进行我们的实验比较有代表性。整个实验在WEKA3.5.6环境下运行实现。结果证明该方法不仅考虑到了丢失的临床信息的价值,也除去了无关和冗余的属性,分类准确性高,优于直接使用贝叶斯网络模型。方法二:首先,利用原始数据中隐含属性之间的关联性,同时结合专家知识,建立数据集属性的修复结构。我们可以借助专家知识选出数据集中关系密切的属性,但是专家的主观意见可能无法将数据集中隐含的关联性选出。此时可以使用互信息来计算各个属性值之间的关联性,进而选取子数据集加以分析。第二步,使用类神经网络的反向传播(BP)算法及其函数模拟功能来修复第一步中各个待修复数据子集中的缺失值。最后,用贝叶斯网络对完整的数据集进行分类,检验修复后的临床数据集是否较均值修补更有效地提高了分类准确率。我们从UCI数据集中挑选出心脏病和乳腺癌的完整数据集在Matlab7.0的环境下进行实验,分别比较了它们在不同随机缺失比例下经修复后对分类效果的影响。实验证明该数据修复方法确实较一般的均值修补法更有效地提高了诊断准确率。对于数据缺失国内外学者已经做了广泛的研究。目前各种新兴的方法层出不穷。但无论采用何种填补方法,都无法避免主观因素对原系统的影响,并且在缺失值过多的情形下将整个数据集完整化是不可行的。所以针对各种实际问题,要注意分清问题的实质,合理并且适当地运用处理方法才是解决好实际问题的关键所在。对不同缺失机制的临床数据集使用合适的方法定能在诊断准确率和效率上取得满意的结果。但是,现实中临床数据集的缺失机制一般都是未知的,所以,如何找到一个可达到更加高效准确结果的方法还有待进一步研究。