数据质量管理
1 什么是数据质量管理?
数据质量管理(Data Quality Management),是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。
数据质量管理是循环管理过程,其终极目标是通过可靠的数据提升数据在使用中的价值,并最终为企业赢得经济效益。
1.1 为何需要进行数据质量评估
由于我们正在进行数据治理,在数据采集、清理、转化、存储等环节产生了重大的技术变更(比如重构、使用新的采集工具)的时候,我们要对变更后产生的新的数据集进行质量评估。
2 质量评估框架
数据质量是一个多维度的概念,可能涉及数据产品及其生产服务过程的多个方面,其本身不可测度。一般来说,对数据质量的认识通过将其分解为多个质量维度,并逐个识别实现。
当前普遍的观点认为,数据质量要素受行业领域、 数据类型和应用目的等因素的影响极大,不存在面向所有领域和资源类型的普适性数据质量框架。但针对一个具体行业背景下的特定数据类型和业务目标,建立一组质量维度和指标体系是可行的。
根据参考相关论文,从语法、语义和语义三个方面考虑,将数据质量分为形式质量、内容质量和效用质量三个基本种类。其中形式质量主要考量数据集在结构和表达形式上是否能很好的匹配业务需求,以及是否易于理解和获得。内容质量主要考量数据集的具体内容和取值是否和实际业务相一致。效用质量主要考察数据集在业务特征以及时间维度上具有较高的关联性。这种分类方法并不是严格的、唯一的,只是为了便于理解。
参考互联网以及金融行业的大多数业务应用,将常见的数据质量维度整理成如下的框架:
完整性: 这是笔者自己定义的一个概念,这和数据库中完整性约束的概念不同,这里的完整性指的是数据集对具体业务对象的覆盖程度,一般可以从字段和记录两个方面来描述。数据完整性的常见指标有:
-
基础覆盖度:统计表数据的饱和度(空值率)分析,通过码表对照分析阈值正确率分析(实时表和维度表的关联性 ),时间饱和度(数据连续性)分析,主体表和行为表的关联性(暂无例子,根据具体场景设计)
-
业务覆盖度:比如某业务的目标产品包含600万数据,现有数据集只覆盖了其中350万,则覆盖度为350 ÷ 600 * 100% = 58.3%
-
产品覆盖度
可理解性: 可理解性指标用来表述数据集是否能清晰的反应业务逻辑,字段和取值的具体意义是否明确。常用的可理解性指标有:
-
存在数据字典
-
数据字典语义明确
-
字段取值是否和业务逻辑一致
一致性: 用来描述数据在不同维度的连贯性,包括数据集之间的横向连贯性和时间维度的纵向连贯性。一致性并不意味着数值上的绝对相同,而是数据收集、处理的方法和标准的一致。常见的一致性指标有:
-
ID重合度:在相关数据集中是否存在一个全局的ID,或者不同数据集之间的关联ID是否能一一对应;
-
属性一致:不同数据集之间,同一个属性的字段名称、取值范围是否一致;
-
取值一致:不同数据集之间,同个字段的取值范围是否一致、相同情况下的具体取值是否一致;
-
采集方法一致:数据是否使用相同的工具和方法进行采集;
-
转化步骤一致:数据的转化过程是否采用相同的方法和工具;
可获得性: 用来描述实际业务需要的数据获取的难易程度,包括采集、清理、转化等多个环节。常用指标有:
-
易于采集:是否易于采集,采集过程是否简单直接;
-
易于处理:数据处理过程计算复杂度是否可接受;
-
合适的存储方式:数据存储结构是否合适,是否便于二次使用;
准确性:数据集是否能够精准无误的反应真实业务情况,准确性是数据质量的重要组成部分。常见指标有:
-
错误值占比
-
异常值占比
-
抽样偏差: 因统计抽样而带来的样本特征和总体特征之间的偏差。
-
数据噪声: 数据流通过程中因数据转化而产生的信息损失,如关键信息加密、四舍五入等。
可靠性: 数据集是否值得信赖,包括数据采集、数据处理过程是否可靠等。常见指标有:
-
采集方法正确:有时候对数据的不同定义会导致采集方法的不同,比如页面曝光事件的定义,如果用户刷新了页面算不算第二次曝光?这要根据不同情况来定义,不同的定义其数据采集方式会不相同。
-
上报过程可靠
-
处理方法正确
-
数据处理全流程通过测试
相关性: 是指数据集中包含的属性是否能很好的描述业务目标,是否能清晰的解答业务问题。第一节我们说到,我们对数据质量的定义是看数据集是否能很好的满足业务需求,因此可以说相关性是数据质量的核心维度。相关性的常用指标主要就是数据字段相关度。
时效性: 时效性可以理解为时间维度的数据相关性,即业务需求的时间范围和数据集表示的时间范围之间的关联程度。比如我们需要分析今年第一季度的某品类销售情况,但数据集是去年第二季度的,这种情况就是极端的时效性差。时效性的常见指标有:
-
时序区间覆盖度
-
数据更新频率
以上就是对数据质量维度的详细解读。需要注意的是,在实际做质量评估的时候,不一定对每个维度每个指标都进行分析,可以根据实际情况酌情选择。
2.1 质量评估一般方法
质量评估方法,即采用何种方式对数据质量进行评估,如何评定和刻画质量水平。数据质量评价方法主要分为定性和定量方法,以及两者结合的综合评价法。定性方法主要依靠评判者的主观判断。定量方法则提供了一个系统、客观的数量分析方法,结果较为直观、具体。这一部分的内容比较容易理解,这里不展开过多的解释,仅做简单介绍。
2.2.1 定性法
定性评价方法一般基于一定的评价准则与要求,根据评价的目的和用户对象的需求,从定性的角度来对基础科学数据资源进行描述与评价。
定性评价标准因业务领域、能力水平和实际任务等差别而因人而异,无法强求一致。 定性方法的主体需要对领域背景有较深的了解,一般应由领域专家或专业人员完成。
定性法一般包括:第三方评测法、用户反馈法,专家评议法等。
2.2.2 定量法
定量评价方法是指按照数量分析方法,从客观量化角度对数据资源进行的优选与评价。定量法一般包括:统计分析法、内容评分法等。
定量评分探索
父级对象(库对表、表对字段)加权取平均值
单个规则对象(库、表、字段)按质量维度划分
总分=∑ 维度权重*维度分数/维度总数(加权取平均值)
初级阶段推荐:
每个维度采用正向加分机制,即规则运行通过加分(每个规则通过+合法性比率分),无合法性规则为1
后期阶段推荐:
每个维度采用负向减分机制,即规则运行不通过减分(每个规则不通过-合法性比率分,满分为规则总数)
最终得分softmax算法(为了保证分数结果0-1之间,总和为1,可以灵活放大或缩小单个规则对总分的影响)进行归一化计算:
https://zh.wikipedia.org/wiki/Softmax%E5%87%BD%E6%95%B0,此算法适合凸显有问题的数据,但不适合都有问题的数据场景
得到0-1之间的小数,然后根据用户设置的满分区间进行放大(支持5分满分、10分满分、100分满分随意设置)
示例:
数据库A总计2张表, 分别对应2个字段
对数据库A配置了完整性扫描,结果每个表有1个字段为空
正向加分机制:
为空字段完整性得分 = 0
不为空字段完整性得分 = 1
负向减分机制:
为空字段完整性得分 = 1-1 = 0
不为空字段完整性得分 = 1
单完整性表得分 = (0+1)/2 = 0.5
库完整性得分 = ∑ 单表得分/2 = 0.5
其他维度没有计算默认为0
2.2.3 综合评价法
综合方法将定性和定量两种方法有机地集合起来,从两个角度对数据资源质量进行评价。
常见的综合评价法包括:层次分析法、缺陷扣分法等。
2.3 评估流程
-
需求分析
对具体业务数据的数据质量评价是以业务需求为中心进行的。数据资源不同于实体产品,具有用途个性化、多样化、不稳定等特点。因此,必须首先了解具体业务针对特定数据资源的需求特征才能建立针对性的评 价指标体系。
2.确定评价对象及范围
确定当前评估工作应用的数据集的范围和边界,明确数据集在属性、数量、时间等维度的具体界限。需要说明的是,评价对象既可以是数据项也可以是数据集,但一定是一个确定的静态的集合。
3.选取质量维度及评价指标
数据质量维度是进行质量评价的具体质量反映,如正确性、 准确性等。它是控制和评价数据质量的主要内容。因此,首先要依据具体业务需求选择适当的数据质量维度和评价指标。另外,要选取可测、可用的质量维度作为评价指标准则项,在不同的数据类型和不同的数据生产阶段, 同一质量维度有不同的具体含义和内容,应该根据实际需要和生命阶段确定质量维度。
在此阶段要注意指标之间避免冲突,同时也要注意新增评价指标的层次、 权重问题,以及与其它同层次指标的冲突问题。
4.确定质量测度及其评价方法
数据质量评价在确定其具体维度和指标对象后,应该根据每个评价对象的特点,确定其 测度及实现方法。对于不同的评价对象一般是存在不同的测度的,以及需要不同的实现方法支持,所以应该根据质量对象的特点确定其测度和实现方法。 常用定性方法和定量方法。
5.质量评估
就是根据前面四步确定的质量对象、 质量范围、 测量及其实现方法实现质量评测的活动过程。 评价对象的质量应当由多个质量维度的评测来反映,单个数据质量测量是不能充分、 客观评价由某一数据质量范围所限定的信息的质量状况,也不能为数据集的所有可能的应用提供全面的参考,多个质量维度的组合能提供更加丰富的信息。
6.结果分析并报告
评测后要对评测结果进行分析:对评价目标与结果进行对比分析,确定是否达到评价指标;对评价的方案的有效性进行分析,确认是不是合适等。
之后,根据评价结果确定对象的质量评价,如需要,可根据评价结果鉴定量级别。最终的质量评价(或评级)将说明数据质量是否能满足实际业务需求。
最后应将质量评价结果和数据质量评价过程汇总并报告。在完整的数据质量评价结果和报告中,应该包括全部上述内容。
3 评估之后做什么
完成质量评估后,我们会对数据质量有一个清晰的且量化的认识,同时也会对数据采集、清理、转化、存储等各环节存在的问题有所了解。对于一些问题,我们需要及时的反馈给数据生产部门,比如数据采集方法错误、错误值占比过高、产品覆盖度太低等。还有一些错误是团队内部可自行消化的,比如不同数据集之间相同属性的取值范围不一致等,可以通过一些数据映射来解决,因此可以根据数据质量评估结果指导后续的工作。
4 其他要点整理
-
质量评估紧紧围绕业务需求展开,脱离业务需求谈数据质量是没有意义的。
-
不是每个质量维度都需要考察,根据需要酌情选择。
-
不是对所有的数据集都需要进行质量分析,如果没有新的业务需求,且现有数据的全流程已经经过长时间验证,可不必进行质量分析。
-
质量评估关注的重点是观察数据集和业务需求之间的关联程度。
-
关注数据质量评估情况,根据实际情况调整。
参考:https://bbs.huaweicloud.com/blogs/189394
https://zhuanlan.zhihu.com/p/34345593
https://zhuanlan.zhihu.com/p/165051200#%E5%BD%B1%E5%93%8D%E6%95%B0%E6%8D%AE%E8%B4%A8%E9%87%8F%E7%9A%84%E5%9B%A0%E7%B4%A0
https://blog.csdn.net/ManWZD/article/details/112425577