论文部分内容阅读
近年来,许多机构倾向于使用数据仓库来满足日益发展的决策过程,以此来更好地实现自己的目标并满足客户的需求。在数据仓库的构筑中,作业量最大、日常运行中问题最多的环节是从业务数据库向数据仓库抽取、转换、集成数据。ETL即数据抽取(Extract)、转换(Transform)、装载(loading)的过程,是构建数据仓库的重要环节.在企业管理中,管理者总是希望能随时随地访问到任何他们需要的信息,这就要求有一个体系结构来容纳各种格式之后需要进行数据的“净化提炼”即数据清洗,从多个不同业务数据库所抽取的数据,进行数据项名称的统一、位数的统一、编码的统一和形式的统一,并的内部数据和外部数据,例如经营数据、历史数据、现行数据以及来自Internet服务提供商(ISP)的数据,此外还应该包含易于访问的元数据。这些源数据因为来源不同,且具有大量、分散和不清洁的特点,不能为数据仓库直接使用,因为对所有数据的分析、挖掘活动必须建立在一个数据清洁、结构良好的数据仓库的基础之上。因此在数据抽取处理之后需要进行数据的“净化提炼”即数据清洗,从多个不同业务数据库所抽取的数据,进行数据项名称的统一、位数的统一、编码的统一和形式的统一,并消除重复数据,这此由传统的ETL难以实现,需要引进新的方法与技术对ETL进行增强,以保证数据仓库总能获取高质量的数据。论文分析了数据清洗过程必须满足的必要条件与典型的方法,以列表的形式对典型算法进行了详细列表分析,包括算法使用的核心方法、精度、时间复杂度等方面,通过比较分析各数据清洗算法的特点,评断了11种典型数据清洗算法的优劣。其中K-Nearest Neighbor算法虽然容易掌握但是处理大型数据集时,运行时间性能上的缺陷明显。Naive K-means Clustering非常适用于大型的连续值数据集但是不适用于分类数据集。 Genetic算法可以解决很多多解问题,但是不能保证常量的最佳响应时间。Genetic Neural Network算法虽然有很高的预测精度并且它的预测精度在某种程度上是可控制的,但是它的计算复杂度很高,非常消耗时间。本文在评判这些算法的优劣后,针对其各自的优缺点提出由最佳算法构成的框架。论文在分析数据清洗应用的基础上,提出了一个数据清洗框架。本框架首先从数据源收集数据,例如(Excel, Access, word和OLEBD)。然后将这些被挑选的数据转移到SQL server2000,并且对数据进行预处理和整理操作。然后,数据清洗框架对数据进行检测和处理来修复缺失值并且删除重复记录,将低质量数据转换为高质量数据。随后高质量数据将会被装载到数据仓库中并且应用于决策支持系统。本框架采用了SQLServer2000和SSAS2000,同时本框架所提出了两种算法使用了多种编译环境,因此,适用的文件类型多样,为使用者提供了多种选择。论文围绕两个数据清洗中缺失值和重复记录这两个关键问题进行分析。本文使用SQLServer服务器和SQLServer分析服务,并使用其中的两个关键技术--查询分析器和数据转换服务(DTS).论文在分析手动方法进行数据清洗存在费时、对大型数据集的数据清洗效果较差等特点的基础上,对自动化的数据清洗方法进行了详细分析,并且得出自动化数据清洗方法适用于处理缺失值和重复记录等常见问题的结论。论文中所提的框架主要采用的数据源为Northwind数据库,这个数据库的特点为,数据缺失值较高、有重复记录且具有不同格式的相同属性。数据源还可以采用如Excel、Access、Word、text等格式的数据,通过导入到Microsoft SQL2000勺环境中即可使用。论文所提出的数据清洗框架利用两种算法来解决缺失值和重复记录的问题,以提高决策支持系统的准确性,并获取数据仓库中的高质量数据。算法一为检测及修补缺失值算法,此算法为两种传统算法的融合,这两种经典方法分别为“数据牧马人”和“数据清洗增强技术”。“数据牧马人”是由斯坦福大学可视化组开发的一款基于,web勺服务,是一种交互式的数据清理和转换的可视化工具,使用高于或低于数值的方法来处理缺失值。而“数据清洗增强技术”则用取平均的、最常用的恒量值的方法来处理缺失值。算法二为检测和修补重复记录的算法。从实用的角度来讲,任何组织都不允许在其数据库上直接进行数据清洗过程的操作。数据清洗过程作为提取、转换、装载工具的一部分出现,我们在开发程序过程中必须充分考虑以上条件。我们提出了一些想法来避免操作过程对数据库有任何直接的更改,步骤如下:1.检测到重复记录之后,添加一个命名为假想表的临时表。2.将数据从原始表中移动到假想表。3.用假想表代替原始表,并将假想表中的重复记录删除。当碰到操作的表与其他表有关联关系时如外键引用,直接对表进行将就会出现不能执行的现象,操作进程难以终止或回退,由此导致系统出现异常,由此可知,设计这些中间步骤是非常必要的。本文所提框架主要依靠算法一来解决缺失值问题,即利用或高于或低于数值的值、平均的值、常用的值和常量来解决。我们也可以用基础数据清洗规则来解决此问题,每一个数据清洗规则都有两个部分组成,首先检测出具体的错误数据,然后再指定采取什么样的行动来处理。这个规则可以用于简单的错误计数而无需修复错误数据,这个过程简称为审计;移除违反规则的记录,此为滤除;修改错误数据的过程,此为校正。当然最重要的是如何找出并实现规则。规则可以用编码实现或者使用完全购买来自于商业的DBMS的基础规则系统。本文所提框架利用以上提到的两种算法,来解决数据质量问题,删除重复记录,修改缺失值。由于重复记录和高缺失值是构成低数据质量的主要原因,因此在本框架对数据进行处理并解决了这两个主要的问题之后,将极大地提高数据质量,达到本文所要达到的最终目的,将高质量的数据装载至数据仓库,从而支持信息系统进行正确决策。论文所提框架存在局限即只能在一些简单的数据仓库上进行测试,能检测并修复简单数据集中的缺失值和重复记录,但对于复杂数据集如海量数据此框架则不能有效工作,进一步的研究将是设计并实现一个基于海量数据集或复杂数据集的综合框架来实现高效的数据清洗服务。论文包含六章。第一章主要是介绍研究动机、文献综述、写作目的以及本论文的框架结构。第二章主要阐述了数据挖掘和决策支持系统之间的关系,并着重关注了基于数据仓库的数据清洗技术,分析了数据分析工具和技术。包括:数据挖掘、数据预处理、数据质量等。最后我们还在本章详细论述了影响数据质量的原因。第三章创建了数据清洗算法和框架,从准确度和时间复杂度等几个方面与之前提到的算法进行对比和分析并确定最佳框架。第四章分为四个部分,第一部分提出框架,第二部分提出了所提框架所需关键技术的工具,第三部分用实例阐述低质量错误类型的数据的处理过程,第四部分详细描述了数据清理问题的解决方案。第五章着重于分析框架,阐述框架设计的主要思想和步骤,提出了两个算法来检测和处理重复记录和缺失值问题,最后说明了本文所提框架的结果。第六章总结本文所做工作,并对未来的工作提出了期望和建议。