数据清洗综述_第1页
数据清洗综述_第2页
数据清洗综述_第3页
数据清洗综述_第4页
数据清洗综述_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据清洗研究综述随着信息处理技术的不断发展, 各行各业已建立了很多计算机信息系统, 积累了大量的数据。 为了使数据能够有效地支持组织的日常运作和决策, 要求数据可靠无误, 能够准确地反映现 实世界的状况。数据是信息的基础,好的数据质量是各种数据分析如OLAP、数据挖掘等有效应用的基本条件。人们常常抱怨“数据丰富,信息贫乏” ,究其原因,一是缺乏有效的数 据分析技术,二是数据质量不高,如数据输入错误、不同来源数据引起的不同表示方法,数 据间的不一致等, 导致现有的数据中存在这样或那样的脏数据。 它们主要表现为: 拼写问题、 打印错误、不合法值、空值、不一致值、简写、同一实体的多种表示(重复 )、

2、不遵循引用完整性等。数据清洗(Data Cleaning, Data Cleansing或者Data Scrubbing)的目的是检测数据中存在的错误 和不一致,剔除或者改正它们,以提高数据的质量1。1 数据清洗国内外研究现状数据清洗主要在数据仓库、数据库知识发现 (也称数据挖掘 )和总体数据质量管理这 3 个领域 研究较多。 在数据仓库研究和应用领域, 数据清洗处理是构建数据仓库的第一步, 由于数据 量巨大,不可能进行人工处理,因此自动化数据清洗受到工商业界的广泛关注。1.1 国外研究现状国外对数据清洗的研究最早出现在美国,是从对全美的社会保险号错误的纠正开始2。美国信息业和商业的发展,极大

3、地刺激了对数据清洗技术的研究,主要集中在以下4 个方面。(1) 检测并消除数据异常采用统计方法来检测数值型属性, 计算字段值的均值和标准差, 考虑每个字段的置信区间来 识别异常字段和记录。 将数据挖掘方法引入数据清理, 如聚类方法用于检测异常记录、 模型 方法发现不符合现有模式的异常记录、 关联规则方法发现数据集中不符合具有高置信度和支 持度规则的异常数据。(2) 检测并消除近似重复记录即对重复记录进行清洗。 消除数据集中的近似重复记录问题是目前数据清洗领域中研究最多 的内容。为了从数据集中消除重复记录,首要的问题就是如何判断两条记录是否近似重复。(3) 数据的集成在数据仓库应用中, 数据清洗

4、首先必须考虑数据集成, 主要是将数据源中的结构和数据映射 到目标结构与域中。在这方面已经开展了大量的研究工作。(4) 特定领域的数据清洗不少数据清洗方案和算法都是针对特定应用问题的, 只适用于较小的范围。 通用的、 与应用 领域无关的算法和方案较少。近年来, 国外的数据清洗技术发展得很快, 从市场上存在的数据清洗软件可以看出, 其中包 括商业上的数据清洗软件,也有大学和研究机构开发的数据清洗软件。1.2 国内研究现状目前, 国内对数据清洗技术的研究还处于初级阶段。 直接针对数据清洗, 特别是针对中文数 据清洗的研究成果并不多。大多是在数据仓库、决策支持、数据挖掘研究中,对其做一些比 较简单的阐

5、述。 银行、 保险和证券等对客户数据的准确性要求很高的行业, 都在做各自的客 户数据的清洗工作,针对各自具体应用而开发软件,而很少有理论性的成果见诸于报道。2 数据清洗的定义与对象2.1 数据清洗定义 迄今为止,数据清洗还没有公认的定义,不同的应用领域对其有不同的解释。(1) 数据仓库领域中的数据清洗 在数据仓库领域, 数据清洗定义为清除错误和不一致数据的过程, 并需要解决元组重复问题。 当然,数据清洗并不是简单地用优质数据更新记录,它还涉及数据的分解与重组。(2) 数据挖掘领域中的数据清洗数据挖掘 (早期又称为数据库的知识发现 )过程中,数据清洗是第一个步骤,即对数据进行预 处理的过程。各种

6、不同的 KDD 和 DW 系统都是针对特定的应用领域进行数据清洗的。文献3 认为,信息的模式被用于发现“垃圾模式” ,即没有意义的或错误的模式,这属于数据清 洗的一种。(3)数据质量管理领域中的数据清洗 数据质量管理是一个学术界和商业界都感兴趣的领域。 全面数据质量管理解决整个信息业务 过程中的数据质量及集成问题。 在该领域中, 没有直接定义数据清洗过程。 有些文章从数据 质量的角度,将数据清洗过程定义为一个评价数据正确性并改善其质量的过程。2.2 数据清洗的对象 数据清洗的对象可以按照数据清洗对象的来源领域与产生原因进行分类。 前者属于宏观层面 的划分,后者属于微观层面的划分。(1) 来源领

