韩晓峰
(山东科技大学 山东省青岛市 266590)
目前我们已进入了大数据时代,大数据在社会发展、国民经济及其它领域中的作用日益突出,用途非常广泛,也引起了国内外社会各界人士的高度重视,相继开展了对大数据的研究。从字面上理解大数据是庞大的数据集合,当然现在的数据并不仅局限于单一的数值变化,而是涵盖数值数据及非结构化数据、并对其进行分析和整合的海量数据集[1]。
大数据具有以下特点:来源广、种类多、容量大、频次高。大数据的庞大数据量,飞速增长的处理需求,全面性、完整性、多样化的数据整合等都对数据质量研究提出了新挑战,数据质量研究也面临着新问题,所以必须搞好大数据时代数据质量的评估工作。
数据质量的研究由来已久,人们在不同的历史阶段曾给出了不同的数据质量定义。数十年前,数据质量是指数据的准确性。具体讲就是指在信息系统中,数据的正确性、完整性、一致性和最小性这4 个指标得到的满足程度[2]。但随着信息化的飞速发展,数据的来源日益多样化,数据容量日益增大,其覆盖面也日趋广泛,数据质量的定义也从狭义走向了广义,产生了多种数据质量定义。虽然诸多数据质量的定义有所不同,但基本上都包括了以上指标。但目前衡量数据质量的标准不仅是准确性,人们更看重数据质量的适用性和效率。目前数据质量有以下三个具有代表性的描述:
(1)数据质量是准确性、完整性、一致性和最小性这四个指标得到满足的程度。
(2)数据质量是数据适用的程度。
(3)数据质量是指数据能否满足特定用户的需要。
当前数据质量并没有形成固定、统一的定义。因为数据的实际价值、数据的质量只能在其使用环境中进行评估,笔者更倾向于(2)和(3)中关于数据质量的定义。
过去人们往往通过公式、法则、定理等来评估数据的质量的准确性、一致性等。在此过程中,如果数据质量存在问题,无法实事求是地反映客观现实的情况,那么建立起来的数据模型就会出现一定的偏差,导致预测不准,甚至出现相反的结果。这对于机构、企业、单位、个人后果都非常严重,过去数据质量的重要性显而易见。但数据量在21世纪的大数据时代得到了飞速增长,用途日趋广泛。由于量变,数据的准确性不难掌握。现在人们更多关心数据适用的程度、分析的效率及数据能否满足用户的需要。但无论评价指标怎样改变,数据质量在过去、现在或将来一直是人们孜孜不倦追求的目标。
大数据的质量框架:
图1:新大数据质量框架
图2:数控质量评估和提升图
图3:大数据质量评价过程
大数据是一个新事物,数据质量除和本身具有的特性有关外,还和数据使用的环境息息相关。过去直接或间接的数据生产商就是数据的消费者,因而数据的质量能得到保证。但目前在大数据时代,数据生产商不一定是数据用户,因而就难以测量数据质量。面对这一新情况,笔者提出新大数据质量的框架,如图1所示。
在数据质量评估中,评价维度是最为重要的一方面,它是所有数据质量的评估指标及实践依据。特定维度的评价方法建立后,就可用它来评估数据质量并做出正确判断。建议首先评估数据的可获得性、准确性及完整性,这三者最为重要,其它数据质量维度都是在此基础进一步扩展的。
数据质量维度主要包括[3]-[5]:
(1)可获得性:因为使用者了解数据的目的就是要迅速地掌握有用信息,他们就必须容易地获得数据。如在产品投诉中,如不方便获得、查看数据,就无法处理此事,就不能维护投诉者的利益。
(2)准确性:数据的准确性表示数据能准确反映客观事物的程度,它是指测量值和实际值接近的程度,越接近,就越准确。
(3)完整性:完整性是指数据信息要完整,它是指数据的值从头到尾都是有效的,其具体指标包括:1.数值之间的关联关系清晰,合乎要求;2.结构和数据的完整性是一致的;3.数据和内容的完整性协调一致。
(4)精确度:精确度是指所用数据值的精确情况,一般指数据格式及数据表示值的细致程度,它应精确反映被测物体的实际尺寸、重量等。
(5)一致性:一致性是指是关于事件连续发生的统一性和可靠性,是违反数据项语义规则的程度。如顾客的投诉数据必须一致,防止出现歧义的数据或令人误解的报告结果,以免造成不必要的麻烦。
(6)及时性:数据的及时性是指在被需要时,数据能够及时被获取的能力。
(7)合理性:合理性是指在特定情况下有关数据是否合理,如不超出一定的范围或区域。
(8)可定义性:对于数据质量而言,数据的定义非常重要。当使用数据时,使用者必须能准确理解数据代表什么和表示的意义。
(9)隐私性:这是数据安全性的一部分,它表示隐私数据应被使用的规则和范围。
(10)有效性:有效性是指在各阶段,数据能有效表示客观实体的类型、格式、精度和范围等特性。
提升数据质量的首要步骤是发现数据的缺陷,这是一个发现问题,然后进行数据清洗来提升数据质量的过程。数据包括文本型和数值型,应采用不同的质量提升方法来应对不同的数据,如采用文本挖掘的方法来提升文本型数据的质量,采用数理统计方法来提升数值型数据的质量。下面这些质量提升的方法适用于错误数据、缺失数据、非标准化数据:
错误数据是最难处理的,因为它不容易检测和纠正。许多错误数据只能由人工检测,而人工检测常常有很大的主观性,时常有错。目前回归方法是较为常见的检测及改正的方法,各种数值型数据的检测经常采用回归分析,首先假定集合数据X 和集合数据Y 有一定的相关关系,并且假定这种错误数据完全是随机性产生的,而且Y 集合中存在的错误数据和Y 集合中的其他数据没有任何关系,可采用下列公式来表达:
Pr(Y 错误|X,Y)= Pr(Y 错误|X)
只要能找到集合X 和集合Y 的对应关系以及相应的数学表达式,就能发现Y 中包含的错误值,用Y 中的错误值相对的X 中的数值进行计算和替代,就可以改正Y 中的错误值。当然还要通过检验才能确定这种的检验与替代是否合理,如统计学中的各类假设检验。
图4:大数据质量评估步骤
缺失数据有多种类型,并且有多种缺失的原因,现在较为成熟的提升缺失数据质量的方法仅考虑完全随机性的缺失数据,下面介绍的是有关提升方法。
首先假定数据是完全随机缺失的,假设有一个数据集Y,而Y中的缺失数据与Y 毫无关系,同时有一个控制变量数据集X,那么X 与Y 有如下的关系:
Pr(Y 缺失|X,Y)=Pr(Y 缺失|X)
这个公式说明X 集合中的数据和Y 集合中的数据有某种对应关系,那么Y 中的缺失数据能根据X 与Y 的对应关系来进行补充,线性回归中存在Y= aX+b,那么缺失的Y 就能利用这个关系,用对应的X 进行计算所得来进行补充。当然还要通过多种的假设检验来验证这个补充值是否能代表真实值。
如上文所述,数据一般分为文本型、数值型,非标准化数据通常属于文本型数据,下面进行具体分析:
(1)标准化数据的定义。标准化数据的定义有多种,例如在通讯地址数据库里,有人认为只有包括行政省、直辖市才是标准化的地址数据,还有人认为标准地址数据应包括行政市或地区,使用目的不同就会有不同的定义。
(2)非标准化数据的选择。文本挖掘中的文本选择就是把不满足要求的数据提取出来,然后根据其非标准化的程度把这些数据进行分类,再用相应的方法把分类后的数据进行标准化。
(3)非标准化数据的标准化。文本型数据一般采用词匹配的方法,先把同义词、近义词合并,然后根据不同的数据结构构建相应的词库,通过匹配进行标准化。通常采用四舍五入的方法把数值型数据在格式上标准化,
下面我们给出数据质量评估和提升图,如图2所示。
图2 中的原数据就是现实中的数据,这样的原数据并不完美,结构上可能有错乱之处,因此就需要进行数据的初步处理,这仅是优化了结构,并没有处理数据的内容,以便于进行下一步的工作。例如在投诉的数据中,我们发现被截断的数据和空行有多余的换行符和空格,初步处理就是要清楚它们。下面的评估环节包括评估工具评估和人工数据评估,只能靠靠评估者的经验和评估维度来对抽象的数据进行评估,应采用评估工具来评估数据量大的数据。应当注意没有任何评估工具或方法永远正确,需要对其认真分析,如有效就继续使用,无效就换用其它的方法或工具。数据质量提升包括人工修改和计算机应用的提升。我们目前已进入了大数据时代,人工提升的方法逐渐落后,应进一步发展用计算机工具来提升数据的质量。数据质量提升方法的选择并不容易,需要经过长期的摸索和检验,一般通过了数据提升的数据质量较高[6]。
国外学者提出了包括数据清洗、数据加载、数据转换和数据分析等的大数据的质量验证过程[7][8]。虽然该验证过程对于大数据的质量评估并不完善,但有一定的借鉴和参考意义,在此基础上笔者提出如下思路:
评估过程首先要形成评估基本路线图,它包括以下内容:
6.1.1 确定数据质量要素
应根据具体环境来选择有关数据质量要素。例如,电信大数据主要考虑可获得性、正确性、完整性及时效性。
为了真正搞好质量评估,常常要选择不同的质量要素来进行评价,此时选择的数据一定要符合特定的要求和条件,要具体情况具体分析,不同情况要区别对待,区别处理。
6.1.2 确定数据质量维度
确定质量维度对于搞好质量评估非常重要。要根据工作需要,选择适当的数据质量维度并认真定义项目的范围。确定了数据质量维度的评估基本路线,剩下的评估就是检测及改进数据。
做完上述准备工作后,就要开始数据收集了。可采用搜索下载、数据集成、载体监测等多种采集数据的办法。目前获取数据相对容易,但收集到的数据不一定都符合要求,要尽可能地获取高质量的数据。
大数据构成复杂、来源多样。收集到的数据可能存有信息丢失、数据错误等多种质量问题。所谓数据清洗,就是要修改、替换或删除错误的、不完整、不准确的数据部分及空值[6]。数据清洗阶段的主要目的是为了提高数据的精确度和准确性,提高数据质量,有利于进行数据分析。
数据转换就是将源数据系统中的数据从一种结构或格式转换为另一种结构或格式的过程,在数据评估中经常使用。
从数据库中采集有关信息,组合成数据集,以备数据处理之用,这个过程就是数据聚合,它是为数据加载做准备。
数据加载是从多个源中检索、提取或组合数据,将其清理并格式化(转换)后,再加载到有关存储系统 ,如 No SQL 大数据集、Hadoop 环境或云数据仓库。在此过程中,有些数据仓库能用新信息覆盖原有信息,另外有些数据库可有间隔地添加新数据。
大数据质量评估对于监控数据质量非常必要。要想有效管理数据质量,使之行之有效地用于各项有关工作,就要认真开展数据质量评估工作,它一般分为以下五步:
(1)设立数据质量评估目标并进行抽样设计。在数据评估前必须确定数据质量评估目标(如为了估计问题,可定义一个能接受的概率区间或置信区间;为了环境决策,定义能容忍的误差)。抽样设计的目标应和数据质量目标保持一致。
(2)做出初步的数据质量评估,算出初步的统计数字。根据上述信息来掌握有关数据结构及联系,找出异常数据,判别发展趋势。
(3)选择最合适的概括及分析数据的流程。根据数据质量目标评估、抽样设计和初期的评估数据,选择最合适的概括及分析数据的流程,找出能正确确定统计流程的关键假设。
(4)验证、评价已有的统计检测。根据现有的数据及其它有关信息,验证、评价给出的假设是否正确。
(5)得出结论。进行数据统计检验的相关计算并从中得出结论,以决定其用途。
目前我国的数据质量研究尚处于初级阶段,还需要做更深入的进一步探究。随着大数据的不断深入发展,数据质量问题也日趋重要,相信会有越来越多的专家、学者、业内人士和有志之士投入到数据质量评估研究中,大数据质量的研究一定会迎来更加光明灿烂的未来!