数据缺失的概念
数据缺失是指在数据采集时由于某种原因应该得到而没有得到的数据。它指的是现有数据集中某个或某些属性的值是不完全的 。
数据缺失机制
在对缺失数据进行处理前,了解数据缺失的机制和形式是十分必要的。将数据集中不含缺失值的变量(属性)称为完全变量,数据集中含有缺失值的变量称为不完全变量。
- 完全随机缺失(Missing Completely At Random,MCAR):数据的缺失与不完全变量以及完全变量都是无关的。换句话说,某变量缺失值的出现完全是个随机事件。可以将存在MCAR变量的数据看做是假定完整数据的一个随机样本。
- 随机缺失(Missing At Random,MAR):数据的缺失不是完全随机的,数据的缺失只依赖于完全变量。例如,在一次测试中,如果IQ达不到最低要求的100分,那么将不能参加随后的人格测验。在人格测验上因为IQ低于100分而产生的缺失值为MAR。
- 完全非随机缺失(Missing Not At Random,MNAR):数据的缺失与完全变量自身有关,这种缺失是不可忽略的。例如,公司新录用了20名员工,由于6名员工表现较差在试用期内辞退,试用期结束后的表现评定中,辞退的6名员工的表现分即为非随机缺失。
从缺失值的所属属性上讲,如果所有的缺失值都是同一属性,那么这种缺失成为单值缺失,如果缺失值属于不同的属性,称为任意缺失。另外对于时间序列类的数据,可能存在随着时间的缺失,这种缺失称为单调缺失。
数据缺失的处理方法
缺失值处理的方法大致分为这几类:1、删除法;2、加权方法;3、基于插补的方法;4、基于模型的方法。
删除法
- 删除观察样本
将存在缺失数据的样本删除,从而得到一个完备的数据集。这种方法简单易行,在对象有多个属性缺失值、被删除的含缺失值的对象与信息表中的数据量相比非常小的情况下是非常有效的。但是,在数据集中本来包含的样本很少的情况下,删除少量对象就足以严重影响数据的客观性和结果的正确性,因此,当缺失数据所占比例较大,特别当缺失数据是非随机分布时,这种方法可能导致数据发生偏离,从而导致错误的结果。
- 删除变量
当某个变量缺失值较多,且对研究目标影响不大,可以将变量整体删除。
- 改变权重
当删除缺失数据会改变数据结构时,通过对完整数据按照不同的权重进行加权,可以降低删除缺失数据带来的偏差。
删除法具有很大的局限性,它是以减少历史数据来换取信息的完备,会造成资源的大量浪费,丢弃了大量隐藏在这些对象中的信息。
加权方法
在进行抽样调查时,被调查者拒绝配合,会造成不响应调查现象。无不响应的抽样调查数据的随机化的推断,通常用它们的设计权加权抽取的单元。设计权是反比于它们的选取概率。设$y_{i}$是变量Y在总体中单元i的值,总体均值常用Horvitz-Thompson估计量进行估计
$$(\sum_{i=1}^{n} \pi_{i}^{-1} y_{i})(\sum_{i=1}^{n} \pi_{i}^{-1})^{-1}$$
其中$\pi_i$是单元i进入样本的已知概率,对不响应的加权方法是调整权以适应抽样设计时预料到的不响应。用
$$(\sum_{i=1}^{n}(\pi_{i} \hat{p}_{i})^{-1} y_{i} /\sum_{i=1}^{n}(\pi_{i} \hat{p}_i)^{-1}$$
替代Horvitz-Thompson估计量。${\hat{p}}_{i}$是单元i响应的概率的一个估计,通常它是样本的一个子类中的响应单元比例。
基于插补的方法
单一插补
单一插补指对每个缺失值,从其预测分布中取一个值填充缺失值后,使用标准的完全数据进行分析处理。
- 均值插补
均值插补是在处理数据时可以把变量分为数值型和非数值型,如果是非数值型的缺失数据,运用统计学中众数的原理,用此变量在其他对象中取值频数最多的值来填充缺失值;如果是数值型的缺失值,则取此变量在其他所有对象的取值均值来补齐缺失值,这种方法只能在缺失值是完全随机缺失时为总体均值或总量提供无偏估计。但此方法使得插补值集中在均值点上,在分布上容易形成尖峰,导致方差被低估。可根据一定的辅助变量,将样本分成多个部分,然后在每一部分上分别使用均值插补,称为局部均值插补。
- 利用哑变量进行调整
对缺失值创建一个指标,即设一个哑变量,1表示观测数据中存在缺失值,0表示观测数据中不存在缺失值,对缺失数据进行特定值的插补(如均值插补),这样做的好处是在缺失值处理时使用了全部变量的信息,但这样会导致估计有偏。
- 热平台插补
对于一个包含空值的变量,本方法是在完整数据中找到一个与空值最相似的变量,然后用这个相似的值来进行填充。与均值插补法相比,热平台插补简单易懂还可以保持数据本身的类型,利用本方法填充数据后,其变量值与填充前很接近。它的主要缺点是不能覆盖已有数据没有反应的信息。
- 冷平台插补
冷平台插补与热平台插补类似,但它是从过去的调查数据(如前期的调查数据或历史数据)中获得信息进行插补。冷平台插补同样不能消除估计的偏差。
- k-means插补
利用辅助变量(即无缺失值的变量),定义样本间的距离函数,寻找与缺失值样本距离最近的无缺失值的n个样本,利用这n个样本的加权平均值来估计缺失数据。即利用聚类模型预测缺失变量的类型,再以该类型的均值进行插补,但这种方法在模型中引入了自相关,容易给后面的分析工作造成障碍。
- 期望最大化(EM算法)
该算法的特点是通过数据扩张,将不完全数据的处理问题转化为对完全数据的处理问题,且通过假设隐变量的存在,简化似然方程,将比较复杂的似然函数极大似然估计问题转化为比较简单的极大似然估计问题。通过以下步骤实现:1、用估计值替代缺失值;2、参数估计;3、假定2中的参数估计值是正确的,再对缺失值进行估计;4、再估计缺失值。
随机插补
随机插补是在均值插补的基础上加上随机项,通过增加缺失值的随机性来改善缺失值分布过于集中的缺陷。
- 贝叶斯Boostap方法
贝叶斯Boostap方法主要包括两步:1、从(0,1)均匀分布中随机抽取k-1个随机数,并进行排序记为$a_{1},a_{2},\cdots,a_{k-1}$,并且使得$a_{0}=0$且$a_{k}=1$,其中k是观测值的数目;2、对n个缺失值,分别从观测数据$x_{1},\cdots,x_{k}$中以概率$(a_{1}-a_{0}),(a_{2}-a_{1}),\cdots,(1-a_{k-1})$抽取一个值进行插补。
- 近似贝叶斯Boostap方法
近似贝叶斯Boostap方法首先从k个观测数据集$x_{1},\cdots,x_{k}$中有放回的抽取$k^{}$个观测值建立一个新的数据集$x^{}$,对于n个缺失值,从数据集$x^{*}$中随机抽取n个值进行插补。
单一插补是标准的完全数据分析方法,要优于传统的忽略缺失值的思想,使得后续的统计分析可以在完整的数据集上进行,但单一插补的插补数据都是唯一的,插补结果扭曲了样本中变量的分布,容易低估估计量的方差。
多重插补
与单一插补方法相比较,多重插补方法充分地考虑了数据的不确定性。多重插补的主要分为三个步骤,综合起来即为:插补、分析、合并。插补步是为每个缺失值都构造出 m 个可能的插补值,缺失模型具有不确定性,这些插补值能体现出模型的这个性质,利用这些可能插补值对缺失值进行插补就得到了 m 个完整数据集。分析步是对插补后的 m 个完整数据集使用一样的统计数据分析方法进行分析,同时得到 m 个统计结果。综合步就是把得到的这 m 个统计结果综合起来得到的分析结果,把这个分析结果作为缺失值的替代值。多重插补构造多个插补值主要是通过模拟的方式对估计量的分布进行推测,然后采用不同的模型对缺失值进行插补,这种插补是随机抽取的方式,这样以来能提高估计的有效性和可靠性。
多重插补法主要有以下几种:
- PMM法(Predictive Mean Matching,PMM)
PMM法也称随机回归插补法,它是回归插补法的变形,插补值是由回归模型的的预测值加上一个随机产生的误差项结合而成.一般而言,对应于某种确定性的插补方法,可以产生出相应的随机性插补方法.它的优点是能够在正态性假设不成立的情况下插补适当的值,缺点是随机误差项的确定比较困难.
- 趋势得分法(Propensity Score, PS)
趋势得分是在给定观测协变量时分配给一个特殊处理的条件概率,它对每个有缺失值的变量产生一个趋势得分来表示观测缺失的概率。之后,根据这些趋势得分,把观测分组,最后再对每一组数据应用近似贝叶斯Bootstrap插补。
- 马尔科夫链蒙特卡罗法(Markov Chain Monte Carlo,MCMC)
MCMC方法是蒙特卡洛重要抽样, 是流行的贝叶斯分析方法中计算后验期望的方法。一般地,MCMC将缺失数据视为参数,然后将这些参数纳入抽样的范围即可。MCMC方法对缺失数据的处理相对灵活、简单易行。
多重插补方法有着其他插补方法所不具备的独特优势,第一,与其他方法相比较,多重插补方法能够尽可能的利用其他辅助信息,给出多个替代值,保持了估计结果的不确定性的大量信息;第二,多重插补方法能够尽可能接近真实情况下去模拟缺失数据的分布,在这样的条件下能够尽可能的保持变量之间的原始关系;第三,在多重插补的插补步骤会产生多个插补值,这样以来就可以利用这些不同的替代值来进一步反映无回答的不确定性。
几何插补
几何插补就是从几何的观点来研究插补,在可忽略的缺失机制下,假定观测数据的主成分与完全数据的主成分相同,那么可以通过寻找观测数据的主成分进行插补,换句话说就是用逼近观测数据的方法去插补缺失数据。
基于模型的方法
这类方法适用于大多数场合。一般对观测数据定义一个模型,然后在模型下根据适当的分布做推断。这个方法的优势就是灵活:回避特殊情况的方法,在模型假定基础上产生的方法可以进行推演和评价;以及考虑数据不完整性时方差分析的可用性。
基于模型的方法既不是删除缺失值也不是采用插补方法去补全缺失值,而是首先要考虑缺失数据的缺失机制,在此基础上为部分缺失数据定义模型,模型的参数可以通过极大似然或极大后验估计,以完全信息极大似然估计为例,这是基于模型的方法,可直接用于不完全数据的分析的,最大的特点在于即使缺失数据不是完全随机缺失,估计的结果也是无偏的。完全信息极大似然估计是建立在对数极大似然估计基础上的,假定数据来源于多元正态分布,对于不完全服从多元正态的数据还是稳健的极大似然估计的不足之处在于需要相对比较大的数据集,而且可供推断的信息是有限的。当样本量太小时,不宜采用完全信息极大似然估计。
不对缺失值进行处理
直接在包含空值的数据上进行数据挖掘。可通过贝叶斯网络和人工神经网络实现。
贝叶斯网络是用来表示变量间连接概率的图形模式,它提供了一种自然的表示因果信息的方法,用来发现数据间的潜在关系。在这个网络中,用节点表示变量,有向边表示变量间的依赖关系。贝叶斯网络仅适合于对领域知识具有一定了解的情况,至少对变量间的依赖关系较清楚的情况。否则直接从数据中学习贝叶斯网的结构不但复杂性较高(随着变量的增加,指数级增加),网络维护代价昂贵,而且它的估计参数较多,为系统带来了高方差,影响了它的预测精度。当在任何一个对象中的缺失值数量很大时,存在指数爆炸的危险。
基于神经网络进行缺失数据估计的基本思想是:把同一系统的除待估计参数以外的其它参数的数据作为网络的输入,待估计参数的数据作为输出,利用该系统中的已知数据训练网络,在网络满足要求后,把与待估计的数据同一时间的其它参数的数据输入网络,网络输出值即为缺失数据的估计值。