7、域 很多领域都涉及到数据清洗,如数字化文献服务、搜索引擎、金融领域、政府机构等,数据 清洗的目的是为信息系统提供准确而有效的数据。数字化文献服务领域,在进行数字化文献资源加工时,OCR软件有时会造成字符识别错误,或由于标引人员的疏忽而导致标引词的错误等,是数据清洗需要完成的任务。搜索引擎为用户在互联网上查找具体的网页提供了方便, 它是通过为某一网页的内容进行索 引而实现的。而一个网页上到底哪些部分需要索引,则是数据清洗需要关注的问题。例如, 网页中的广告部分, 通常是不需要索引的。 按照网络数据清洗的粒度不同, 可以将网络数据 清洗分为两类,即 Web 页面级别的数据清洗和基于页面内部元素级别

8、的数据清洗,前者以 Google公司提出的PageRank算法和IBM公司Clever系统的HITS算法为代表;而后者的思 路则集中体现在作为 MSN搜索引擎核心技术之一的 VIPS算法上4。在金融系统中,也存在很多“脏数据” 。主要表现为:数据格式错误,数据不一致,数据重 复、错误,业务逻辑的不合理,违反业务规则等。例如,未经验证的身份证号码、未经验证 的日期字段等, 还有账户开户日期晚于用户销户日期、 交易处理的操作员号不存在、 性别超 过取值范围等。 此外,也有因为源系统基于性能的考虑, 放弃了外键约束, 从而导致数据不 一致的结果。电子政务系统也存在“脏数据” 。为了能够更好地对公民负

9、责并且能够与全国的其他警察局 共享数据, 英国 Hum-berside 州警察局使用数据清洗软件清洗大范围的嫌疑犯和犯罪分子的 数据。 这次清洗的范围庞大,跨越不同的系统,不仅有该警察局内部系统的数据,还有外部的数据库包括本地的和整个英国范围内的。 其中有些数据库能够相连和整合, 而有些则不能。 例如,“指令部级控制”的犯罪记录数据库是用来记录犯罪事件的,该数据库是和嫌疑犯数 据库分开的。而嫌疑犯数据库也许和家庭犯罪或孩童犯罪数据库是分开的5。(2) 产生原因 在微观方面,数据清洗的对象分为模式层数据清洗与实例层数据清洗6。数据清洗的任务是过滤或者修改那些不符合要求的数据。 不符合要求的数据主

10、要是有不完整的数据、 错误的 数据和重复的数据 3 大类。不完整数据的特征是一些应该有的信息缺失, 如机构名称、 分公司的名称、 区域信息缺失等 错误数据产生的原因是业务系统不够健全, 在接收输入后没有进行判断而直接写入后台数据 库造成的,比如数值数据输成全角数字字符、字符串数据后有一个回车、日期格式不正确、日期越界等。 错误值包括输入错误和错误数据, 输入错误是由原始数据录入人员疏忽而造成 的,而错误数据大多是由一些客观原因引起的, 例如人员填写的所属单位的不同和人员的升 迁等。异常数据是指所有记录中如果一个或几个字段间绝大部分遵循某种模式, 其它不遵循该模式 的记录,如年龄字段超过历史上的

11、最高记录年龄等。重复数据也就是“相似重复记录” ,指同一个现实实体在数据集合中用多条不完全相同的记 录来表示, 由于它们在格式、拼写上的差异, 导致数据库管理系统不能正确识别。 从狭义的 角度看,如果两条记录在某些字段的值相等或足够相似,则认为这两条记录互为相似重复。 识别相似重复记录是数据清洗活动的核心。此外, 由于法人或作者更换单位造成数据的不一致情况、 不同的计量单位、 过时的地址、邮 编等其他情况也是数据清洗的对象。3 数据清洗基本原理与框架模型3.1 基本原理数据清洗的原理为: 利用有关技术, 如统计方法、 数据挖掘方法、 模式规则方法等将脏数据 转换为满足数据质量要求的数据。数据清

