数据分析师如何快速发现数据质量问题
来源: | 作者:pmod6d781 | 发布时间: 2022-12-23 | 2524 次浏览 | 分享到:



主要原因总结



企业花了很大力气做数据治理,为什么数据分析师还是能够发现新的数据质量问题,原因有三。


视角不同:日常数据管理是以业务应用流程(单表)为中心,关注数值合法性和关联的合规性,关注少量记录;而数据分析是是以业务逻辑概念(多个表格关联合并后的宽表)为中心,关注“跨领域全量”记录,同时考虑领域对象结构(多个表关联结构、记录间结构和业务场景)关联、全量的角度做数据分析。很多单条看起来正常的记录,在上下文角度看可能是不正常的。


视野不同:日常数据管理视野宽,但没有明确目标;而数据分析项目通常有聚焦分析目标,视野很窄,但更深入。视野和深度二者不可兼得。

概念模型与数据模型的差异:很多业务语义上约束关系,并没有在实际数据库或数据应用中严格检查与遵循。例如,数据表通常用代理主键而不是自然主键,很多概念上约束关系可能没有生效。时间间隔(time   interval)关系约束(例如,不同生产周期的起止时间间隔不能重叠)通常需要业务应用来保证,但当一条新的记录写入时候,很多业务应用没有将其与历史记录做约束性检查。



总结



Data  Schema的设计是为了满足特定应用(例如MES)需求的,只要符合设计初衷,数据就不存在Data  Schema层面的质量问题;而数据分析的目的是解决一个物理世界中的问题,以物理语义看数据问题(不会完全迷信数据),并且通常要跨多个数据集,对数据集的要求与一个应用的需求可能不同,因而,数据分析项目中的“数据质量”问题除了Data  Schema层面,还要关心应用场景(Application Context)下的数据质量问题。Data  Schema层面的质量问题通常可以用数据模型(如关系数据表的3范式)、数据约束(如OCL,Object Constraint  Language)等形式化模型去描述,可以独立于具体的应用。而应用场景相关的数据质量问题,与研究问题的范畴和业务上下文有关,通常不容易发现,有一定规律但不存在通用的方法。各种数据系统、工具和企业级的数据治理大多集中在前者,而留给行业数据分析师的往往是后者,没有经验的数据分析师往往很难发现这些问题,造成了基于“问题数据训练出的机器学习模型不可信。


在数据分析项目中,关心的数据问题远远超过了Data   Schema层面的数据质量问题。有时候数据中包含的场景和信息远远超过了当前分析课题关心的范畴,这时候需要从现有数据中筛选出合适的数据;更多时候,数据分析问题的因素并没有完整的反映在数据中,数据反映的仅仅是部分生命周期的状态。这就要求数据分析师能够从业务上下文的角度去梳理问题的关键要素,以及它们之间的关系,审视数据在多大程度上刻画了问题的过程。业务上下文的理解也不是一个单向过程,数据中表现出的“异常”,很多时候是上下文理解的不完整。通过“业务的数据化”和“数据的业务化”迭代,不断加深对分析课题和数据集的理解。深入理解业务问题和数据集后,你会发现很多“你以为的不是你以为的”有趣问题。