论文部分内容阅读
随着信息时代的到来,数据呈爆炸式增长,但大多时候数据的产生并没有质量保证。很多真实应用产生的数据通常包含大量的缺失值,甚至在天气、医疗等人们认为数据来源可靠的领域中均有缺失值的存在。另一方面,大多数现有的数据分析工具如机器学习、模式匹配、数据挖掘等均无法很好地处理包含缺失值的数据集,即数据的完整性是很多上层应用对输入数据的基本要求,于是缺失值填补技术应运而生。目前已有的缺失值填补算法主要可以分为两大类,一类是基于近邻的填补,即对于给定的一条缺失数据,通过在数据空间中搜索与其相似的完整数据作为该缺失数据的近邻,进而基于这些近邻对缺失值进行填补;一类是基于回归的填补,即通过构建一条数据中缺失属性与其他完整属性间的相关关系对缺失值进行填补。然而,这些传统的缺失值填补算法大多是针对普遍数据提出的通用模型。但随着科技的不断进步,不同应用背景下产生的数据各具特色,如传感器网络在数据获取过程中通常受能量约束、网络带宽等限制;基因、图片等数据属性间呈现明显的非线性相关关系,实时系统产生的数据通常以流的形式快速实时到达等。已有的传统算法在针对这些数据进行缺失值填补时会受到各种各样的限制,从而导致填补效果不理想。基于此,本文针对不同应用背景下产生的各具特色的数据提出了不同的缺失值填补方法,主要研究内容和创新点包括:第一,本文研究了面向聚簇型缺失数据的缺失值填补问题。通过对多个真实数据集统计分析发现,很多真实数据集中的缺失值比较容易集中、成群地出现,由此定义这种现象为聚簇缺失现象。聚簇缺失现象会导致已有算法对缺失值的填补结果准确性较低。基于此,本文提出了一个顺序敏感的缺失值填补框架,命名为OSICM。首先,OSICM对最优填补顺序问题进行了形式化定义,证明最优填补顺序查找的精确算法为NP难问题,并提出基于动态规划的求解算法,但该算法只适用于缺失数据元组个数非常少的情况。其次,我们证明了最优填补顺序查找的近似最优求解算法也为NP难问题,进而基于启发式规则提出两种分别具有近似线性和线性时间复杂度的填补顺序查找算法;通过在真实和模拟数据集上的大量实验,证明了OSICM填补框架在对聚簇缺失数据进行填补时,其准确性明显优于已有算法,同时具有很好的可伸缩性。第二,本文研究了面向非线性相关数据的缺失值填补问题。随着数据种类的丰富,在越来越多的真实数据集中,数据属性间呈现明显的非线性相关关系。但已有的基于回归的缺失值填补算法大多采用线性回归模型来构建数据缺失属性与完整属性间的相关关系。显然,利用线性模型描述具有非线性相关关系的数据是不适用的。基于此,本文在dAE(denoising Autoencoders)模型基础上,提出了一种新的用于缺失值填补的模型,命名为MIDIA(MIssing Data Imputation denoising Autoencoders)。MIDIA模型旨在通过构建数据元组缺失属性与完整属性间的非线性相关关系对缺失值进行填补。此外,由于MIDIA模型是缺失值驱动的(即在模型训练阶段,训练数据集中缺失值的分布应和测试数据集中缺失值的分布相似),本文针对两种不同的缺失值分布情况,分别提出相应的缺失值填补算法:MIDIA-single和MIDIA-whole。最后通过在真实数据集上进行大量的实验,证明本文算法能够对具有非线性相关性数据的缺失值进行有效填补。第三,本文研究了面向劣质流数据的缺失值填补问题。在很多实时应用中数据的获取均没有质量保证,由此造成数据中除了包含缺失值外还包含大量异常点。另一方面,数据通常以流的形式连续到达,本文定义同时包含大量缺失值及异常点并连续实时到达的数据为劣质流数据。本文面向劣质流数据,提出了一种新的实时且具有容错能力的缺失值填补算法,命名为REMAIN(Real-time and Error-tolerant Missing vAlue ImputaioN)。首先,REMAIN通过对异常数据的有效探测,利用除异常数据之外的正常数据构建缺失值填补模型;其次,在每个时刻,随着数据的不断到达,REMAIN对模型参数进行增量更新从而对缺失值进行实时填补。此外,由于数据属性间的相关性可能以任意形式(或平缓或突然)随时间动态变化,REMAIN引入了褪化点探测机制。通过估计缺失值填补误差实现对褪化点的有效探测,并在褪化点时刻对模型参数进行重新估计。由于用于模型参数初始化的RANSAC算法时间复杂度较高,不适用于大规模流数据,本文提出了一种高效的模型参数重估计算法。最后,通过在真实和模拟数据集上进行大量实验,证明面向劣质流数据的缺失值填补问题,本文提出的REMAIN算法与已有的在线缺失值算法相比,在准确性方面有了较大提升。此外,结合高效的模型参数重估计算法,REMAIN在时间开销方面比已有算法最多降低了一个数量级。第四,本文研究了面向传感数据的物理世界精确恢复问题。目前在越来越多的,如海洋环境、农作物生成状况监测等实际应用中,均通过传感器网络来监测真实物理世界的变化过程。在真实应用环境中,由于传感器网络中感知节点的能量约束、网络带宽等限制,系统获取到的数据通常是较为稀疏的离散点。而物理世界的变化通常是连续平滑的,只基于这些离散点对连续变化的物理世界进行描述会造成数据关键点(如极值点、拐点)的丢失。基于此,如何利用离散数据点构建一条连续平滑的曲线,从而对物理世界的真实变化情况进行准确刻画成为亟待解决的问题之一。直观上,如果将已经获取到的离散感知数据点看作观测数据,而平滑曲线中其他点看作缺失观测数据的话,对物理世界状态的精确恢复可看作是一种特殊的连续缺失值填补问题。为了解决该问题,本文提出了一种平滑性敏感的连续物理世界恢复算法。首先基于已有工作,利用离散数据点基于Hermit插值或Spline插值算法构建一条连续曲线,进而在已有连续曲线基础上引入平滑因子,将曲线的平滑性从一阶连续提高到二阶连续,使之能够获取更多的数据关键点(拐点)信息。进一步,考虑到传感器网络的网络带宽及传感器节点能量约束等限制,提出了一种能耗敏感的数据源选择算法,在满足感知节点能量约束和空间相关性约束条件下,选择部分数据源进行数据传输。最后利用真实和模拟数据集,通过大量实验验证了本文算法的高效性。综上,本文研究了面向复杂应用的缺失值填补问题,针对聚簇型缺失数据、非线性相关数据、劣质流数据以及传感数据,分别提出了有效的缺失值填补算法。理论分析和实验结果都表明,本文提出的方法较已有缺失值填补算法有显著提高。