速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

一篇文章说清楚如何提升大数据质量

  • 2020-04-13
  • 本文字数:6289 字

    阅读完需:约 21 分钟

一篇文章说清楚如何提升大数据质量

正如大家所知,大数据建设的目标是为了融合组织数据,增加组织的洞察力和竞争力,实现业务创新和产业升级。而提高数据质量是为了巩固大数据建设成果,解决大数据建设成果不能满足业务要求的问题。并且,数据质量问题不仅仅是一个技术问题,它也可能出现在业务和管理的过程中。所以,要想提高数据质量,就必须懂行业、懂组织、懂业务。当然,正如“数据博士”Jim barker 所说,我们可以简单地通过引入一些工具和规则就可以解决 80%的问题,也可以引入一个复杂的系统工程来解决 100%的质量问题,取决于我们希望达到什么样的质量标准。


借此机会,我也很期待各位朋友能够与我们分享你遇到的数据质量问题、故事和解决方法,这将对我们的研究和研发工作带来莫大的帮助。


为了尽量说清楚数据质量问题的来龙去脉和解决方法,篇幅较长,我将它分为以下几个部分:


  1. 大数据行业背景和现状

  2. 大数据行业发展过程中出现的问题

  3. 国家标准中的数据质量评价指标

  4. 数据质量出现的原因

  5. 解决数据质量问题的思路

大数据行业背景和现状

2014 年大数据被写入政府工作报告,成为大数据政策元年,大数据开始成为热点;2015 年国务院印发《促进大数据发展的行动纲要》,国家层面开始“大数据”顶层设计;2016 年工信部发布《大数据产业发展规划(2016 年-2020 年)》,大数据上升为国家战略;2019 年政府工作报告提出加强新一代信息基础设施建设(新基建),我们也逐步从“数据大国”迈向“数据强国”。



根据华为公司在 2019 年对其自身客户关于数字化转型的一项调查,只有 5% 的企业处于观望,31% 的企业在规划准备,36% 的企业已经开始先期试点,26% 的企业已经大规模推行,数据字化转型已经进入深水期。这意味着 95%的企业已经开始数字化转弄的工作。


大数据经过 6 年的快速发展期,已经比较明显地分为两个阶段,第一阶段是大数据归集、治理和价值探索,第二阶段是大数据价值体现。当下,部分政府和企业已经在第一阶段中完成了数据的归集和治理,大步迈入数据价值体现的第二阶段,努力实现组织的业务创新和产业升级。



然而,大数据发展过程中仍然存在不少困难和问题,缺少整体规划和实施路径,缺少高层支持,部门壁垒难以打破,业务价值体现不足,技术能力不足,等等。就我个人来看,这里最核心的一个问题就是业务价值体现不足,没有业务价值的支撑,就不会有各部门领导的支持,更不会有高层的支持和资金的支持。所以,数字化转型一定要以价值为导向,在一个“点”上做出实际效果以后再进行“面”上的拓展。

大数据发展过程中的质量问题

要体现数据价值,前提就是数据质量的保障,质量没有得到 100%保证的数据是很难体现出业务价值的,如果基于这些有问题的数据做决策支持,或做业务办理,将会得到灾难性的结果,让领导层和数据使用方对大数据失去信心。


根据哈工大王志宏先生在科技导报发表的研究表明,如果没有良好的数据质量,大数据将会对决策产生误导,甚至产生有害的结果。


  • 在数仓建设上,50%的数据仓库因数据质量而被取消或延迟。

  • 在经济损失上,数据错误每年对美国工业界造成的经济损失约占 GDP 的 6%。

  • 在医疗事故上,根据美国医疗委员会的统计,由于数据错误引起的医疗事故仅在美国每年就导致高达 98000 名患者丧生。

  • 在电信产业上,数据错误经常导致故障排除的延误、多余设备租用和服务费收取错误,损害了企业信誉甚至会因此失去很多用户。

  • 在商业上,美国零售业每年仅因标价错误就损失 25 亿美元。

  • 在金融企业中:因数据质量问题导致的信用卡欺诈失察在 2008 年即造成 48 亿美元的损失。


