数据质量管理的一些思考大数据应用

来源:互联网 / 作者:SKY / 2018-07-11 18:42 / 点击:
数据质量在任何系统当中都是十分重要却容易被忽视的一部分。构建完整的数据质量管理体系,既是支持企业系统稳定运行的基本保障,同时也是企业进行数字化转型、创

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

背景

在近期的项目当中,我们为客户落地实施了数据资产平台。随后,在数据平台中接入了客户子公司的一个业务系统的明细数据。客户希望在我们的数据平台上通过数据探索和数据分析,来挖掘一些业务价值和业务创新点。

当我们拿到数据开始进行一些初步探索的时候,发现导入平台的数据质量存在一定的问题:例如一些用于数据分析的关键字段的值为空、一些本应该有主从关系的数据对应不上、数据分类混乱等。这些问题直接影响到了对业务数据的分析和价值挖掘。因此,我们决定先对这份业务数据进行一次质量评估。如果评估的结果太差,不能做太多有价值的数据分析,那么我们的工作方向可能就需要转变为帮助客户制定整改数据质量的计划和方案。

数据质量管理的一些思考

数据质量问题

什么是质量

关于质量是有个一个标准定义的:一组固有特性满足明示的、通常隐含的或必须履行的需求或期望(要求)的​程度。这里面包含了两层意思,一个是说质量其实是一组特性,另一个是说质量需要满足需求或期望。所以如果从数据分析的角度来说数据质量,就是看当前数据的特性能否满足我们做数据分析或挖掘这个需求。

质量问题的来源

数据问题的来源可能产生于从数据源头到数据存储介质的各个环节。在数据采集阶段,数据的真实性、准确性、完整性、时效性都会影响数据质量。除此之外,数据的加工、存储过程都有可能涉及对原始数据的修改,从而引发数据的质量问题。所以,技术、流程、管理等多方面的因素都有可能会影响到数据质量。

在企业中,随着企业业务的增长,数据也是一个增量积累的过程。随着数据类型、数据来源的不断丰富以及数据数量的快速增长,企业在数据管理工作和数据流程中面临越来越多的数据质量问题。而且数据质量的管理并没有被企业重视起来,其根本原因还是ROI并没有那么明显。

数据质量管理相对来说成本比较高。因为它涉及到企业数据标准的制定、规范的落地、生命周期的管理等多个环节。从收益上来说,数据质量的效益和结果并不是十分明显,大部分企业不会把数据质量作为KPI。在企业的不同系统中,业务领域的关键指标不一致,数据无法共享导致出现数据孤岛,大量数据无法关联,并且有明显的数据冗余等问题,还有数据的维护需要投入大量的人员、时间、软硬件成本。所以数据的质量管理往往被会边缘化甚至趋向于无。

数据质量管理的一些思考

数据质量评估

那么我们如何对一份数据进行质量评估呢?这是一个比较难以回答的问题。因为数据质量本身有这么几个问题。首先是数据质量定义不一致,人们对数据质量的理解并没有一个参考标准或者标准的定义,所以人们理解的数据质量就会呈现出多样性,而无论是数据评估体系还是数据质量控制体系,都离不开关于数据质量的清晰定义。其次,没有权威性的数据质量标准模型或参考模型。再者,没有系统化的数据质量评估指标,也没有对数据质量评估的指标形成一个量化的标准。所以现在多数对于数据质量的研究都是针对特定领域或特定问题的研究,并不具有普适性,很难推广成为标准化的体系或模型。

那我们能不能像CMMI(能力成熟度模型, Capability Maturity Model Integration)和 AMM(敏捷成熟度模型,Agile Maturity Model)一样对数据质量建立一个模型,我们暂且称之为DQAM(数据质量评估模型,Data Quality Assessment Model)。

首先思考一下,在进行数据质量评估时我们会选取多个指标,所以很自然会想到借用一下模糊综合评价理论。搜集了一下资料,这里选取以下若干个指标来作为我们的数据质量评价指标(当然,可以根据实际需要选取其他指标,指标的数量也可多可少):

Completeness:完整性,用于度量哪些数据丢失了或者哪些数据不可用

Conformity:规范性,用于度量哪些数据未按统一格式存储

Consistency:一致性,用于度量哪些数据的值在信息含义上是冲突的

Accuracy:准确性,用于度量哪些数据和信息是不正确的,或者数据是超期的

Uniqueness:唯一性,用于度量哪些数据是重复数据或者数据的哪些属性是重复的

Integration:关联性,用于度量哪些关联的数据缺失或者未建立索引

那么评估模型应该有这么几个要素:

Dataset:被评估的数据集,对于关系型数据库来说就是一张表

Indicators:评估指标,就是上面列出来的6个指标

Rule:评估规则,与上面的评估指标对应,后续会根据规则的描述来编写脚本。

Weight:权重,此处的权重是每一条评估规则在全部规则的所占比重

Expectation:期望,根据每个评估规则给出一个评估前的期望值(0-100)

Score:结果,每个评估规则应用到数据集后计算出来的结果值(0-100)

数据质量管理的一些思考

那么构造整个模型的过程基本就可以确定下来,首先根据需要选取数据集当中要进行评估的数据视图,再选取所需要的评估指标。下一步需要制定规则集,根据所选的评估指标来制定相应的数据质量评估规则,并确定它们相应的权值和期望值。最后一步就是根据规则集来计算结果得分。

对于数据集的N个规则计算出来的得分,最后计算其加权平均值,得到质量评估的绝对量化值。用该量化值和期望进行差值比较,可以得出该数据集是比预期的好,还是不如预期。

以上是一个简单的评估模型,目前并没有在实际的场景中应用,当然这个模型的精度并不会很高,也没有处理误差。仅仅提供一个思路,或许质量的评估可以朝着这个方向来进行。

数据质量管理

数据工作流质量管理

阅读延展

1
3