您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试管理 > 质量管理 > 正文

浅谈数据质量管理:为了更清醒的数据

发表于:2018-06-23 作者:安琪Angela 来源:简书
  做过数据产品的人都会知道,质量高的数据对于产品的意义。笔者在之前曾经历过数据质量管理的具体功能设计,算是较为完整地感受过数据质量管理过程。所以在此简单复盘下经验,借此抛砖引玉。
  战战兢兢地写下标题,得意下“清醒”这个词用得真是独树一帜,跟外面那些妖艳贱货好不一样。我们常常说人要时刻保持清醒,这样才能不被假象所蒙蔽。那数据其实更需要这点,我们需要透过数据挖掘本质,如果数据是不具备完整人格的,缺失完整性、规范性、一致性等维度,那么我们看到的本质也是偏差的。开篇先鬼扯一下,详情请往下滑~
  基本概念
  数据质量管理是指为了满足信息利用的需要,对信息系统的各个信息采集点进行规范,包括建立模式化的操作规程、原始信息的校验、错误信息的反馈、矫正等一系列的过程。
  · 数据质量管理不是一时的数据治理手段,而是循环的管理过程。
  · 数据质量管理不仅包含了对数据质量的改善,同时还包含了对组织的改善。
  为什么有这么多人强调改善数据质量管理的重要性,用一种很抽象的比喻描述,如果把整个数据应用比作人体的话,那好的数据就相当于新鲜和沸腾的血液,能让我们的身体充满活力,高效地工作思考。而质量差的血液携带废物和毒素,随着毒素越积越多,血液以及血管就会发生病变,血液流经的全身各处器官也会大受影响。如果非要要具体的数据证明,我摘取了一些专家的统计:
  · 据专家估计,由于用户拒绝不可靠的数据,导致多达70%的数据仓库项目遭到失败。
  · 据专家估计,糟糕的数据通过使收入受损而会耗费商业机构多达10%~20%的操作总预算。而且,IT部门预算的40%50%之多可能都花在了纠正由糟糕的数据所引起的错误上(English,1999)。
  · 专家认为,由于客户的死亡、离婚、结婚或调离,客户文件中的记录在一个月之内会有2%变得过时(Betts,2002)。
  影响因素
  那什么会影响数据质量呢?其实简单就分为2个因素。
  · 客观因素:在数据各环节流转中,由于系统异常和流程设置不当等因素,从而引起的数据质量问题。
  · 主观因素:在数据各环节处理中,由于人员素质低和管理缺陷等因素,从而操作不当而引起的数据质量问题。
  在此附上数据的生命周期图,包括各环节的数据流转和数据处理。
  评估维度
  那怎么样才算质量好的数据呢?借用数据质量评估六要素,顺便附上自己的一些解析:
  · 完整性 Completeness
  数据是完整不缺失的。例如人员信息完整涵盖性别、年龄等。
  · 规范性 Conformity
  数据是规范统一的。例如时间信息都以yyyy-mm-dd格式存储。
  · 一致性 Consistency
  同源或跨源的数据是一致不冲突的。例如同一个人在不同源取过来的性别都是一致的。
  · 准确性 Accuracy
  数据是准确合理的。例如年龄在合理范围内。
  · 唯一性 Uniqueness
  数据是唯一不重复的。例如同一个ID没有重复记录。
  · 关联性 Integration
  数据的关联是不缺失的。例如两张表建立的关联关系存在,不丢失数据。
  具体工作
  如何通过具体工作来贯彻落实数据质量管理呢?由于数据质量管理是贯穿数据整个生命周期的,所以根据数据的各环节进行分点描述:
  · 数据产生---控制外部数据源
  (1)非开放式输入,避免用户自己输入,尽量提供用户选择项。设定字典表,例如性别不允许输入(男、女、未知)以外的内容
  (2)开放式输入,增加提示或者校验。例如设定临界值,例如年龄填了-1或者200,不允许输入。
  · 数据接入---保持多点录入一致
  建立统一的数据体系,例如指标(度量)、口径(维度)。
  · 数据存储---保持数据结构统一
  建立标准的数据结构,例如字段格式,系统提前定义好一种时间默认格式为yyyy-mm-dd。
  · 数据处理---保持处理流程一致,该点包括数据稽核和数据清洗
  按照标准的处理流程,例如统一的清洗规则等。
  · 数据输出---保持数据结构统一
  对数据处理后的结果进行保存时,按照数据存储的要求,进行标准化的统一管理。
  · 数据展示---持续监测分析数据
  设立监测规则不断发现问题,通过解决问题不断改进规则。
  数据稽核
  (1)定义
  数据稽核是指实现数据的完整性和一致性检查,提升数据质量,数据稽核是一个从数据采集,预处理,比对,分析,预警,通知,问题修复的完整数据质量管控链条。
  (2)校验规则
  · 关联性检查
  两个数据表的key值关联是否存在。
  · 行级别
  两个数据表的数据量是否一致。
  · 列级别
  两个数据表的表结构是否一致,如字段数量、字段类型和宽度等是否一致。
  · 内容级别
  两个数据表的内容是否一致。
  其一数据表的内容是否缺失。
  (3)校验流程
  1、配置校验规则,例如字段映射等。
  2、配置调度规则,例如调度频率等。
  3、配置报表模板,例如稽核结果等。
  数据清洗
  (1)定义
  数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。
  (2)清洗规则
  1)缺失值处理
  根据同一字段的数据填充,例如均值、中位数、众数等。
  根据其他字段的数据填充,例如通过身份证件号码取出生日期等。
  设定一个全局变量,例如缺失值用“unknown ”等填充。
  直接剔除,避免缺失值过多影响结果。
  建模法,可以用回归、使用贝叶斯形式化方法的基于推理的工具或决策树归纳确定。
  2)重复值处理
  根据主键去重,利用工具去除重复记录。
  根据组合去重,编写一系列的规则,对重复情况复杂的数据进行去重。例如不同渠道来的客户数据,可以通过相同的关键信息进行匹配,合并去重。
  3)异常值处理
  根据同一字段的数据填充,例如均值、中位数、众数等。
  直接剔除,避免异常值过多影响结果。
  设为缺失值,可以按照处理缺失值的方法来处理。
  4)不一致值处理
  从根源入手,建立统一的数据体系,例如指标(度量)、口径(维度)。
  从结果入手,设立中心标准,对不同来源数据进行值域对照。
  5)丢失关联值处理
  重新建立关联。