**数据清洗概述**
数据情洗的背景
数据质量是指业务环境下,数据符合数据消费者的使用目的,能满足业务场景具体需求的程度。从适用性角度看,数据质量是一个相对概念(与决策有关)。
数据质量的显著特点:
业务需求会随时间变化,数据质量也会随时间发生变化。
数据质量可以借助信息系统度量,但独立于信息系统存在。
数据质量存在于数据的整体生命周期,随着数据的产生而产生,随着数据的消失而消失。
数据质量的评价指标:
准确性:数据的准确性是要求数据中的噪声尽可能少。
完整性:数据信息是否存在缺失的状况。
简洁性:尽量选择重要的木质属性,并消除冗余·。
适用性:评价数据质量的重要标准。是评价数据质量的核心准则。
数据质量的问题分类:
1.基于数据源的“脏”数据分类:
1)单数据源问题
单数据源的数据质量主要取决于它的模式对数据完整性约束的控制程度。
单数据源的实例层问题是由于数据在模式层无法预防的错误和不一致引起的。
2)多数据源问题
多数据源中存在的与模式相关的质量问题主要是名字冲突和结构冲突。名字冲突表现在同一个名字表示不同的对象,或不同的名字表示同一个对象;结构冲突的典型表现是不同的数据源中同一对象用不同的方式表示。
2.基于清洗方式的“脏”数据分类
1)独立型“脏”数据
独立型“脏”数据可通过记录或本身属性检验出是否包含“脏”数据,不需要依赖其他记录或属性检测。使用“数据合法性检验规则”检测数据字段的实际内容。
数据的格式主要是检验记录的某个字段或字段组中的数据是否符合规范格式,这是针对模式层的“脏”数据进行检验。
数据的范围主要是检查记录的字段数据是否在预期的范围内,常用于检验数字和有效值。
数据的枚举清单主要是参照某个已定义的清单检验字段的值。
数据的相关性主要通过主键和外键的关系实现。
数据转换是将“脏”数据进行清洗的过程,包括模式转换和实例转换。其中,模式转换用来解决模式层“脏”数据的问题,通过在元数据库中定义表字段的映射规则、字段拆分规则以及字段值合并规则等协调数据模式之间的差异,从而实现数据的清洗;实例转换是根据源数结字段的实际内容,结合一定的领域知识解决拼写错误、输人错误、不同的计量单位及过时的给码等实例层“脏”数据问题。
2)依赖型“脏”数据
依酸型“脏”数据主要包括缺失数据和重复数据等“脏”数据。由于需要综合考虑与其他记录间的关联,依赖型“脏”数据的处理很难有通用的方法。一般地,针对特定类型的“脏”数据设计特定的清洗方式。
(1)缺失数据。
缺失数据主要包括数据空值和数据异常,具体介绍如下。
数据空值一共有两种情况,即缺失值和空值。其中,缺失值是指值实际存在,但没有存人值所属字段中。数据异常指的是用统计分析的方法识别出异常值。计算某个字段的平均值、众数、中位数以及最大值、最小值等,可根据这些统计的值和相关的规则发现数据中的异常。
(2)重复数据。
重复数据是指一个现实实体在数据集合中以多个不完全相同的记录表示。
数据清洗的定义:
数据清洗技术是提高数据质量的有效方法。
在数据挖掘领域中,数据清洗是数据进行预处理过程的第一个步骤。在数据预处理应用中,数据清洗的主要任务是提高数据的可用性,即去除噪声、无关数据以及空值等,并考虑数据的动态变化。在字符分类问题中,通过使用机器学习的技术进行数据清洗,即使用特定算法检测数据库对缺失和错误的数据予以修改。
在数据质量管理领域中,数据质量管理是一个学术界和商业界都感兴趣的领域。数据质量管理主要用于解决信息系统中的数据质量及集成问题。在该领域中,数据清洗从数据质量的角度出发,把数据清洗过程和数据生命周期集成在一起,对数据的正确性进行检查并提高数据质量。
数据清洗的原理:
数据清洗是利用相关技术将“脏”数据转换为满足质量要求的数据。
数据清洗的基本流程:
1.数据分析
2.定义数据清洗的策略和规则
3.搜寻并确定错误实例
4.纠正发现的错误
5.干净数据回流
数据清洗的策略:
1.一般的数据清洗策略:
手工清洗策略,即通过人工直接修改“脏”数据。
自动清洗策略,即通过编写专门的应用程序检测并修改“脏”数据。
特定应用领域的清洗策略,即根据概率统计学原理检测并修改数值异常的记录。
与特定应用领域无关的清洗策略,即根据相关算法检测并删除重复记录。
2.混合的数据清洗策略
混合的数据清洗策略主要以自动清洗为主。在数据仓库的数据初次装载阶段和增量装载阶段,可以通过输写应用程序实现批量数据的自动清洗,但该清洗策略并不能完全涵盖所有的错误类型。若无法按照已有策略识别某些错误类型,修改数据的工作就需要人工监督和确认,这时系统会设定异常报警功能,通过用户自身对错误的识别、理解和确认,最终实现数据清洗。
常见的数据清洗的方法:
1.缺失值的清洗:
(1)忽略缺失值数据方法是直接通过删除属性或实例忽略缺失值的数据。
(2)填充缺失值数据方法是使用最接近缺失值的值替代缺失的值,包括人工填写缺失值,使用一个全局常量填充空缺值(即将缺失的值用同一个常量Unknown替换)以及使用属性的平均值、中间值、最大(小)值填充缺失值,或使用最可能的值(即通过回归、贝叶斯形式化方法的工具或决策树归纳确定的值)填充缺失值。
2.重复值的清洗:
目前清洗重复值的基本思想是“排序和合并”。
(1)相似度计算是通过计算记录的个别属性的相似度,然后考虑每个属性的不同权重值,若两个记录相似度超过某一个阈值,则认为两条记录匹配,否则认为这两条记录指向不同的实体。
(2)基于基本近邻排序算法的核心思想是为了减少记录的比较次数,在按关键字排序后的数据集上移动一个大小固定的窗口,通过检测窗口内的记录判定它们是否相似,从而确定并处理重复记录。
3.错误值的清洗:
错误值的清洗方法主要包括使用统计分析的方法识别可能的错误值(如偏差分析、识别不遵守分布或回归方程的值)、使用简单规则库(即常识性规则、业务特定规则等)检测出错误值、使用不同属性间的约束以及使用外部的数据等方法检测和处理错误值。