被誉为“数据博士”的 Jim barker,用一个简单的医学概念来定义两种类型的数据质量问题。


  • 第一类数据质量问题是比较简单而明显的问题,我们可以使用自动化工具检测到。

  • 第二类数据质量问题是非常隐秘的问题,大家都知道它是存在的,但它看不见摸不着,更处理不了,因为它需要放在特殊情境才能被检测到。


它们之间的区别简而言之可归纳为如下几点:


第一类数据质量问题首先需要“know what”才能来检测数据的完整性、一致性、唯一性和有效性。这些属性靠数据质量软件甚至手动很好地找到。你不需要有很多的背景知识,或者数据分析经验。只要按照 4 个属性验证它的存在,就可以判定它错误的。例如,如果我们在性别领域插入一个 3,我们就可以判定它到底是不是一个有效值。


第二类数据质量问题需要“know why”来检测时效性、一致性和准确性属性。需要研究能力、洞察力和经验,而不是简简单单就可以找得出来的。这些数据集经常从表面上看起来没有问题。但是问题往往存在于细节中,需要时间去发现。Jim 举的例子就是一份退休人员的雇佣记录,如果我们不知道他们早已退休的话,是看不出来这个数据是错的。


所以,解决这些数据质量问题的关键就是需要一个复杂的、策略化的方法,而非孤立的、片面的来看问题。一旦数据质量不好,我们就需要寻求自动化与人工的双重方式才能解决这个问题了。


根据 Jim barker 的经验:


第一类基本涵盖了 80%的数据质量问题,但只消耗了我们 20%的经费成本。


第二类数据问题往往需要多方的输入,以便发现、标记和根除。虽然我们客户关系管理系统中的每个人都有购买日期,但购买日期可能不正确,或者与发票或发货清单不符。只有专家才能通过仔细核查其内容来解决问题并手动改进客户关系管理系统。


第一类数据质量的挑战可以快速解决,但第二类问题提出了一个挑战,必须依靠人类的专业知识才可以解决。后面会介绍龙石数据的做法,我们可以简单地通过引入一些工具和规则就可以解决 80%的问题,也可以引入一个复杂的系统工程来解决 100%的质量问题,取决于我们希望达到什么样的质量标准。

国家标准中的数据质量评价指标

目前为止,最权威的标准是由全国信息技术标准化技术委员会提出的数据质量评价指标(GB/T36344-2018 ICS 35.24.01),它包含以下几个方面:



规范性:指的是数据符合数据标准、数据模型、业务规则、元数据或权威参考数据的程度。例如 GB/T 2261.1-2003 中定义的性别代码标准是 0 表示未知性别,1 表示男,2 表示女,9 表示未说明。GB 11643-1999 中定义的居民身份证编码规则是 6 位数字地址码,8 位数字出生日期码,三位数字顺序码,一位数字校验码。


完整性:指的是按照数据规则要求,数据元素被赋予数值的程度。例如互联网+监管主题库中,监管对象为特种设备时,监管对象标识必须包含企业统一社会信用代码+产品品牌+设备编码,监管对象为药品时,监管对象标识必须包含药品名称+批准文号+生产批号。


准确性:指的是数据准确表示其所描述的真实实体(实际对象)真实值的程度。例如互联网+监管行政检查行为中的行政相对人为公民时,证件类型和证件号码只能是身份证号码。


一致性:指的是数据与其它特定上下文中使用的数据无矛盾的程度。例如许可证信息与法人基础信息是否一致,检查计划与检查记录是否匹配。


时效性:指的是数据在时间变化中的正确程度。例如企业住址搬迁后,企业法人库中的住址是否及时更新了。营业执照已经办理,许可照办理时是否可以及时获取到营业执照信息。


可访问性:指的是数据能被访问的程度。


除此之外,还有一些业内认可的补充指标,并且在质量工作的实际开展中,可以根据数据的实际情况和业务要求进行扩展,例如:


唯一性:描述数据是否存在重复记录(国标归在准确性中)。


