基本概念

数据是对现实世界的反映,数据质量指的是数据在多大程度上反映了真实世界,一般来说,如果数据代表的意义与目的不一致,数据就有质量问题。

数据质量评价维度

国际数据管理协会(DAMA)对数据质量的衡量标准,分为以下六大维度:

  • 完整性:衡量所必须的数据的完整程度
  • 唯一性:针对某个数据项或某组数据,没有重复的数据值
  • 一致性:数据元素的类型和含义必须一致和清晰
  • 准确性:确保数据必须反映真实的业务内容
  • 有效性:对于数据的值、格式要求符合数据定义或业务定义的要求
  • 及时性:针对用户对信息获取的时间及时性要求,确保数据及时更新

数据采集问题

  • 采集标准缺失,或标准执行不到位
  • 源数据问题
  • 软件、硬件、网络问题

数据存储问题

  • 元数据管理水平低下
  • 漏洞百出的数据模型
  • 软件、硬件、网络问题

数据集成问题

  • 源数据性质不同或者处理不当
  • 业务流程中的装载规则设置错误(如覆盖或新增)
  • 社会学因素(部门之间数据孤岛)

数据分析问题

  • 没有及时探查数据
  • 处理手法有误

业务方面

  • 业务需求不明确
  • 需求频繁变更
  • 数据输入不规范
  • 业务数据作假

管理方面

  • 缺乏数据思维
  • 缺乏认责机制
  • 缺乏明确目标
  • 缺乏统一管理机制
  • 缺乏统一数据规范
  • 缺乏质量控制措施
  • 缺乏问题管理制度

数据质量控制策略

事前预防控制

找出发生数据质量问题的根本原因,并采取相关的策略进行解决。

  • 主要方法
    • 确定根本原因
    • 实施改进方案
  • 主要手段
    • 建立数据标准化模型
    • 构建数据分类和编码体系

事中过程控制

在数据的维护和使用过程中去监控和处理数据质量,通过建立数据质量的流程化控制体系。

事后监督控制

定期开展数据质量的检查和清洗工作,主要通过以下的步骤和策略:
质量规则-质量校验-质量告警-分析报告-流程优化

image.png

数据质量控制流程

数据剖析

  • 定义:对数据内容进行系统化的探查、统计和记录
  • 内容:
    • 结构剖析:表和表之间、列和列之间的依赖关系,数据粒度,数据精度,业务规则等。
    • 列属性剖析:列类型,列长度,重复记录,列值域,列默认值,列空值,列有效性等。
  • 作用:描述了数据的结构、内容、规则和关系的概况,获得对数据和环境的了解,是变被动为主动地改善数据质量的第一步。

原因探查

  • 完整性:探查空值或者空串,探查维度内是否包含事实表所有主键。
  • 唯一性:检查单列是否有重复值;检查某一个列的组合是否有重复值。
  • 及时性:检查是否有时间戳,检查某一个时间段内是否没有记录。
  • 有效值:检查数据的业务属性(格式、类型、范围)
  • 准确性:根据业务规则,进行约束检查;根据统计信息,判断是否异常。
  • 一致性:对比两个或多个业务定义规则或口径差异;检查跨多数据集的一致性分析或跨多数据项的数据值和格式。

统计记录

image.png

质量评估

需要结合实际的业务情况来进行综合考量,有些时候异常值是合理合法的。

数据预处理

  • 数据清洗
    • 类型转换
    • 去重
    • 异常值处理
    • 缺失值填充
  • 数据加工
    • 随机、加权、分层采样、过滤与映射
    • JOIN、UNION、序号列、拆分
    • 特征变换、特种重要性评估、特征选择、特征生成

数据质量的长期保持

除了技术,人是关键因素,需要从以下5个方面着手:

  • 建立数据标准,明确数据定义(权衡企业内外部因素,即习惯和质量)
  • 建立一个可复用的数据收集、数据预处理和数据维护流程(应对不断变化的企业内外部因素)
  • 在数据预处理流程中设立多个性能监控点(评价标准:最终用户、同类数据、前期数据等)
  • 对流程不断进行改善和优化(质量改善非一朝一夕,而是持续过程,要灵活变通)
  • 把责任落实到人(制定数据采集、存储、集成、分析等各项活动的质量指标)