如何理解数据质量中准确性和一致性的区别?

2022-04-17 20:38 浏览量:519

今天回忆并记录一下前几天群里看见的某个话题讨论。

 

1、有位读者问道:“为什么数据质量维度同时包括准确性和一致性,不应该是准确性包括一致性吗,总感觉在中文字面上这两个词有重叠的地方

聊天截图如下:
 

 

 

2、第一眼看见这个问题,感觉这是一道语文题,有点咬文嚼字的感觉,就是问的“准确性”和“一致性”的各是什么意思嘛?
 

 

3、先看看百度的解释:

https://baike.baidu.com/item/%E5%87%86%E7%A1%AE%E6%80%A7/5977032

 

https://baike.baidu.com/item/%E4%B8%80%E8%87%B4%E6%80%A7/9840083

 

4、再看看DAMA-DMBOK2的解释:
 

DAMA-DMBOK2 中文版 P353
 

 

DAMA-DMBOK2 中文版 P354


 

5、以上文字描述恐怕大部分人看完都是不太理解或一脸懵,特别是DAMA-DMBOK2的解释,毕竟那些文字都是从英文原版书中直译过来的。
 

 

6、我的理解:一致性关注点在数据是否合规,即是否负责遵循统一的规范和是否符合逻辑;而准确性则侧重于关注数据的真实性,是否正确,是否存在异常。

 

7、举个例子吧,比如某通讯录表中数据如下:

 

    

一般人看这行数据并没有问题,但是有经验的人可能可以一样发现这行数据存在的问题。
 

 

这行数据的“联系电话”为“13800138000”,“一致性”是没问题的,因为符合手机号的格式,也是一个正常的手机号,但是准确性就有问题了,因为众所周知“13800138000”在早些年是中国移动手机充值卡充值电话,后在2015年10月1日起停止服务(http://www.chinamobile.com/aboutus/news/pannounce/gx/index_771_771_detail_29736.html),即便是停止服务了,该号码也应该属于中国移动内部保留号码,不会向公众开放选用,所以数据中这个值是肯定不正确的,符合”一致性”但有违“准确性”。

 

8、再举个例子,比如某用户信息数据如下:

 

    

以上主要关注“联系电话”和“有效期”两个字段值。

 

直观的可以看出,联系电话是不准确的,且不符合正常电话号的规则,除了满足中国大陆手机号的位数,即“联系电话”违反“一致性”和“准确性”,如果要防止此类脏数据入库,可能上游系统需要优化联系电话的校验规则(如选用更通用的正则表达式),不能仅仅是11位数字就让通过校验。

 

再看“有效期”,从挨着的“注册日期”字段可以分析出,这里的日期类型存储的值为“yyyyMMdd”格式的字符串,而“有效期”的值“99999999”其实是不符合日期类型取值逻辑的,因为9999年99月99日,年为9999可以,月、日为99明显不符合逻辑,但是这条数据就是对的,因为通过相关文档可以了解,有效期默认就是“99999999”,由此看来,它在此处并不违反“一致性”,因为有约定。
 

    
 

那为什么说“联系电话”符合11位数字又不算符合“一致性”呢,笔者认为,这应该属于一个常识吧。
 

 

9、综上,同一场景下,违反一致性的数据一定违反准确性,违反准确性的数据不一定违反一致性,但准确性的可解释性有点复杂,同样的数据,在A看来是正确的,而在B看呢,又是错误的,公说公有理婆说婆有理。

 

很多时候,数据质量的相关维度需要各个组织内部提前提炼和定义好,做好基于自己组织的合理解释,而后再开展各项活动。
 

 

来源:志明与数据

作者:志明

 

 

上一篇:腾讯数据湖元数据治理实践

下一篇:数据治理三字经

  • 分享:
龙石数据
咨询电话: 0512-87811036,18013092598
联系我们
商务联系微信

商务联系微信

0512-87811036,

18013092598

咨询电话