首页 理论教育数据清洗与集成在大数据建模中的重要性

数据清洗与集成在大数据建模中的重要性

【摘要】:数据清洗是发现并纠正数据文件中可识别错误的最后一道程序,包括对数据一致性的检查、无效值和缺失值的处理。数据库中属性值相同的情况被认定为是重复记录。大数据集成一般需要将处理过程分布到源数据上进行并行处理,并仅对结果进行集成。实际上就是将数据从一种表示形式变为另一种表现形式的过程。

1.大数据预处理

大数据正带来一场信息社会的变革。大量的结构化数据和非结构化数据的广泛应用使得人们需要重新思考已有的IT模式。与此同时,大数据将推动进行又一次基于信息革命的业务转型,使社会能够借助大数据获取更多的社会效益和发展机会。庞大的数据需要我们进行剥离、整理、归类、建模、分析等操作,通过这些动作,我们开始建立数据分析的维度,通过对不同维度的数据进行分析,最终才能得到想要的数据和信息。因此,如何进行大数据的采集、导入/预处理、统计/分析和大数据挖掘,是“做”好大数据的关键基础。

导入/预处理。虽然采集端本身有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些数据导入到一个集中的大型分布式数据库或者分布式存储集群当中。同时,在导入的基础上完成数据清洗和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm对数据进行流式计算,来满足部分业务的实时计算需求。现实世界中,数据大体上都是不完整、不一致的“脏”数据,无法直接进行数据挖掘,或挖掘结果差强人意,为了提高数据挖掘的质量,产生了数据预处理技术。

数据清理:主要是达到数据格式标准化、异常数据清除、数据错误纠正、重复数据的清除等目的。

数据集成:是将多个数据源中的数据结合起来并统一存储,建立数据仓库。

数据变换:通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。

数据归约:寻找依赖于发现目标的数据的有用特征,缩减数据规模,最大限度地精简数据量。

大数据预处理的方法主要包括:数据清洗、数据集成、数据变换和数据规约,如图7-1所示。

图7-1 大数据处理流程

2.数据清洗

数据清洗是在汇聚多个维度、多个来源、多种结构的数据之后,对数据进行抽取、转换和集成加载,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。

数据清洗是发现并纠正数据文件中可识别错误的最后一道程序,包括对数据一致性的检查、无效值和缺失值的处理。数据清洗的原理是利用有关技术如数据挖掘或预定义的清理规则,将“脏”数据转化为满足数据质量要求的数据。

残缺数据。这一类数据主要是因为部分信息缺失,如公司的名称、客户的区域信息缺失,业务系统中主表与明细表不能匹配等。将这一类数据过滤出来,按照缺失的内容分别填入对应的文档信息并提交给客户,在规定时间内补全,才可写入数据仓库。

错误数据。这一类错误产生的原因往往是业务系统不够健全,在接收输入信息后没有进行判断直接将数据写入后台数据库导致的。比如,将数值数据输成全角数字字符,字符串数据后面有一个回车操作,日期格式不正确等。这类数据也需要分类,对于类似于全角字符、数据前后有不可见字符问题的只能写SQL语句查找出来,让客户在修正之后抽取。日期格式的错误会导致ETL运行失败,需要去业务系统数据库用SQL的方式挑出来,修正之后再抽取。

重复数据。这一类数据多出现在维护表中,是将重复数据记录的所有字段导出来,让客户确认并整理。数据清理的方法是通过填写无效和缺失的值、光滑噪声的数据、识别或删除离群点并解决不一致性来“清理”数据。主要是达到格式标准化、异常数据消除、错误纠正、重复数据的清除等目的。数据清理是将数据库中所存数据精细化,去除重复无用的数据,并使剩余部分的数据转化成标准可接受格式的过程。(www.chuimin.cn)