稳定性:描述数据的波动是否是稳定的,是否在其有效范围内。


可信性:描述数据来源的权威性、数据的真实性、数据产生的时间近、鲜活度高。

数据质量问题出现的原因

大数据的建设和管理是一个专业且复杂的工程,涵盖了业务梳理、标准制定、元数据管理、数据模型管理、数据汇聚、清洗加工、中心存储、资源目录编制、共享交换、数据维护、数据失效等等过程。在任何一个环节中出错,都将导致数据的错误。甚至,源头数据本身就是错误的。所以,数据质量问题不仅仅是一个技术问题,它也可能出现在业务和管理的过程中。



数据质量的技术因素:


  • 数据标准制定的质量问题:数据输入规范不统一,不同的业务部门、不同的时间、甚至在处理相同业务的时候,由于数据输入规范不同,造成数据冲突或矛盾。如果在数据的生成过程中包含主观判断的结果,必然会导致数据中含有主观的偏见因素。并且,不是所有行业都有公认可信的数据标准,而组织标准制定过程中容易出现数据元描述及理解错误,代码码集定义不正确、不完整等情况。

  • 数据模型设计的质量问题:由于对业务理解的不到位或技术实践水平不到位,数据库表结构、数据库约束条件、数据校验规则的设计不合理,造成数据存储混乱、重复、不完整、不准确。

  • 数据源本身存在质量问题:在生产系统中有些数据就存在不规范、不完整、不准确、不一致等问题,而采集过程没有对这些问题做清洗加工处理,或清洗加工的程序代码不正确。

  • 数据梳理过程的质量问题:在数据采集之前,需要梳理组织机构、业务事项、信息系统、数据资源清单等信息,那么对业务的理解不到位,将造成梳理报告的不完整或不正确。

  • 数据采集过程的质量问题:采集点、采集频率、采集内容、映射关系等采集参数和流程设置的不正确,数据采集接口效率低,导致的数据采集失败、数据丢失、数据映射和转换失败。

  • 数据清洗加工的质量问题:数据清洗规则、数据转换规则、数据装载规则配置有问题,甚至未按照数据标准开展相应的清洗加工工作,自由发挥的空间过大。并且在数据汇聚的过程中,没有及时建立数据的相关性,导致后期很难补充完善。


数据质量的业务因素:


  • 业务理解不到位:数据的业务描述、业务规则、相关性分析不到位,导致技术无法构建出合理、正确的数据模型。

  • 业务流程的变更:业务流程一变,数据模型设计、数据录入、数据采集、数据传输、数据清洗、数据存储等环节都会受到影响,稍有不慎就会导致数据质量问题的发生。

  • 数据输入不规范:常见的数据录入问题,如:大小写、全半角、特殊字符等一不小心就会录错,甚至还会将数据输入到错误的字段中,造成“张冠李戴”。人工录入的数据质量与录数据的业务人员密切相关,录数据的人工作严谨、认真,数据质量就相对较好,反之就较差。

  • 业务系统烟囱林立:过去 20 年中,只要是稍大一点的企业和政府部门,都建设了一批信息化系统来解决业务问题,但也导致了如今信息化整合的痛点和困难,变先发优势为数据困境。

  • 数据作假:操作人员为了提高或降低考核指标,对一些数据进行处理,使得数据真实性无法保证。


数据质量的管理因素:


  • 人才缺乏:组织以自身的业务发展的主要原则组建团队,数据建设则依赖于外部服务公司,而自身没有建立相应的管理手段和监督机制,从而无法准确判断数据项目的建设成效。

  • 流程管理不完善:缺乏有效的数据质量保障机制和问题处理机制,数据质量问题从发现、指派、处理、优化没有一个统一的流程和制度支撑,数据质量问题无法闭环。

  • 成员意识不开放:组织管理缺乏数据思维,没有认识到数据质量的重要性,重系统而轻数据,认为系统是万能的,数据质量差些也没关系。组织成员没有从组织战略的视角来看待数据资产,而把数据看成是创造它的部门的资产,从而导致数据冗余、数据不一致、数据割裂,从而导致数据价值难以发掘。

  • 奖惩机制不明确:没有明确数据归口管理部门或岗位,缺乏数据认责机制,出现数据质量问题找不到权威源头或找不到负责人。缺乏数据规划,没有明确的数据质量目标,没有制定数据质量相关的政策和制度。