12、洗按照实现方式与范围,可分为以下 4 种。(1) 手工实现 通过人工检查,只要投入足够的人力、物力与财力,也能发现所有错误,但效率低下。在大 数据量的情况下,手工操作几乎是不可能的。(2) 编写专门的应用程序这种方法能解决某个特定的问题, 但不够灵活, 特别是在清洗过程需要反复进行(一般来说,数据清洗一遍就达到要求的很少)时,导致程序复杂,清洗过程变化时,工作量大。而且这种方法也没有充分利用目前数据库提供的强大数据处理能力。(3) 解决某类特定应用域的问题如根据概率统计学原理查找数值异常的记录, 对姓名、地址、 邮政编码等进行清洗,这是目 前研究较多的领域,也是应用最成功的一类。(4) 与特定

13、应用领域无关的数据清洗这一部分的研究主要集中在清洗重复记录上。在以上 4 种实现方法中, 后两种具有某种通用性及其较大的实用性, 引起了越来越多的关注。 但是不管哪种方法, 都由 3 个阶段组成: 数据分析、 定义; 搜索、识别错误记录; 修正错误。3.2 数据清洗的框架模型目前已经研究出很多数据清洗的框架模型,下面介绍 3 个有代表性的框架模型。(1) Trillium 的模型Trillium7 是由 Harte Hanks Data Technologies 的 Trillium Software Systems 部门创建的企业范 围的数据清洗软件。 Trillium 将数据清洗的过程分成

14、 5 个步骤,分别由 5 个模块来完成。 Converson Workbench 提供了一整套数据审计、分析和重组工具; Parser 对遗产数据和操作型系统的数据作解析、验证和标准化; Matcher地提供一套标准规则用于记录连接和匹配,使得用户可以方便地调整和定制以满足其特殊的业务要求; Geocoder验证、纠正和增强物理数据; Utilties提供联机数据浏览,域级频率统计,词的计数和分布。另外,合并、选择和格式 重组工具提供数据重组能力。(2) Bohn 模型Bohn 数据清洗模型 8将数据清洗分为以下 4 个主要部分: 数据检查:确认数据质量,内部模式和主要字段(使用的不同字段);

15、 数据词法分析:确定每个字段内的各个元素的上下文和目的地; 数据校正:将数据与已知清单(通常为地址)匹配并保证所有的字段被标明为好、坏或可自动校正。但是, 这并不表示在软件设计的时候需要有许多值的判断。只要可能,技术人员就 应该与客户一起校正源中的数据; 记录匹配:决定两个记录(可能是不同类型的)是否代表同一个对象。该过程涉及许多值判 断和复杂的软件工具。AJAX模型AJAX9模型由Helena Galhardas提出,该模型是逻辑层面的模型(Logic Level),将数据清洗过程分为 5 个操作步骤: 源数据的映射 (Mapping) ; 对映射后的记录进行匹配(Matching); 对记

16、录做聚集操作 (Clustering); 对聚集进行合并 (Merging) ; 对合并后的数据做视图显示(Viewing) 。4 数据清洗算法与工具4.1 数据清洗算法在脏数据清洗算法上, 一些研究机构提出了脏数据预处理、 排序邻居方法、 多次遍历数据清 洗方法、 采用领域知识进行清洗、 采用数据库管理系统的集成数据清洗等算法。 本文将针对 属性和重复记录的清洗分别从检测和清洗两个角度对相关算法展开论述,如图1 所示。图 1 数据清洗方法分类(1) 自动检测属性错误的方法人工检测数据集中的属性错误, 需要花费大量的人力、 物力和时间, 而且这个过程本身很容 易出错, 所以需要利用高效的方法自

17、动检测数据集中的属性错误,方法主要有: 基于统计的方法10,聚类方法 11,关联规则的方法 10等。表 1给出自动检测属性错误的方法比较。(2) 属性清洗的方法 空缺值的清洗方法主要有:忽略元组;人工填写空缺值;使用一个全局变量填充空缺值; 使用属性的平均值、中间值、最大值、最小值或更为复杂的概率统计函数值填充空缺值。 噪声数据的清洗方法主要有:分箱(Bi nning),通过考察属性值的周围值来平滑属性的值。属性值被分布到一些等深或等宽的“箱”中,用箱中属性值的平均值或中值来替换“箱”中 的属性值; 计算机和人工检查相结合,计算机检测可疑数据, 然后对它们进行人工判断;使 用简单规则库检测和修

18、正错误; 使用不同属性间的约束检测和修正错误; 使用外部数据源检 测和修正错误。 不一致数据的清洗方法。对于有些事务, 所记录的数据可能存在不一致。 有些数据不一致,可以使用其他材料人工加以更正。例如,数据输入时的错误可以使用纸上的记录加以更正。知识工程工具也可以用来检测违反限制的数据。 例如, 知道属性间的函数依赖, 可以查找违 反函数依赖的值 11。此外,数据集成也可能产生数据不一致。表 2 给出属性清洗的方法比 较情况。(3) 检测重复记录的算法消除重复记录可以针对两个数据集或者一个合并后的数据集,首先需要检测出标识同一个现实实体的重复记录,即匹配过程。检测重复记录的算法主要有:基本的字

