基本概念
数据是对现实世界的反映,数据质量指的是数据在多大程度上反映了真实世界,一般来说,如果数据代表的意义与目的不一致,数据就有质量问题。
数据质量评价维度
国际数据管理协会(DAMA)对数据质量的衡量标准,分为以下六大维度:
- 完整性:衡量所必须的数据的完整程度
- 唯一性:针对某个数据项或某组数据,没有重复的数据值
- 一致性:数据元素的类型和含义必须一致和清晰
- 准确性:确保数据必须反映真实的业务内容
- 有效性:对于数据的值、格式要求符合数据定义或业务定义的要求
- 及时性:针对用户对信息获取的时间及时性要求,确保数据及时更新
数据采集问题
- 采集标准缺失,或标准执行不到位
- 源数据问题
- 软件、硬件、网络问题
数据存储问题
- 元数据管理水平低下
- 漏洞百出的数据模型
- 软件、硬件、网络问题
数据集成问题
- 源数据性质不同或者处理不当
- 业务流程中的装载规则设置错误(如覆盖或新增)
- 社会学因素(部门之间数据孤岛)
数据分析问题
- 没有及时探查数据
- 处理手法有误
业务方面
- 业务需求不明确
- 需求频繁变更
- 数据输入不规范
- 业务数据作假
管理方面
- 缺乏数据思维
- 缺乏认责机制
- 缺乏明确目标
- 缺乏统一管理机制
- 缺乏统一数据规范
- 缺乏质量控制措施
- 缺乏问题管理制度
数据质量控制策略
事前预防控制
找出发生数据质量问题的根本原因,并采取相关的策略进行解决。
- 主要方法
- 确定根本原因
- 实施改进方案
- 主要手段
- 建立数据标准化模型
- 构建数据分类和编码体系
事中过程控制
在数据的维护和使用过程中去监控和处理数据质量,通过建立数据质量的流程化控制体系。
事后监督控制
定期开展数据质量的检查和清洗工作,主要通过以下的步骤和策略:
质量规则-质量校验-质量告警-分析报告-流程优化

数据质量控制流程
数据剖析
- 定义:对数据内容进行系统化的探查、统计和记录
- 内容:
- 结构剖析:表和表之间、列和列之间的依赖关系,数据粒度,数据精度,业务规则等。
- 列属性剖析:列类型,列长度,重复记录,列值域,列默认值,列空值,列有效性等。
- 作用:描述了数据的结构、内容、规则和关系的概况,获得对数据和环境的了解,是变被动为主动地改善数据质量的第一步。
原因探查
- 完整性:探查空值或者空串,探查维度内是否包含事实表所有主键。
- 唯一性:检查单列是否有重复值;检查某一个列的组合是否有重复值。
- 及时性:检查是否有时间戳,检查某一个时间段内是否没有记录。
- 有效值:检查数据的业务属性(格式、类型、范围)
- 准确性:根据业务规则,进行约束检查;根据统计信息,判断是否异常。
- 一致性:对比两个或多个业务定义规则或口径差异;检查跨多数据集的一致性分析或跨多数据项的数据值和格式。
统计记录

质量评估
需要结合实际的业务情况来进行综合考量,有些时候异常值是合理合法的。
数据预处理
- 数据清洗
- 类型转换
- 去重
- 异常值处理
- 缺失值填充
- 数据加工
- 随机、加权、分层采样、过滤与映射
- JOIN、UNION、序号列、拆分
- 特征变换、特种重要性评估、特征选择、特征生成
数据质量的长期保持
除了技术,人是关键因素,需要从以下5个方面着手:
- 建立数据标准,明确数据定义(权衡企业内外部因素,即习惯和质量)
- 建立一个可复用的数据收集、数据预处理和数据维护流程(应对不断变化的企业内外部因素)
- 在数据预处理流程中设立多个性能监控点(评价标准:最终用户、同类数据、前期数据等)
- 对流程不断进行改善和优化(质量改善非一朝一夕,而是持续过程,要灵活变通)
- 把责任落实到人(制定数据采集、存储、集成、分析等各项活动的质量指标)