如何解决质量问题

如前所述,大数据的建设和管理是一个专业且复杂的工程,涵盖了业务梳理、标准制定、元数据管理、数据模型管理、数据汇聚、清洗加工、中心存储、资源目录编制、共享交换、数据维护、数据失效等等过程。中间任何一个环节出问题,都将导致数据质量问题。


大部分大型组织经过大数据建设,已经获得比较好的数据建设成果,也有了比较可观的数据量的积累,但将这些数据直接拿来支撑业务的办理却是一个很大的风险,原因就是只要一笔数据不正确,都可能带来很大的业务风险,导致客户的报怨,这也正是业务部门对大数据建设成果报有怀疑态度的重要原因。龙石数据根据多年数据治理和数据质量实践经验,根据大数据建设项目的执行过程,将它分为事前预防、事中监控、事后改善三个阶段。



事前预防


  • 制定质量管理机制:基于数据管理的复杂性和诱因的多重性特点,解决数据质量问题仅仅依靠一个技术工具是不够的,我们需要建立长效工作机制。即根据组织特点,制定符合自身环境的工作制度,制定每个环节的工作流程,规定各个参与方的责任,确定各项数据的权威部门,制定数据质量指标,制定数据质量修复流程等等。

  • 制定数据质量标准:数据标准成功定义的与否,直接决定了大数据建设的成果和数据质量的高低,需要在融合国家标准、行业标准和地方标准的基础上,融合组织自身的业务特色需求。

  • 制定质量监测模型:数据质量模型代表的是业务需求,它是从业务需求的角度而描述出来的质量需求。

  • 制定质量监测规则:数据监测规则代表的具体的质量检测手段,它是从技术角度来描述数据质量要求是如何被满足的,包括规范性、完整性、准确性、致性、时效性、可访问性,等等。


事中监控


  • 监控原始数据质量:数据采集工作从数据源头获取最原始的数据,在数据采集过程中将数据分为“好数据”“坏数据”,“好数据”入库,“坏数据”则反馈给源头修复,因为数据来源部门最懂这些数据,也最能在源头上把数据问题彻底修复掉。

  • 监控数据中心质量:经过各种采集、清洗、加工过程,数据被存入数据仓库中,这些数据也将被业务部门使用,所以,对于这些成果数据的质量监控和修复则犹为重要。对于这类数据问题,我们可能使用简单的空值检查、规范性检查、值域检查、逻辑检查、一致性检查、等等规则就可以检查出来,也可能需要诸如多源比较、数据佐证、数据探索、波动检查、离群检查等等方法才可以检查出来。

  • 反馈数据质量问题:数据质量监控过程中,会发现两类问题,一类是源头的数据质量问题,一类是数据中心的数据质量问题,数据质量团队需要将这些问题及时反馈给源头部门和数据仓库建设团队。

  • 考核数据质量考核:数据质量的考核是为了能够引起各个参与部门和参与团队对数据质量的重视,需要及时统计分析各种数据质量问题,并制定出相应的应对措施。


事后改善


  • 修复数据质量问题:发现质量问题不是最终的目标,我们仍要建立相关的流程和工具,通过手工、工单、自动化等等手段将质量问题修复掉,从而为业务创新提供可靠的数据支撑。

  • 收集数据质量需求:通过数据中心的建设,质量问题的修复,必然能够促进数据的应用,我们仍要建立通畅的数据质量反馈通道,让各个部门参与到数据质量的再次完善中来,从而形成建设、应用和反馈的良性循环。

  • 完善质量管理制度:制度和流程的建设并不是一蹴而就的,我们要在数据建设和质量完善的过程中,结合自身组织结构和业务特色,不断完善工作制度。

  • 完善数据质量标准:各行各业不断涌现新的业务形态,原有的业务也在不断的变化,我们要紧跟业务的变化,不断完善符合业务需求的数据标准。

  • 完善质量监测模型:如前所述,监测模型代表的业务需求,业务形态的变化、数据标准的变化和质量新需求的出现,同样要求监测模型能够做出相应的变化。

  • 完善质量监测规则:同样,如今的信息化技术发展日新月异,我们要不断引入各种新技术来更加智能地发现和修复数据质量问题。