19、段匹配算法10,递归的字段匹配算法10,Smith-Waterman算法10,12,编辑距离13,14、Cosine相似度函 数14,15 。表 3 给出检测重复记录算法的比较情况。(4)重复记录清洗的算法 目前消除重复记录的基本思想是“排序和合并” ,先将数据库中的记录排序,然后通过比较 邻近记录是否相似来检测记录是否重复。 消除重复记录的算法主要有: 优先队列算法 14,16 , 近邻排序算法(Sorted-Neighborhood Method, SNM)14,17,多趟近邻排序(Multi-Pass Sorted-Neighborhood, MPN)14,17 。表 4给出重复记录清洗

20、算法的比较情况。4.2 数据清洗工具从特定功能的清洗工具、ETL工具以及其他工具 3个方面来对数据清洗工具进行介绍。 (1)特定功能的清洗工具特定的清洗工具主要处理特殊的领域问题, 基本上是姓名和地址数据的清洗, 或者消除重复。 转换是由预先定义的规则库或者和用户交互来完成的。在特殊领域的清洗中, 姓名和地址在很多数据库中都有记录而且有很大的基数。 特定的清洗 工具提供抽取和转换姓名及地址信息到标准元素的功能, 与在基于清洗过的数据工具相结合 来确认街道名称、 城市和邮政编码。 特殊领域的清洗工具现有 IDCENTRIC、 PUREINTEGRAT、E QUICKADDRESS REUNION

21、 TRILLIUM等14。消除重复的一类工具根据匹配的要求探测和去除数据集中相似重复记录。有些工具还允许用户指定匹配的规则。 目前已有的用于消除重复记录的清洗工具有 DATACLEANSER MERGE/PURGE LIBRARYMATCHIT ASTERMERGE?14。ETL工具 现有大量的工具支持数据仓库的 ETL 处理,如 COPYMANAGER、DATASTAGE EXTRACT、 WERMART等。它们使用建立在 DBMS上的知识库以统一的方式来管理所有关于数据源、目 标模式、映射、教本程序等的原数据。模式和数据通过本地文件和DBMS网关、ODBC等标准接口从操作型数据源收取数据。

22、 这些工具提供规则语言和预定义的转换函数库来指定映射 步骤14。ETL工具很少内置数据清洗的功能,但是允许用户通过API指定清洗功能。通常这些工具没有用数据分析来支持自动探测错误数据和数据不一致。 然而, 用户可以通过维护原数据和运 用集合函数 (Sum、 Count、 Min、 Max 等)决定内容的特征等办法来完成这些工作。这些工具 提供的转换工具库包含了许多数据转换和清洗所需的函数,例如数据类转变,字符串函数, 数学、科学和统计的函数等。规则语言包含If-then和Case结构来处理例外情况,例如,错误拼写、 缩写,丢失或者含糊的值和超出范围的值 14。而在我国, 对数据清洗的研究甚少,

23、 还没有一个成型的完善的ETL工具应用于数据仓库的系统中18。(3) 其他工具 其他与数据清洗相关的工具包括:基于引擎的工具(COPYMANAGER、 DECISIONBAS、EPOWERMART 、 DATASTAGE、 WAREHOUSEADMINISTRATOR、)数 据 分 析 工 具(MIGRATIONARCHITECT WIZRULE DATAMININGSUITE和业务流程再设计工具(INTEGRITY) 数据轮廓分析工具 (如MIGRATIONARCHITECT Cevoke Softwar等)、数据挖掘工具(如 WIZRULE 等)19。4.3 数据清洗工具功能简介表 5 是对各种典型数据清洗工具功能的描述。5 数据清洗评估 数据清洗的评估实质上是对清洗后的数据的质量进行评估, 而数据质量的评估过程是一种通 过测量和改善数据综合特征来优化数据价值的过程。 数据质量评价指标和方法研究的难点在 于数据质量的含义、内容、分类、分级、质量的评价指标等。文献20和文献 21提出了一些数据质量的评估指标。在进行数据质量评估时,要根据具体 的数据质量评估需求对数据质量评估指标进行相应的取舍。但是, 数据质量评估至少应该包含以下两方面的基本评估指标 18 。(1)数据对用户必须是可信的 可信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论