美文网首页科研信息学
多重补插,缺失值处理 mice 包使用 (一)

多重补插,缺失值处理 mice 包使用 (一)

作者: 上校的猫 | 来源:发表于2019-08-08 09:22 被阅读3次

参考

https://www.jianshu.com/p/494e479c9037
https://www.cnblogs.com/cloudtj/articles/5512335.html
https://stefvanbuuren.name/mice/
https://stefvanbuuren.name/fimd/
https://cran.r-project.org/web/packages/mice/mice.pdf

前言

分析数据第一步就是清理数据了,包括异常值,缺失值处理等。首先要明白为什么会缺失,然后可以将缺失分为三类。最后是根据缺失的原因分类结果选用不同的方法来处理缺失值。例如缺失是完全随机的,不受其他因素或者变量影响,这个时候就可以直接删除有缺失的样本,只保留完整的样本。这里可以理解为数据完整的样本是随机的重新抽样(大样本中的一部分),可以反应总体。其实我们好好想想,抽样分析其实就是一个填补缺失值的研究,总体的中没有抽到的样本都算缺失。上面的参考中有更详细的阐述,这里主要介绍 mice 包的使用方法和适用条件。文章只用来参考,若有错误请指出,共同学习。

1、均值填充

library("mice")
data("airquality")
imp <- mice(airquality, method = "mean", m = 1, maxit = 1)
##The argument method = mean specifies mean imputation, the argument m = 1 requests a single imputed dataset, and maxit = 1 sets the number of iterations to 1 (no iteration). 

均值填补很快捷但是不推荐,因为大多数情况下会改变原始数据的分布,干扰变量之间的关系。

2、回归填补(Regression imputation)

data <- airquality[, c("Ozone", "Solar.R")]
imp <- mice(data, method = "norm.predict", seed = 1,
           m = 1, print = FALSE)
xyplot(imp, Ozone ~ Solar.R)

根据变量之间的关系,建立回归模型,然后再预测缺失值。但从上图中可以看出,预测值和真实观测值还是会有区别,观测值是随机分布的,而不是完美的在某一条回归曲线上。预测的缺失值会增加变量之间的相关性。

3、随机回归 (Stochastic regression imputation)

data <- airquality[, c("Ozone", "Solar.R")]
imp <- mice(data, method = "norm.nob", m = 1, maxit = 1,
            seed = 1, print = FALSE)

此种方法是上面方法的改进,在回归中加入噪音(随机残差),这样可以减少相关偏差。即保留了回归权重,又不太影响变量之间的相关性。
当然回归分析也有局限性,变量之间有依赖性才行。

4、向填充或者向前填充

airquality2 <- tidyr::fill(airquality, Ozone)

这种方法应该对时间依赖型的数据比较友好,比如每天的室温记录,如果有缺失,这个温度很有可能和前天或者后天的温度保持一致。这种方法多用于临床和药物研究中。

5、多重补插

如下图所示,通过可信值替换缺失值,生成多个完整数据集,然后进行我们感兴趣的分析。最终结果之间的差异就完全是因为缺失值造成的。最后进行合并,在适当的条件下,合并的估计是无偏的,并且具有正确的统计特性。


相关文章

  • 多重补插,缺失值处理 mice 包使用 (一)

    参考 https://www.jianshu.com/p/494e479c9037https://www.cnbl...

  • R进阶:缺失值的处理、拟合关系

    缺失值的处理 1.使用中位数或者均值(非数值时使用众数)来填补缺失值 2.使用随机数3.使用mice包多重填补法补...

  • 数据预处理

    一.缺失值处理 1.直接使用带有缺失值的数据 2.舍弃该特征 3.缺失值填充 均值插补离散值连续值 同类均值插补 ...

  • 数据清洗-利用python进行缺失值处理

    处理缺失值的方法有3种:删除、不处理、数据插补。 而数据插补主要有5种: 1)利用均值、中位数、众数插补 2)使用...

  • 缺失值的处理

    缺失值的处理 Imputing Missing Data with R; MICE packageImputing...

  • 缺失值处理

    对于缺失值的处理,从总体上来说分为删除存在缺失值的个案和缺失值插补。对于主观数据,人将影响数据的真实性,存在缺失值...

  • 数据清洗

    数据清洗:删除原始数据集中的无关数据,重复数据,平滑噪声数据,处理缺失值和异常值 缺失值的处理:删除记录 数据插补...

  • pandas学习笔记之缺失值处理

    对于数据中的缺失值,有两种处理思路: 删除 插补 如何判断数据中是否存在缺失值? pd.isnull(df) ->...

  • R小姐:mice 多重插补

    答应大家今天要写一写关于多重插补的文章。查阅了很多资料,发现了一篇非常棒的英文文献,翻译给大家。 附上原文链接: ...

  • stata对包含协变量的模型进行缺失值多重插补分析

    原文链接:http://tecdat.cn/?p=6358 多重插补已成为处理缺失数据的常用方法 。我们可以考虑使...

网友评论

    本文标题:多重补插,缺失值处理 mice 包使用 (一)

    本文链接:https://www.haomeiwen.com/subject/ngqzdctx.html