找回密码
 立即注册
查看: 78|回复: 0

数据词典:数据清洗(Data Cleaning)

[复制链接]

108

主题

1

回帖

478

积分

管理员

积分
478
发表于 2025-10-28 08:44:54 | 显示全部楼层 |阅读模式
数据清洗对于获得高质量分析结果而言,其重要性是不言而喻的,正所谓“垃圾数据进,垃圾数据出”,没有高质量的输入数据,那么输出的分析结果,其价值也会大打折扣,甚至没有任何价值。数据清洗是指将大量原始数据中的“脏”数据“洗掉”,它是发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。比如,在构建数据仓库时,由于数据仓库中的数据是面向某一主题的数据的集合,这些数据从多个业务系统中抽取而来,而且包含历史数据,这样就避免不了有的数据是错误数据、有的数据相互之间有冲突,这些错误的或有冲突的数据显然是我们不想要的,称为“脏数据”。我们要按照一定的规则把“脏数据”给“洗掉”,这就是“数据清洗”。
数据清洗的主要应用领域包括数据仓库与数据挖掘、数据质量管理。
1)数据仓库与数据挖掘。数据清洗对于数据仓库与数据挖掘应用来说,是核心和基础,它是获取可靠、有效数据的一个基本步骤。数据仓库是为了支持决策分析的数据集合,在数据仓库领域,数据清洗一般是应用在几个数据库合并时或者多个数据源进行集成时。例如,指代同一个实体的记录,在合并后的数据库中就会出现重复的记录。数据清洗就是要把这些重复的记录识别出来并消除它们。数据挖掘是建立在数据仓库基础上的增值技术,在数据挖掘领域,经常会遇到挖掘出来的特征数据存在各种异常情况,如数据缺失、数据值异常等。对于这些情况,如果不加以处理,就会直接影响到最终挖掘模型的使用效果,甚至会使得创建模型任务失败。因此,在数据挖掘过程中,数据清洗是第一步。
2)数据质量管理。数据质量管理贯穿数据生命周期的全过程。在数据生命周期中,可以通过数据质量管理的方法和手段,在数据生成、使用、消亡的过程中,及时发现有缺陷的数据,然后借助数据管理手段,将数据正确化和规范化,从而达到符合要求的数据质量标准。总体而言,数据质量管理覆盖质量评估、数据去噪、数据监控、数据探查、数据清洗、数据诊断等方面,而在这个过程中,数据清洗是决定数据质量好坏的重要因素。
数据清洗按照实现方式,可以分为手工清洗和自动清洗。
1)手工清洗。手工清洗是通过人工方式对数据进行检查,发现数据中的错误。这种方式比较简单,只要投入足够的人力、物力、财力,也能发现所有错误,但效率低下。在大数据量的情况下,手工清洗数据几乎是不可能的。
2)自动清洗。自动清洗是通过专门编写的计算机应用程序来进行数据清洗。这种方法能解决某个特定的问题,但不够灵活,特别是在清洗过程需要反复进行时(一般来说,数据清洗一遍就达到要求的很少),程序复杂,清洗过程变化时工作量大。而且,这种方法也没有充分利用目前数据库提供的强大的数据处理能力 。
数据清洗主要是对缺失值、重复值、异常值和数据类型有误的数据进行处理,数据清洗的内容主要包括:
1)缺失值处理。由于调查、编码和录入误差,数据中可能存在一些缺失值,需要给予适当的处理。常用的处理方法有:估算、整例删除、变量删除和成对删除。(a)估算:最简单的办法就是用某个变量的样本均值、中位数或众数代替缺失值。这种办法简单,但没有充分考虑数据中已有的信息,误差可能较大。另一种办法就是根据调查对象对其他问题的答案,通过变量之间的相关分析或逻辑推论进行估计。例如,某一产品的拥有情况可能与家庭收入有关,可以根据调查对象的家庭收入推算拥有这一产品的可能性。(b)整例删除:剔除含有缺失值的样本。由于很多问卷都可能存在缺失值,这种做法的结果可能导致有效样本量大大减少,无法充分利用已经收集到的数据。因此,只适合关键变量缺失,或者含有异常值或缺失值的样本比重很小的情况。(c)变量删除:如果某一变量的缺失值很多,而且该变量对于所研究的问题不是特别重要,则可以考虑将该变量删除。这种做法减少了供分析用的变量数目,但没有改变样本量。(d)成对删除:是用一个特殊码(通常是999999等)代表缺失值,同时保留数据集中的全部变量和样本。但是,在具体计算时只采用有完整答案的样本,因而不同的分析因涉及的变量不同,其有效样本量也会有所不同。这是一种保守的处理方法,最大限度地保留了数据集中的可用信息。
2)异常值处理。根据每个变量的合理取值范围和相互关系,检查数据是否合乎要求,发现超出正常范围、逻辑上不合理或者相互矛盾的数据。例如,用1-7级量表测量的变量出现了0值,体重出现了负数,都应视为超出正常值域范围。SPSSSAS、和Excel等计算机软件都能够根据定义的取值范围,自动识别每个超出范围的变量值。具有逻辑上不一致性的答案可能以多种形式出现:例如,许多调查对象说自己开车上班,又报告没有汽车;或者调查对象报告自己是某品牌的重度购买者和使用者,但同时又在熟悉程度量表上给了很低的分值。发现不一致时,要列出问卷序号、记录序号、变量名称、错误类别等,便于进一步核对和纠正。
3)数据类型转换。数据类型往往会影响到后续的数据处理分析环节,因此,需要明确每个字段的数据类型,比如,来自A表的“学号”是字符型,而来自B表的字段是日期型,在数据清洗的时候就需要对二者的数据类型进行统一处理。
4)重复值处理。重复值的存在会影响数据分析和挖掘结果的准确性,所以,在数据分析和建模之前需要进行数据重复性检验,如果存在重复值,还需要进行重复值的删除。
数据清洗的基本流程一共分为5个步骤,分别是数据分析、定义数据清洗的策略和规则、搜寻并确定错误实例、纠正发现的错误以及干净数据回流。具体如下:
1)数据分析。对于原始数据源中存在的数据质量问题,需要通过人工检测或者计算机分析程序的方式对原始数据源的数据进行检测分析。可以说,数据分析是数据清洗的前提和基础。
2)定义数据清洗的策略和规则。根据数据分析环节得到的数据源中的“脏数据”的具体情况,制定相应的数据清洗策略和规则,并选择合适的数据清洗算法。
3)搜寻并确定错误实例。搜寻并确定错误实例步骤包括自动检测属性错误和检测重复记录的算法。手工检测数据集中的属性错误,需要花费大量的时间和精力,而且检测过程容易出错,所以需要使用高效的方法自动检测数据集中的属性错误,主要检测方法有基于统计的方法、聚类方法和关联规则方法等。检测重复记录的算法可以对两个数据集或者一个合并后的数据集进行检测,从而确定同一个现实实体的重复记录。检测重复记录的算法有基本的字段匹配算法、递归字段匹配算法等。
4)纠正发现的错误。根据不同的“脏数据”存在形式,执行相应的数据清洗和转换步骤,解决原始数据源中存在的质量问题。某些特定领域能够根据发现的错误模式,编制程序或者借助于外部标准数据源文件、数据字典等,在一定程度上修正错误。有时候也可以根据数理统计知识进行自动修正,但是很多情况下都需要编制复杂的程序或者借助于人工干预来完成。需要注意的是,对原始数据源进行数据清洗时,应该将原始数据源进行备份,以防需要撤销清洗操作。
5)干净数据回流。当数据被清洗后,干净的数据替代原始数据源中的“脏数据”,这样可以提高信息系统的数据质量,还可以避免将来再次抽取数据后进行重复的清洗工作。
数据清洗的评价标准包括以下几个方面:
1)数据的可信性。可信性包括精确性、完整性、一致性、有效性、唯一性等指标。精确性是指数据是否与其对应的客观实体的特征相一致。完整性是指数据是否存在缺失记录或缺失字段。一致性是指同一实体的同一属性的值在不同的系统是否一致。有效性是指数据是否满足用户定义的条件或在一定的域值范围内。唯一性是指数据是否存在重复记录。
2)数据的可用性。数据的可用性考察指标主要包括时间性和稳定性。时间性是指数据是当前数据还是历史数据。稳定性是指数据是否是稳定的,是否在其有效期内。
3)数据清洗的代价。数据清洗的代价即成本效益,在进行数据清洗之前考虑成本效益这个因素是很有必要的。因为数据清洗是一项十分繁重的工作,需要投入大量的时间、人力和物力,一般而言,在大数据项目的实际开发工作中,数据清洗通常占开发过程总时间的50%~70%。在进行数据清洗之前要考虑其物质和时间开销的大小,是否会超过组织的承受能力。通常情况下,大数据集的数据清洗是一个系统性的工作,需要多方配合以及大量人员的参与,需要多种资源的支持。企业所做出的每项决定目标都是为了给公司带来更大的经济效益,如果花费大量金钱、时间、人力和物力进行大规模的数据清洗之后,所能带来的效益远远低于所投入的,那么这样的数据清洗被认定为一次失败的数据清洗。因此,在进行数据清洗之前进行成本效益的估算是非常重要的。
【出处】林子雨.大数据导论.人民邮电出版社,20209月第1.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|全数联人才测评中心 ( 京ICP备2024094898号 )

GMT+8, 2025-11-18 05:22 , Processed in 0.096638 second(s), 20 queries .

版权所有: 全数联人才测评(北京)中心

友情链接: 中华全国数字人才培育联盟 全数联人才测评中心学习平台 全数联人才测评中心存证平台 全数联人工智能专员认证中心

快速回复 返回顶部 返回列表