1、我们在数据分析时,经常会遇到缺失值的情况,在数据采集过程中,缺失值也是普遍存在的。遇到缺失值时通常的做法是直接将其删除,当缺失值较多并且缺失的数值对分析较为重要时,直接删除将严重影响分析结果的准确性。为此我们需要对缺失值进行分析,用统计学的方法将其补充。识别缺失数据的产生机制是极其重要的。首先这涉及到代表性问题。从统计上说, 非随机缺失的数据会产生有偏估计,因此不能很好地代表总体。其次,它决定数据插补方法的选择。= 一、缺失值理论简介按照缺失形式区分:1. 单元缺失对需要调查的个案无法得到有效信息,属于个案的缺失,这种情况在数据分析阶段常常无能为力2. 项目缺失指某些变量的观测值有缺失,这是最
2、常见的情况按照缺失机制区分:1. 完全随机缺失(MCAR)缺失现象完全是随机发生的,和自身或其他变量的取值无关,例如,在研究年龄和收入。如果缺失和年龄或收入数值无关,则缺失值方式为 MCAR。这是缺失问题处理起来最简单的一种,直接将其删除即可2. 随机缺失(MAR)有缺失值的变量其缺失情况发生与数据集中其他无缺失变量的取值有关;换句话说,某一观测值的缺失概率仅依赖于已有的观察结果,不依赖未观察到的结果, 在研究年龄和收入,年龄数据完整,而收入有部分缺失,如果收入缺失值仅依赖于年龄,缺失值就为MAR。这种是最常见的缺失形式而不是由含缺失值的变量决定的。3. 非随机缺失(MANR)数据的缺失不仅和
3、其他变量的取值有关,也和自身的取值有关;在研究年龄和收入,年龄数据完整,而收入有部分缺失,如果收入缺失值不仅依赖于年龄,还依赖于收入自身,则缺失值就为MAR,这种有可能是问题设计过于敏感而造成,大都不是偶然因素造成的,且基本不可忽略。按照缺失值的所属属性来分:1. 如果所有的缺失值都是同一属性,那么这种缺失成为单值缺失2. 如果缺失值属于不同的属性,称为任意缺失3. 对于时间序列类的数据,可能存在随着时间的缺失,这种缺失称为单调缺失=二、缺失值的处理方法1. 删除缺失值这是最常见、最简单的处理方法,做法是直接将含有缺失值的样本个案删除,适用于缺失值数量较少的情况,缺点是以减少样本量来换取信息的
4、完整,丢弃了数据信息,有可能造成分析结果的失真。2. 缺失值填充如果无法直接删除的话,那只能通过一些方法对缺失的数据进行填充,常用的缺失值填充方法有人工填写这是最理想、偏差最小的方法,但是相当于重新收集数据,一般来说难度很大特殊值填充将缺失值使用一种特殊的属性值填充,例如unknown,但是这样做有可能会给分析带来困难,要谨慎使用。均值填充对于数值型,采用该属性在其他所有个案的均值来填充,对于非数值型,采用该属性在其他所有个案的众数来填充。这实际上是以最大概率可能取值来估计缺失值。热卡填充也称为就近填充,对于一个包含缺失值的个案,在完整数据中找到一个与它最相似的个案,然后用这个相似个案的值来进
5、行填充。不同的问题可能会选用不同的标准来对相似进行判定。该方法概念上很简单,且利用了数据间的关系来进行空值估计。这个方法的缺 点在于难以定义相似标准,主观因素较多。K 最近距离法先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K 个样本,将这K 个值加权平均来估计该样本的缺失数据。使用所有可能的值填充这种方法是用空缺属性值的所有可能的属性取值来填充,能够得到较好的补齐效果。但是,当数据量很大或者遗漏的属性值较多时,其计算的代价很大,可能的测试方案很多。另有一种对应的方法是,填补遗漏属性值的原则是一样的,不同的只是从决策相同的个案中尝试所有的属性值的可能情况,而不是根据信息表中所有对象进
6、行尝试,这样能够在一定程度上减小原方法的代价。回归填充基于完整的数据集,建立回归方程(模型)。对于包含空值的个案,将已知属性值代入方程来估计未知属性值,以此估计值来进行填充。当变量不是线性相关或预测变量高度相关时会导致有偏差的估计期望值最大化填充也称为 EM 法,EM 算法是一种在不完全数据情况下计算极大似然估计或者后验分布的迭代算法。在每一迭代循环过程中交替执行两个步骤:E 步(Excepctaion step,期望步),在给定完全数据和前一次迭代所得到的参数估计的情况下计算完全数据对应的对数似然函数的条件期望;M 步(Maximzation step,极大化步),用极大化对数似然函数以确定
7、参数的值, 并用于下步的迭代。算法在 E 步和M 步之间不断迭代直至收敛,即两次迭代之间的参数变化小于一个预先给定的阈值时结束。该方法可能会陷入局部极值,收敛速度也 不是很快,并且计算很复杂。多重填充多值插补的思想来源于贝叶斯估计,认为待插补的值是随机的,它的值来自于已观测到的值。具体实践上通常是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。根据某种选择依据,选取最合适的插补值。多重插补方法分为三个步骤:为每个空值产生一套可能的插补值,这些值反映了无响应模型的不确定性;每个值都可以被用来插补数据集中的缺失值,产生若干个完整数据集合。每个插补数据集合都用针对完整数据集的统计方法进行
8、统计分析。对来自各个插补数据集的结果,根据评分函数进行选择,产生最终的插补值C4.5 填充法通过寻找属性间的关系来对遗失值填充。它寻找之间具有最大相关性的两个属性, 其中没有遗失值的一个称为代理属性,另一个称为原始属性,用代理属性决定原 始属性中的遗失值。这种基于规则归纳的方法只能处理基数较小的名词型属性= 缺失值填充处理只是将未知值填充我们的主观估计值,不一定完全符合客观事实。以上的分析都是理论分析,对于缺失值由于它本身无法观测,也就不可能知道它 的缺失所属类型,也就无从估计一个插补方法的插补效果。另外这些方法通用于 各个领域,具有了普遍性,那么针对一个领域的专业的插补效果就不会很理想, 正是因为这个原因,很多专业数据挖掘人员通过他们对行业的理解,手动对缺失 值进行插补的效果反而可能比这些方法更好。缺失值的插补是在数据挖掘过程中 为了不放弃大量的信息,而采用的人为干涉缺失值的情况,无论是那种处理方法都会影响变量间的相互关系,在对不完备信息进行补齐处理的同时,我们或多或少地改变了原始的数据的信息系统,对以后的分析存在潜在的影响,所以对缺失值的处理一定要慎重。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1