如何保证数据质量?

1
最近一直在处理数据质量的问题,越来越能够懂得数据库整套系统的运行模式和模型概念,深深觉得数据挖掘的本质其实不仅仅是从海量的数据中发现有效的,有用的,有目的性的数据,深入来说,如果大数据平台里的数据质量根本无法保证,那么数据挖掘就是毫无意义的,你的命中率和精确度根本没有参考价值。但是问题就出在这里,外围系统抽取隔离的数据,要怎么样清洗和梳理才能够在数据的源头上尽可能的提高数据质量?不可能每个人都懂业务,对针对性业务方面的数据质量如何提升,一直是一个困扰我很久的问题。
已邀请:
4

农夫 - BI需求分析、微软移动BI开发(Datazen) 2015-10-27 回答

数据质量这块深有体味,曾经开发实施ERP多年,接过很多ERP业务需求并深入了解过业务,BI报表的需求等,有关数据质量分几种:
1.系统BUG问题:
 产生原因:A.开发测试验收流程不规范,遵循开发加自测=》测试=》业务需求部门验收的流程操作,减少这块引起的数据质量问题。
        B.开发过程中,可能版本控制的问题,对公用的过程,我修改后另外的开发人员进行覆盖等等问题
 解决方案:A.规范开发测试及版本控制流程,没有任何捷径所走,上面几个朋友都有提到,对已发生的问题开发人员进行修改;
        B.曾经使用过一套平台化开发的ERP系统,主要原因是开发人员的进进出去,修修改改,数据质量经常不准确,后来通过3个月的时间,把所有单据明细与库存明细帐、销售明细账、期间表、即时库存、成本表等等所有的过账逻辑在晚上进行修复重算,再更新重算后正确的数据,一举解决了困扰公司几年老大难的问题。但这工作需要对业务、数据结构、ERP业务流程、开发能力都比较强的人员来操作,才能保证重算的准确。
2.分析指标统一口径问题:
 产生原因:在一公司做BI系统的时候,指标口径不统一,比如像成本有:门店成本、销售成本、加成成本等等好几个,每次开会的时候,采购部、销售中心、财务中心、市场部等等拿出来的数据可能名称一样,但数据都不一样;
 解决方案:我想这一块还是比较好解决的,只要先统计整理公司所有的指标,然后把业务部门请上来,统一指标名称、指标解释、计算公式等,就不会产生同一个人,这个叫李老四,那个叫李二狗。
3.企业不同的时期业务系统处理方式上逐步优化产生的数据差异:
 产生原因:企业在不同的发展时间,系统处理会有所差异,特别是二开比较多的公司
 解决方案:A.后续规范的数据与前面不规范的数据,看是否可以通过相对应的关系,进行整理统一;
        B.如果上述都不能处理的话,我想还是对前面的一些数据进行分开统计分析,否则两者不一样统计了来会误导业务人员
        以前在一通讯行业工作的时候,原来在联通新用户(存费送机、购机送费、单开户)、老用户等等以前都是通过一个或几个字段的状态标志进行区别,后来业务发展,发现这样太复杂,后来做了一个政策层级的分类,统一规范。在处理前面数据的时候,对以前的数据进行修复处理,以保证与后续的数据统计方式一致。否则区别两个统计方式。
4.因为实际业务过程中无法规范而产生的数据质量问题:
 问题举例:在一服装制造行业工作的时候,来统计产品的实际工时,因为是A产品完工、B产品新生产,在这一交接阶段,同时进行生产,无法正确的统计实际的生产工时,这是正常的实际情况。
 解决方案:后与业务部门沟通,将当天的实际工时根据当天完工产品的理论工价来按比例分配,这样对统计分析虽然会有不真实的情况,但也是能相对真实。
 所以碰到问题的时候,可以是否可以折中处理,只要不完全违背统计分析的原则,还要以考虑相应的处理方式。
 说了这么多废话,希望可以在实际工作中引起一些思考。
4

哥本哈士奇 - 专注微软平台的商业智能解决方案 2015-10-08 回答

说直了就是上游系统的质量问题,所以这个时候分析系统的重视程度就出来了,如果是比较重视的,bug提上去改,如果不被重视的话就是一个扯皮的过程,上游系统不愿意改,只能从下游去修改,好比一个稿件错了,你是去修改原件还是复印件的问题。。。
当然了,沟通永远是一个很重要的技能,这个对于分析工作来说其实更重要。
 
补充下:
更多情况都是后者,所以应对的方法就是建立知识库,通过跌代的方法不断加入上游系统可能出现的问题的修正。
当然还有一种方法就是通过数据挖掘的手段,这个我看过介绍但是没实现过,思路就是通过逻辑回归的方法,检测异常值,缺点是模型定义比较难,优点是能发现类似年龄输入超过100岁这类错误。
2

BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-10-11 回答

第一种说法:
长江水源出了状况,但在出海口弄一污水处理器顶什么用啊,治标不治本啊。

第二种说法:有点恶心,但其实是很多数据质量项目的真正起源
我的米饭上落满了苍蝇,我想把他们轰走,我知道饭已经不干净了,而且苍蝇一会还回来,但我真的快饿死了。

我比较喜欢第二种想法,因为真到了这个时候,第一种说法才能真正的得以重视以及带来后续的实施。

通常第二种说法产生的原因都不是对原有业务的改造,而是,数据质量问题已经影响要开展新业务了,而且是严重的影响。

领导重视,这个是所有数据质量问题得以改善的最重要的起点,没有这个,一切都免谈。然后就是,看看哪里的灾情最严重,看看哪里能马上解决,比如用ETL程序进行修正,再比如规范化一些reference data,定义数据标准,再比如手动修改主数据,这些都是看起来挺二,但其实挺有效的解决办法,尤其是人工比对。一次性清理数据以后,就会发现那些常见的数据规范法则,制定他们以及后面继续定期清理
再然后就是有些数据质量问题无法得以修正的,再重新对源系统进行升级改造,通常这都需要契机,比如源系统从前是openERP,需要重新搞一套SAP,这就是非常好的改善的契机,但一切的前提是前面做的足够多的准备工作,并且在一开始就把数据治理作为一个重要的部分,这也是企业设置CDO的一个重要原因。
1

ZanarKand - 天生我才必有用 2015-10-14 回答

首先,数据出现质量问题有哪些原因或者情况?
其次,针对这些原因,制定清洗策略。
一般的数据质量出现问题的有:无效,重复,缺失,不一致,错误值,格式出错,业务逻辑规则有问题,抽取数据程序有错等,另外还有就是统计口径不一致,也会导致看到的数据不是想要的。
根据这些情况,如何清洗?人工,还是编写程序?这个依据数据量大小及挖掘系统要求看吧。如果出现这类型的错误很多,一定要写程序自动清洗,如果只是小量的不影响的,可以忽略不计。

最好的是:数据源头OLTP系统控制,操作规范,定义明确等。
实在不行,需要DW人员熟悉业务,了解业务操作流程,制定一定的清洗程序。

以上情况限定传统行业。

如果是互联网行业,控制数据质量,难度很大吧!  
 
 
不同的行业,不同的公司处理起来,还是有点不一样的。。
0

cognos小白 - 为Cogno而生 2018-01-11 回答

学习 了,谢谢

要回复问题请先登录注册