泛统计理论初探——数据清洗常见技巧

统计学习-数据清洗常见技巧

数据清洗的常见技巧探究
在本文中,将会介绍数据清洗中的常见技巧,主要是针对在真实场景中的数据处理,比如数据竞赛、数据报告、商业分析等。数据清洗是在获取到数据后的重要步骤,通常经过清洗后的数据是可以被用于进行分析和挖掘的,而在清洗之前的数据是所谓的脏数据。常见的脏数据中,可能存在数据冗余、数据缺失、数据异常等现象。因此本文将会从上述三个角度去分析,当遇到这些问题时,应该如何进行处理,最终得到干净的数据。
首先我们将讨论数据冗余,本人认为数据冗余有两种:一种是特征冗余,即出现相同或者类似的变量,比如出现身高(米)变量和身长(厘米)变量,那么这种就是特征冗余。另一种是样本冗余,即在数据中出现了大量的重复数据,比如在一份表格中,由于数据录入人员的操作失误,使得各个变量的值都一样的多条数据出现,那么这种就是样本冗余。对于第一种特征冗余的情况,我们可以观察数据后进行手动删除,但是如果遇到相似的变量,比如当变量中出现了身高、体重、BMI指数这三个变量的时候,那么就需要看研究目的需要进行删除,由于BMI指数是通过身高和体重计算得出,任意得到其中两个指标就能计算得到第三个指标,所以删除其中一个指标即可。同时,如果特征在直观上看上去都是不同的,那么当数据清洗后,还可以进行变量之间的相关性分析,通过相关系数观察变量之间是否存在相关性很高的关系,如果有两个变量之间的相关系数绝对值较高,那么可以考虑删除其中一个变量。对于第二种数据冗余的情况,使用者可以对数据按某个维度进行排序后,然后手动进行删除,当然也可以编写程序进行冗余删除。
其次我们探讨遇到数据异常的情况应该如何处理。在作者看来,数据异常的情况主要有两种:即数据值类型异常、数据值范围异常。对于第一种数据值类型异常的情况,比如身高变量的数据中,有一个样本的取值是已婚,那么显然是操作者填错了位置。对于这种数据值类型异常的情况,使用者可以向操作者确认这个样本的真正身高是多少;也可以从其他样本入手,观察该样本的体重、年龄等因素,求得相似特征人群的身高平均值,然后将这个身高平均值去填充这个异常值的样本。对于第二种数据值范围异常的情况,比如在体重(公斤)变量中,出现了1.52这个值。那么显然这有可能是操作者填写错误或有可能是没有注意到体重变量的单位。这种时候我们也可以对数据进行处理,通过求得相似人群的体重,然后求中位数或者平均数进行替换,得到正确的体重数值。
然后我们将探讨数据缺失的情况,这种数据缺失的情况出现的概率非常高,甚至在一些较为干净的数据集或是填写完整的问卷中,也会因为各种问题存在一些数据的缺失。当我们面对这种缺失的情况时,主要有以下五类方法去解决:
(1)样本删除法。当数据中出现某个样本的多个变量的值都为空或者不符合变量值范围的情况时,可以认为该样本无效,即进行删除不影响整体分析。
(2)全体填补法。如果某个样本只有1或2个缺失值,那么直接删除会较为可惜,使用者可以对该维度的所有的数据进行求平均值或中位数,将求得的数值对缺失值进行填充。
(3)相似群体填补法。在(2)的情况下,如果遇到一些具有显著差异的变量,比如男人平均身高和女人平均身高有较大差异的时候,那么推荐对该样本进行分类,找到对应的或相似特征的群体后,然后在该群体内部进行中位数或平均值的求解,并将得到的值进行填充。
(4)众数填补法。这种方法是寻找在该缺失值对应的维度中,出现的最多的值,并将这个值进行缺失值的填充。这种方法对于一些离散的变量较为适用,比如统计老年人的饮食情况时,在婚姻变量中,大部分的老年人这个变量都是已婚,几乎不存在未婚或是离婚的情况,那么这个时候如果有样本存在缺失值,可以将已婚作为众数进行缺失值的填补。
(5)机器学习填补法。这种方法指的是使用机器学习中的聚类方法,比如KMeans、DBSCAN等聚类方法。这种方法处理一些连续值的变量时,有较好的效果。使用者通过使用聚类方法,得到与该样本最相似(距离最近)的一些样本的变量值,并通过加权计算等方法得到缺失值的结果进行填充。

综上所述,我们讨论的这三类数据清洗的技巧,其实都是数据处理中的经典步骤,使用者需要对数据进行深刻理解,并合适地使用上述技巧,从而达到把脏数据变干净的效果。

发布了23 篇原创文章 · 获赞 24 · 访问量 4509

猜你喜欢

转载自blog.csdn.net/qq_26727101/article/details/103323214
今日推荐