一种基于KNN的改进缺失数据填补算法制造技术

技术编号:14652557 阅读:361 留言:0更新日期:2017-02-16 15:02
本发明专利技术出一种基于KNN的改进缺失数据填补算法,包括步骤:(1)对传统的复相关系数倒数赋权法进行改进,并利用改进后的算法计算出每个属性对含缺失值属性的重要性,删除一些与关键属性关联较小的属性,对属性集进行精简操作,得到仅含精简属性集的数据样本集。(2)利用马氏距离综合考虑属性间的相关性和变异性的优点,结合灰色关联分析法对含不确定因素样本的有效预测,计算出缺失样本的K个近邻样本。(3)根据计算得到的K个距离值,依据熵权法对K个样本对应的属性赋熵权值,再结合属性值,计算出最终的填补值。本发明专利技术能够降低缺失数据算法的计算复杂度、提高邻近样本取值精确度以及提高数据填补值的估算精度。

【技术实现步骤摘要】

本专利技术涉及缺失数据填补领域,尤其是一种基于KNN的改进缺失数据填补算法
技术介绍
在实际应用中,由于获取数据的途径或对数据建模的不同,得到的数据因不完全符合之前定义好的格式而被标记为“未知”或直接空缺,这些数据即被称为不完整数据或缺失值。缺失值普遍存在于医学、调查研究、工业等相关领域,不准确的测量方法、收集条件的限制、人工录入的遗漏等都有可能导致数据缺失,大量的数据缺失对后期的数据统计分析和数据挖掘工作都会产生很不利的影响。例如缺失值可能会直接影响到新发现模式的准确性,导致错误的挖掘模型。在关联规则中,缺失值的未知性会对正常的数据分布形成干扰,影响支持度与置信度的计算结果,从而降低关联规则的挖掘能力。在聚类算法中,距离算法无法处理缺失值情况,从而影响最终的聚类结果。在决策树分类中,对属性值为空的记录很难确切进行划分,因此无法获得准确的统计分析结果,影响最终的决策。对数据集中的含有的缺失数据进行及时准确的填补对用户获得有效信息以及提高用户满意度相当重要,也是数据处理领域一个值得研究和重视的问题。缺失值是影响数据完整性的主要因素,而在现实世界中由于数据录入时出现遗漏、不正确的度量方法、收集条件的限制或者因违反约束条件而被删除等多方面因素都有可能导致缺失值,使得缺失值问题获得广泛的关注和研究。目前已有很多针对缺失值填补的研究工作,填补方法主要分为三类,删除含有缺失值的记录、忽略含有缺失值的记录和对缺失值进行填补。其中最热门的就是对缺失值填充法的研究,填充方法大致可分为两类:统计学方法和数据挖掘方法。前者主要针对属性值是连续型数据的情形,常用于对整个数据集进行分析统计后对缺失值进行填补,常用的参数方法有线性回归法,多重填充法和EM算法。统计学方法能取得很好的填补效果,但是其不足之处在于,若在数据统计分析的过程中数据没有完全被理解透彻,或者选取了错误的数据模型,都可能会导致数据出现偏差,进而对数据质量带来不利的影响。最简单也是最常见的统计学填补方法是均值填补,即利用样本中具有完整数值的记录,计算其平均值,用于填补缺失的记录。数据挖掘方法是基于聚类算法将整个样本集划分为多个子集,再对子集进行分析,其主要研究方法有决策树、贝叶斯网络、聚类、神经网络、粗糙集理论等方法。与统计学方法不同的是,数据挖掘方法主要针对属性值是离散型的情形。KNN算法是在传统近邻算法的基础上发展而来的,其宗旨在于将两个距离最接近的记录视为最相似,并且由于操作方法的简便和数值填补的高准确率而广受学者研究和应用,目前很多填充算法都是在KNN的基础上进一步发展得到的。Pedro等人通过应用熵权矩阵来选取与缺失值最近邻的K个完整数据,而最终估值的加权系数则通过互信息来确定。熵值在反映数据的相关性上有很大优势,因此所选取的K个近邻也较为准确合理。但是对于KNN在处理高维数据时的复杂计算量没有提出有效的解决方法。基于欧式距离对于量纲限制的缺陷,杨涛等提出用马氏距离代替欧式距离选取K个最近邻样本。马氏距离避免了属性量纲的限制,充分考虑到样本间变异与相关性问题,同时运用熵值概念确定缺失值的加权系数。实验证明该算法取得很好的填补效果,但在K值的选取上没有提出有效解决方法。
技术实现思路
专利技术目的:为解决上述技术问题,降低缺失数据算法的计算复杂度、提高邻近样本取值精确度以及提高数据填补值的估算精度,本专利技术提供一种基于KNN的改进缺失数据填补算法。技术方案:为实现上述技术效果,本专利技术提出的技术方案为:一种基于KNN的改进缺失数据填补算法,该算法包括步骤:(1)对数据属性进行精简预处理,包括步骤:设数据集X={X1,X2,…,Xn本文档来自技高网
...
一种基于KNN的改进缺失数据填补算法

【技术保护点】
一种基于KNN的改进缺失数据填补算法,其特征在于包括步骤:(1)对数据属性进行精简预处理,包括步骤:设数据集X={X1,X2,…,Xn},n为事例的个数;定义数据集中第i条事例Xi的属性j值为xij,将xij表示为:xij=k1jxi1+k2jxi2+…ktjxit+…+kmjxim,t≠j式(1)中,m为Xi的属性总数目,ktj表示属性t对于属性j的权重系数;定义属性t和属性j之间的相关系数为ptj,ptj的表达式为:ptj=Σi=1n(xit-xt‾)Σi=1n(xij-xj‾)Σi=1n(xit-xt‾)2-Σi=1n(xij-xj‾)2]]>计算权重系数ktj为:ktj=|ptj|-1Σj=1m|ptj|-1]]>设置阈值A,当满足ktj<A时,删除属性t;(2)选择缺失事例的邻近样本,包括步骤:基于步骤(1)精简后的剩余属性数据,分别计算缺失事例各属性之间的马氏距离以及缺失事例与其他事例间的灰色相关系数;根据计算出的马氏距离和灰色相关系数计算邻近样本选择距离:Dist(xa,xi)=CRG(xa,xi)+Mahal(xaj,xij)2]]>a∈[1,2,…,n]且a≠i式中,CRG(xa,xi)表示事例Xa与Xi之间的灰色关联度,Mahal(xaj,xij)表示属性xa与xi之间的马氏距离;从数据集X中挑选出与缺失事例之间的距离dk满足dk≤Dist(xt,xi)的K个完整事例,k∈[1,2,…,K];(3)计算缺失事例的填补估计值,包括步骤:将步骤(2)中选出的K个完整事例形成的数据集记为Y=[y1,y2,…,yk,…,yK]yk=xk-min(xk)max(xk)-min(xk)]]>计算事例yk对应属性的熵权值Ek为:Ek=‑MpklnpkM=1ln K]]>pk=ykΣk=1Kyk]]>根据熵权值Ek计算事例yk的属性权值:wk=1-EkK-Σk=1KEk]]>其中,0≤wk≤1,计算缺失事例的填补估计值为:Xi=1KΣi=1KwKxiK.]]>...

【技术特征摘要】
1.一种基于KNN的改进缺失数据填补算法,其特征在于包括步骤:(1)...

【专利技术属性】
技术研发人员:谢强王振
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1