数据清理的方法:(1)填充缺失值。大部分情况下,缺失的值必须通过手工来进行清理。当然,某些缺失值可以从本身数据源或其他数据源中推导出来,可以用平均值、最大值或更为复杂的概率估计代替缺失的值,从而达到清理的目的。(2)修改错误值。用统计分析的方法识别错误值或异常值,如数据偏差、识别不遵守分布的值,也可以用简单规则库检查数据值,或使用不同属性间的约束来检测和清理数据。(3)消除重复记录。数据库中属性值相同的情况被认定为是重复记录。通过判断记录间的属性值是否相等来检测记录是否相等,相等的记录合并为一条记录。(4)数据的不一致性。由多数据源集成的数据,语义会不一样,可供定义完整性约束,用于检查不一致性,也可通过对数据进行分析来发现它们之间的联系,从而保持数据的一致性。

3.数据集成

数据集成是把不同来源、不同格式、不同特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。目前通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统。

大数据集成:狭义上讲是指如何合并规整数据;广义上讲,数据的存储、移动、处理等与数据管理有关的活动都称为数据集成。大数据集成一般需要将处理过程分布到源数据上进行并行处理,并仅对结果进行集成。

数据集成:数据集成是将不同应用系统、不同数据形式,在原应用系统不做任何改变的条件下,进行数据采集、转换、储存的数据整合过程。其主要目的是解决多重数据储存或合并时所产生的数据不一致、数据重复或冗余的问题,以提高后续数据分析的精确度和速度。

4.数据转换

数据转换(data transfer)是采用线性非线性数学变换方法将多维数据压缩成较少维的数据,消除它们在时间、空间、属性及精度等特征表现方面的差异。实际上就是将数据从一种表示形式变为另一种表现形式的过程。

数据转换方法:(1)中心化变换。变换之后均值为0,协方差阵不变,可以用来方便地计算样本协方差阵。(2)标准化变换。变换之后,每个变量均值为0,标准差为1,变换后的数据与变量的量纲无关。(3)极差标准化变换。变换后每个变量样本均值为0,极差为1,变换后数据绝对值数据在[-1,1]之间,能减少分析计算中的误差,无量纲。(4)极差正规化变换。变换后数据在[0,1]之间,极差为1,无量纲。(5)对数变换。将具有指数特征的数据结构变换为现行数据结构。

5.数据规约

数据规约是从数据库或数据仓库中选取并建立使用者感兴趣的数据集合,然后从数据集合中滤掉一些无关、偏差或重复的数据,在尽可能保持数据原貌的前提下,最大限度地精简数据量。数据归约主要有两个途径:属性选择和数据采样,分别针对原始数据集中的属性和记录。

数据归约技术可以用来得到数据集的归约表示。它很小,但并不影响原数据的完整性,结果与归约前结果相同或几乎相同。所以,我们可以说数据归约是指在尽可能保持数据原貌的前提下,最大限度地精简数据量,保持数据的原始状态。

两个途径:属性选择,针对原始数据集中的属性;数据采样,针对原始数据集中的记录。

数据归约可以分为三类,分别是特征归约、样本归约、特征值归约。(1)特征归约是将不重要的或不相关的特征从原有特征中删除,或者通过对特征进行重组和比较来减少个数。其原则是在保留甚至提高原有判断能力的同时减少特征向量的维度。特征归约算法的输入的是一组特征,输出的是它的一个子集。(2)样本归约就是从数据集中选出一个有代表性的子集作为样本。子集大小的确定要考虑计算成本、存储要求、估计量的精度以及其他一些与算法和数据特性有关的因素。(3)特征值归约分为有参和无参两种。有参方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据,包含回归和对数线性模型两种。无参方法的特征值归约有三种,包括直方图、聚类和选样。

特征值规约算法三步骤:(1)搜索过程。在特征空间中搜索特征子集,每个子集称为一个状态,由选中的特征构成。(2)评估过程。输入一个状态,通过评估函数或预先设定的阈值输出一个评估值。搜索算法的目的是使评估值达到最优。(3)分类过程。使用最后的特征集完成最后的算法。