来源 | R友舍
简介
缺失值是一个实际数据处理中常见的问题。其缺失机制大致可以分为完全随机缺失(MCAR),非随机缺失(MNAR)
缺失的例子说明:假设一个数据集有3个变量 X1 , X2 , Y ,假设 X1 , X2 是完全变量, Y存在缺失值,那么
当 Y 以0.5概率缺失,为MCAR
当 X1<0 或者当 Y<0 , Y 发生缺失,为MNAR
对于完全随机缺失,直接剔除一般不会带来偏误,而对于非完全随机缺失,由于缺失值出现的位置可能和其他变量有关联,带来的后果则相对复杂得多。
常见处理方法
删除法
直接删除有缺失值的样本
删除存在大面积缺失值的变量。或完全变量分析:如果研究的问题只涉及到全部变量中的一部分变量,这部分变量是完整的,那么可以只分析这几个完整变量之间的关系
填补法
单变量填补
简单随机填补:对于每一个缺失值,从已有的该变量数据中随机抽样作为填补值,填补进缺失位置。仅仅考虑到了缺失变量本身,而并没有考虑到相关变量的信息。因此,信息量的利用少。
均值/中位数/分位数填补:用存在缺失值的变量的已有值的均值/中位数/分位数,作为填补值。这种方法显然会导致方差偏小。
回归填补:将缺失变量作为因变量,相关变量(其他变量)作为自变量,进行回归拟合,用预测值作为填补值。用于作为自变量的变量最好是具有完全数据(无缺失)。
热平台和冷平台:热平台法又称匹配插补法,思路是在完全数据样本中,找到一个和具有缺失值的样本相似的完全数据样本,用完全数据样本值作为填充值,其过程有点类似于K阶近邻的思想。冷平台法又称条件均值插补法,思路是先将总体分层(聚类),采用样本所在层(类)的完全数据的均值来替代缺失值。
多变量填补
回归插补法:对缺失变量和完全数据变量拟合多元回归模型来预测缺失值。是多重填补法的一种应用。多重填补法(Multiple Imputation Missing Data)的具体技术方法众多且相对复杂,限于篇幅此处不一一展开。
基于mice包的缺失值填补方法
mice即是基于多重填补法构造的。基本思想是对于一个具有缺失值的变量,用其他变量的数据对这个变量进行拟合,再用拟合的预测值对这个变量的缺失值进行填补。
数据准备(可跳过)
set.seed(2016)data
采用R自带的airquality数据,其第一和第二列数据已经有很多缺失值,现