R语言R

一文了解初学者处理缺失数据

2020-03-30  本文已影响0人  医科研

您想成为一名数据科学家或者想分析你临床工作中遇到的各种问题数据。也许您已经是一位来自软件工程背景的数据科学家。您知道,数据科学家的工作中有80%至90%实际上是数据清理。由于要执行10%的机器学习任务,因此您仍然想完成这项工作。完成数据集分析后,没有什么比您得到的高。您如何找到一种减少数据清理时间的方法?您如何为至关重要的那10%的工作保留精力,以便做得更好? 根据我的经验,对数据清理涉及的流程有扎实的了解非常很重要。了解过程的重要性以及过程中使用的技术将减少执行数据清理任务所需的时间。

优质数据的重要性

如今,我们迷失了“优质数据”的概念,或者说是清洁数据。优质数据定义为准确,完整,一致,及时,唯一和有效的数据。您的机器学习算法依赖于“优质数据”来构建模型,执行和概括性能。有了真实世界的数据,通常会发现数据问题,因为您意识到机器学习算法根本无法工作,或者机器学习算法的性能无法在更大的数据集上推广

在您的数据科学流程的第一步中,几乎不可能找到所有数据问题。您需要为数据清理->数据建模->性能调整的迭代过程做好准备。在此迭代过程中,通过从一开始就掌握正确的基础知识,可以大大缩短时间。

在统计中,您会经常发现将数据分析过程比作约会的人。在头几天,了解您的伴侣(您的数据)至关重要。是否有任何破坏者可能会在以后蔓延?这些破坏者是您首先要抓住的。这些破坏交易者会使您的数据产生偏差。

缺失数据是大难题

缺失数据可以是各式各样的,可能是一个变量,也可能是多个变量。让你很痛苦,很难受

缺失数据分类

丢失数据分为三类,这个分类我们已在多篇文章中提及了。

如何确定数据缺失是否随机呢?

解释:如果信号或统计学显着性大于0.05,则没有统计学显着性。这意味着您接受零假设,即“数据完全随机丢失”。MCAR

如果是MAR和MCAR,则删除。否则进行插补。也就是说插补适用于 MNAR

删除的方法

数据插补的方法

对于分类变量

分类变量-这些变量具有固定数量的可能值。此类变量的示例为:性别=男性,女性,不适用。

如果缺失值不多,则为缺失值创建新级别的分类变量是处理缺失值的好方法

对于连续型变量

连续变量-这些变量的实数值在一定的间隔内。此类变量的一个示例是付款金额= 0到无穷大。

KNN法 (K Nearest Neighbors)

这是一种广泛用于缺失数据插补的模型。之所以广泛使用它,是因为它既可以处理连续数据,也可以处理分类数据。

多重插补

多重插补或MICE算法通过运行多个回归模型来工作,并且根据观察到的(非缺失)值有条件地对每个缺失值进行建模。多重插补的功能是可以插补连续,二进制,无序分类数据和有序分类数据的混合

关于多重插补的执行,我曾在一篇案例演示的文章中演示过。

library(mice)
imp<-mice(diabetes, method="norm.predict", m=1)
data_imp<-complete(imp)
imp<-mice(diabetes, m=5)
fit<-with(data=imp, lm(y~x+z))
combine<-pool(fit)

在R中 MICE包的缺点: 没有其他插补方法的理论依据。 数据复杂性。

处理丢失的数据是数据科学家工作中最大的部分之一。将干净的数据输入到算法中将意味着机器学习算法的性能要好得多。在数据清理过程的开始,区分MCAR,MAR和MNAR是必不可少的。尽管存在多种方法来处理丢失的数据插补,但KNN和MICE在处理连续数据和分类数据方面仍然最受欢迎。

参考资料

上一篇下一篇

猜你喜欢

热点阅读