数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。本文作者详细地讲解了数据清洗的步骤,欢迎感兴趣的伙伴们阅读。
数据分析整个框架里面比较关键除了模型本身以外,更多依赖的是丰富高质量的数据源。在数据收集时需要捕获有关源的关键元数据,如来源、大小、时效性和相关内容的额外知识。迭代地识别当前数据资产基础和这些数据源的差距,使用分析、可视化、 挖掘或其他数据科学方法探索这些数据源,以定义模型算法输入或模型假设。
由于原始数据中或多或少存在一些缺失、损坏的脏数据。如果不处理会导致模型失效。就好比,一个水平很高的厨师,给到的原材料如果不卫生不干净,那也很难做出一道让人满意的菜品。因此在整合数据建立模型之前, 应先评估数据的质量。对数据进行清洗。
当然,数据清洗除了能保障高质量的数据输出之外。也能够同步对数据探索。数据清洗和数据探索的作用是相辅相成的,通过数据探索,检阅数据的特征描述、分布推断以及结构上的优化,能更好的为数据清洗选择合适的清洗方法。而数据清洗后的数据则可以更有效的进行数据探索。本文重点讲解数据清洗的一些方法和注意事项。接下来,介绍数据清洗的两个重要部分:异常值判别和缺失值处理。
01 异常值判别
数据清洗的第一步是识别会影响分析结果的“异常”数据,然后判断是否剔除。异常值通常有以下几个表现:
(1)缺乏完整性
完整性即记录数量名称是否完整,内部数据由于属于企业内部自己生产的数据,相对而言比较好掌控检查。而如果是采购的外部数据,例如:城市土地人口宏观数据或者某城的二手房交易数据,则完整性需要外部数据供应商提出相应保障。
(2)缺乏准确性
收集的数据必须要能够正确反映业务需求,否则分析结论会对业务造成误导。这方面的检查做数据分析,需要首先理解业务背景,第二需要判断收集的此类数据以及数据项是否可以转换为分析项目所需数据。如果部分数据不符合业务逻辑,或者数据准确性很差,则对数据分析造成很大的影响。
(3)缺乏唯一性
数据的唯一性应该从两个角度检查,常见的错误是多个数据一个编码,例如产品住宅,产品商铺都是同一编码,或者同时一个实物对应多个编码。如果导入系统,系统需要能够识别,否则将会影响分析主体的唯一性。
目前常用的识别异常数据的方法有物理判别法和统计判别法:
物理判别法:根据人们对客观事物、业务等已有的认识,判别由于外界干扰、人为误差等原因造成实测数据偏离正常结果,判断异常值。例如常见的年月日基本信息,显示值为:1900年1月1日。这种判别方式需要人工干预,检查的工作量较大,如果没有找到数据之间的关联关系容易出错漏处理。
统计判别法:通过系统设定一个置信概率,并确定一个置信上下限,凡超过此限的误差,就认为它不属于随机误差范围,自动判定为异常值。这种方法高效明确,且不会遗漏错误脏数据。常用的方法有:拉依达准则、肖维勒准则、格拉布斯准则、狄克逊准则、t检验等。(具体描述查看下图)
这种系统判别并进行删除异常值的方式虽然高效,但也存在风险。因为每个方法不尽相同,得出的异常值也有可能存在偏差。为了减少这种误删的概率,可以将多种统计判别方法结合使用,并且要找出异常值出现的原因。是手工录入错误还是数据接收过程中出错。同时,如果发现有多个异常值,建议逐个删除,即删除一个后再进行检验。
02 缺失值处理
在数据缺失严重的情况下,分析结果会失真。因此需要将缺失值进行填补,传统方式检查出来的空值有人工进行补充,但是需要补充人员找到相关资料检验无误后再进行填补。当然如果对于结果要求并不是特别大,且我们能通过数据找到规律的情况下做数据分析,可以采用合理的方法自动填补空缺值。例如:可以根据身份证号码,自动判断人员的性别。常见的方法有平均值填充、K最近距离法、回归法、极大似线估计法等。(具体描述查看下图)
值得注意的是,数据收集的过程中,如果对于某个字段要求必输,则可以通过系统导入时自动判断是否为null,如果为null则导入不成功,从源头控制数据质量。
当然,我们在做数据分析的过程中,也要看数据量的大小。一般情况下数据量越大,异常值和缺失值对整体分析结果的影响会逐渐变小。所以,在“大数据”模式下,如果异常值和缺失值较小的情况下,可
来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!
版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。