总结

最后,我们要想把大数据建设做好,就要把数据质量做好。要把数据质量做好,就要充分理解业务,要了解大数据建设的全部过程,要从更高的视角来发现和解决大数据建设过程当中的各种问题。

作者介绍

苏槐,微信号 Sulaohuai,现服务于龙石数据,曾就职于神州数码、Oracle、新加坡电信等企业。擅长数据治理、容器技术、微服务架构及技术管理。

参考资料


2020-04-13 10:0611992

评论 6 条评论

发布
用户头像
非常全面的文章,指导性很强!
2020-05-06 10:33
回复
用户头像
整个方法论相当全面,实操层面希望能多写一些
2020-04-20 14:11
回复
用户头像
哈工大 王宏志老师,写错了吧
2020-04-20 14:00
回复
用户头像
该评论已删除
2020-04-13 14:57
回复
2342343
2020-04-13 14:57
回复
123123
2020-04-13 14:57
回复
没有更多了
发现更多内容

信源分类及数学模型

timerring

信息 信息论 信息论与编码

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

用javascript分类刷leetcode17.栈(图文视频讲解)

js2030code

JavaScript LeetCode

应对ChatGPT,中国AI需要这三种能力

脑极体

百度 飞桨 文心

「 Java基础-链式调用 」Java开发中如何让你的代码看起来更优雅?试试链式调用?

小刘学编程

Java 设计模式 建造者模式

2023-02-19:请用go语言调用ffmepg,输出视频文件信息。

福大大架构师每日一题

golang ffmpeg 福大大

FL Studio最新发布21中文正式版本下载

茶色酒

FL Studio 21

面试官:限流算法有哪些?

王磊

java面试

React源码解读之React Fiber

flyzz177

在线头脑风暴软件Mural及其竞品分析

hongfei

思维导图 工具软件 头脑风暴

React源码分析(二)渲染机制

goClient1992

React

架构误区系列13:令人迷惑的继承

agnostic

继承

拆分电商系统为微服务

Geek_7d539e

建议收藏,轻松搞懂区块链!

蔡农曰

比特币 区块链 后端 比特币区块链

CnosDB成为首个产品支持SQLancer的云原生时序数据库

CnosDB

时序数据库 开源社区 CnosDB 工程师有话说

责任链和策略设计模式-基于Java编程语言

京东科技开发者

Java spring 代码规范 京东云 京东技术

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

前端工程师leetcode算法面试必备-简单的二叉树

js2030code

JavaScript LeetCode

Portraiture2023最新版本下载安装图文教程

茶色酒

Portraiture Portraiture4

快速制作一个chrome插件

JYeontu

chrome Vue chrome扩展 Chrome插件

React源码分析(三):useState,useReducer

goClient1992

React

React Context源码是怎么实现的呢

flyzz177

React

对比开源丨Prometheus 服务多场景存储压测全解析

阿里巴巴云原生

阿里云 开源 云原生 Prometheus

中文技术文档的写作规范参考

小 he

架构实战营10期-作业7

炮仗

产品团队业务思维的重要性

Bruce Talk

敏捷 Agile

统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?

阿里巴巴云原生

阿里云 云原生 Prometheus 云原生网关

React源码分析1-jsx转换及React.createElement

goClient1992

React

云计算未来 5 年发展方向大盘点

亚马逊云科技 (Amazon Web Services)

人工智能

LeetCode:240. 搜索二维矩阵 II,直接查找,详细注释

Lee Chen

JavaScript 算法 LeetCode

会声会影2023官方正式版本功能介绍

茶色酒

会声会影2023

一篇文章说清楚如何提升大数据质量_大数据_苏槐_InfoQ精选文章