跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

基于数据质量监控解决方案 - QualityStage vs Information Analyzer

郑丹丹, 软件工程师, IBM  
郑丹丹, IBM 中国开发中心 InfoSphere Information Server QualityStage 的一名软件开发工程师。于 2007 年加入 IBM,从事了 QualityStage 相关的多种核心组件开发工作。在工作过程中,积极参与了各种 Customer support 相关的工作。并且发表了 QualityStage 相关的文章。
石立宪, 软件工程师, IBM
石立宪,IBM 中国开发中心 InfoSphere Information Server QualityStage 的一名软件开发工程师。具有多年的软件开发和软件实施经验,目前主要从事 QualityStage 核心功能的开发。
樊景雪, 软件工程师, IBM
樊景雪, IBM 中国开发中心 InfoSphere Information Server QualityStage 的一名软件开发工程师。目前主要从事 QualityStage Extension Module 以及部分 QualityStage 核心组件开发。

简介: 随着 Data governance 的概念被越来越多的企业认可,数据质量管控成为一个企业必谈的话题。企业需要从数据源头提升数据质量,就必须首先发现数据质量问题。QualityStage 产品和 Information Analyzer 都定位于数据质量领域, 具有很多重叠的功能, 同时又各有所长, 却都不能完全满足客户关于数据质量分析, 甄别数据规则再到源系统中更新数据的数据质量监控更新的闭环过程。因此,客户往往不能做出合适的选择。本文将对比分析这两个产品的优势劣势, 以及对应的应用场景, 帮助用户在项目初期根据需要选择合适的产品。另外,根据客户关于数据质量监控更新的闭环过程的需求,探讨基于这两个产品的集成解决方案。

发布日期: 2011 年 11 月 21 日
级别: 中级
访问情况 : 780 次浏览
评论: 


案例分析

随着人民生活水平的逐步提高,住房、汽车等消费贷款业务在银行的比重逐渐扩大,各项消费贷款余额有了较快增长,但也出现了诸多问题,如何加强监管,减少银行信贷资金的安全隐患,制约坏账产生,是各商业银行系统急待解决的问题。A 商业银行,针对目前商业贷款审核中的各种问题,计划建立信贷数据质量监控系统,试图建立一个信贷个人数据的“诊断中心”,每个进入“诊断中心”的信贷个人数据都将接受各种数据规则和业务规则有效的检测,大大降低信贷个人数据的出错率,完善个人数据,提高信贷客户的合格率。本文完成了基于 QualityStage 和 Information Analyzer 的数据质量监控系统在信贷审核案例中的应用。

个人客户在填写申请单后,个人信贷材料被录入前台数据库,进入数据质量监控系统后,首先进行数据质量规则审核,甄别错误数据,例如年龄值是字母,收入不是数字,出生日期是不存在的日期等等。通过数据质量规则审核的数据进入下一阶段业务规则的判断,例如未成年的申请人,年收入太低的申请人,不符合国家新政的申请人,以及第三方中央银行的信用记录审核等等。第一阶段质量审核失败的客户资料,将进入人工数据复核环节,第二阶段业务审核失败的客户资料,将进入人工资质复核环节,最终通过所有环节审核的客户资料,进入后台系统的同时,更新原有客户资料,客户成功获得贷款,否则,客户资料不能进入后台系统,客户也未能获得贷款。本文描述了在各个不同的审核环节,根据具体规则与 QualityStage/Information Analyzer 的各自特性,合理应用不同的数据质量产品,制定符合数据质量监控系统需求的数据规则或者业务逻辑规则。


图 1 贷款业务数据监控流程图
贷款业务数据监控流程图

QualityStage vs Information Analyzer

QualityStage 和 Information Analyzer 是 IBM 企业信息集成统一平台 - Information Server 的两个重要的组件。Information Analyzer 用于了解数据,而 QualityStage 致力于数据的标准化和清理。

具体来说,Information Analyzer 可以帮助用户对信息内容和结构进行自动发现和定义, 消除使用错误数据的风险。Information Analyzer 主要分为列分析 (Column Analysis),键分析 (Key Analysis) ,跨域分析 (Cross-domain Analysis) ,基线分析 (Baseline Analysis) ,数据规则分析 (Data Rule)。本文中对简单数据的规则审核,比如身份证号码是否包含非数字,以及对业务数据的资质审核,比如贷款人年收入是否达到一定的标准等,列分析能很好的满足这个功能。尽管 QualityStage Investigate 也能提供相似的列分析功能,得到所在列的值和值的类型的频率分析,但是没有完善的分析报告,且只停留于内容分析,缺少整体列分析的概括结果,比如推断的数据类型,数据长度还有数据的冗余度等。

QualityStage 是主要用于数据的标准化和清理,能够根据一定的规则,将数据按照统一的格式进行标准化,智能地的补齐缺失的信息,然后对数据进行匹配,将不满足规则的或者重复的数据进行去除,提高数据的质量。QualityStage 对数据的处理分为四个阶段:数据调研 (Investigate) ,数据标准化 (Standardize),数据匹配 (Match) ,数据验证 (Survive)。在本文中,需要对贷款人的地址和户口信息进行验证,Information Analyzer 提供的列分析不能满足要求,因为针对复杂的地址字段的列分析,缺少针对性,无法判断地址数据的有效性,所以需要采用 QualityStage 先进行标准化处理,补足缺失字段,并拆分成符合逻辑的多个子字段,然后针对各个子字段进行列分析或者交叉校验。

质量规则审核

前文提到,个人客户申请商业贷款,需要首先填写申请单,但个人客户填写申请单后,可能存在不规范,比如填写出现错误,或者不清晰,导致业务人员将错误数据录入到前台数据库,那么需要对录入的数据进行数据质量规则的审核。将不合格的数据筛选出来,进行人工数据复核。

Information Analyzer 在质量规则审核中的应用

针对简单数据类型的不规范或错误,比如身份证号码包含非法字符,年龄不正确等,Information Analyzer 的列分析 (Column Analysis) 可以用于进行此类质量问题的审核。下面来看具体的处理步骤:

1. 导入源数据 (Import Source Data)

在 Information Analyzer 进行分析之前,需要首先导入需要分析的数据,即个人申请时填写的客户信息。导入后,可以预览个人客户的信息,如下图所示:


图 2 客户数据预览
客户数据预览

信息包括身份证号码 (shenfenzheng),姓名 (xingming),年龄 (nianling),教育情况 (jiaoyu),所在单位名称 (danwei),收入情况 (shouru),家庭住址 (zhuzhi),户口所在地 (hukou), 是否二手房 (ershoufang)。

2. 列分析 (Column Analysis)

通过列分析,可以全面了解数据的分布情况,包括每个数据列的频率分布,数据格式,数据类型等。在这些信息的基础上,可以很直观地发现不规范或错误的数据。打开 Information Analyzer ,对个人客户信息进行列分析 (Column Analysis),通过列分析,可以得到以下分析结果:


图 3 列分析结果预览
列分析结果预览

通过查看列分析的结果,可以了解数据的基数,数据类型,长度,精度,数据的最大 / 最小值,数据的格式等情况,这是一个对数据的整体分析结果,还不能进行规则审核,还需要查看某个数据列的详细信息

以身份证号码审核为例。在上面的分析结果中,选中身份证号码,点击右下角的查看详细信息按钮,查看身份证号码的详细信息。可以看到单个数据列的概览,频率分布,数据类,属性,域与完整性,格式等信息。

首先查看数据类型的信息,如下所示:


图 4 身份证的数据类型信息
身份证的数据类型信息

通过 Information Analyzer 的推断结果,可以发现,身份证号码列中存在 1 个未知(UNKNOWN)数据类型,3 个字符串(STRING)类型数据类型,其他为整型 (INT64) 数据类型。 由于身份证号码基本上由数字组成 ( 缺省的最后补 X),那么说明未知的数据类型和字符串数据类型可能存在不规范或错误数据。再查看数据的格式,如下图所示:


图 5 身份证的数据格式信息
身份证的数据格式信息

进一步通过数据的格式,可以发现 ( 红色方框标识 ),有两个身份证号码的倒数第 2 位是字符 (“9999999999999999a9”,9 代表是数字,a 代表是字符 . 这是 Information Analyzer 的表示方式,以下类似。), 一个身份证号码的倒数第 3 个是字符 (“9999999999999999a99”) ,可以推断出这三个包含字符的身份证号码就是前面提到的 3 个字符串数据类型数据。由于字符都不是在最后, 那么就可以判断这 3 个身份证号码是错误的。假如只有最后一个是字符的话,那么还需要查看数据来判断该字符是否为 X,确定身份证号码是否有效。在格式中还有一个是空行 (NA),正好是前面得到的未知 (Unknown) 的数据类型。由于身份证号码是客户信息的唯一凭证,不能为空,那么该身份证号码也可认定是不符合规则的。对不符合规则的数据,将这些数据标记为无效,如上述图中的蓝色方框标识。

在贷款信息中,可能存在重复申请,或者信息填写有误导致身份证号码重复,这种情况也需要标识出来 , 交予后台人工复查。查看详细信息中的域与完整性,得到如下信息:


图 6 身份证的域与完整性信息
身份证的域与完整性信息

由红色方框所示,有两个身份证号码是存在重复的,那么这种身份证号码,将状态标识为无效。如蓝色方框所示。

通过查看频率分布,查看所有值标志为无效的数据值 (INVALID),将这部分数据抽取出来,进行人工复核。如下图所示:


图 7 身份证审核结果图
身份证审核结果图

同理,由于年龄,姓名,是否二手房等信息也是简单类型,并且与身份证信息有类似特点,推荐也采用 Information Analyzer 进行有效性判断,完成数据质量规则审核。

QualityStage 在质量规则审核中的应用

由于地址数据的复杂性,Information Analyzer 不能给出任何有效的评估,本文采用 QualityStage 先对长粒度的地址数据进行标准化处理,拆分成符合逻辑的多个子字段,同时通过 QualityStage 的 Standardize 功能,进行缺失关键域的补齐操作,最后基于完善的地址数据和多个地址子字段交叉验证,判断地址的有效性。

1 .地址标准化

通过 QualityStage,拆分长的地址字段成多个子字段,并且补齐关键数据域,为此建立下面 job 并运行:


图 8 地址标准化作业
地址标准化作业

从结果中可以看到,北太平庄对应的区域信息海淀区已经补齐。


图 9 地址标准化结果
地址标准化结果

2. 地址质量审核

地址标准化后,接下来需要判断地址是否有效。在该阶段,建立作业,完成小区信息 (Town) 与区域信息 (District) 的交叉验证,以及街道信息 (Street) 与区域信息 (District) 的交叉验证,列出不可信的数据,进入后台系统,等待人工复查。


图 10 地址交叉验证作业
地址交叉验证作业

下图解释了地址交叉验证作业的核心 Lookup Stage 的逻辑设置。


图 11 地址验证逻辑设置
地址验证逻辑设置

从结果中明显可见,上地软件园不属于东城,中关村街道也不属于石景山地区,以下数据均为虚假信息,需要进入后台系统,等待人工复核。


图 12 无效地址结果
无效地址结果

资质审核

2011 年 02 月 16 日,北京市公布的“京十五条”中要求,个人在购买住房时,要验证个人是否具有北京市户口,如果不是北京市户口,需要提供五年的社保证明或纳税证明。所以在个人住房贷款审核时,要验证申请人的户口所在地,由于户口所在地的填写方法千差万别,用户填写的大多是地址信息。所以我们可以利用 InfoSphere QualityStage 的 Standardize Stage,利用中文地址的规则集,将户口地址进行标准化,然后来判断 city 的信息是否为“北京”。除了地址之外,商业银行需要对个人信息进行一个严格的资质审核,来确保贷款人承受偿还贷款的能力。比如个人的年龄,一般需要在 20 ~ 50 岁之间;教育情况,一般需要专科学历以上;个人收入,需要在 6 万以上。这部分不涉及具体的数据标准化过程,只是简单的对数据进行分类,这部分的资质审核可以用 Information Analyzer 进行处理。

Information Analyzer 在资质审核中的应用

前面提到的列分析 (Column Analysis) 是 Information Analyzer 的一个基本功能,用于了解所有数据,但是实际应用中需要对数据进行过滤,只保留有效数据,比如个人贷款中,需要判断贷款人的年龄信息,是否在一定的范围之内,对不满足这个范围的贷款人,不予发放贷款。基于这个应用,就可以用 Information Analyzer 的一个高级主题 - 数据规则 (Data Rule). 下面来看 Data Rule 如何进行资质审核。

1. 建立数据规则定义(Data rule definitions)

针对年龄,需要建立一个规则,比如,将年龄限制在 20 ~ 50 岁,如下图所示。


图 13 年龄规则定义
年龄规则定义

针对年收入,也需要建立相应的规则,比如,贷款人年收入必须在 6 万元以上,如下图所示。


图 14 收入规则定义
收入规则定义

针对教育情况,要求贷款人的学历在本科以上,那么相应的教育情况规则定义如下。


图 15 教育情况规则定义
教育情况规则定义

2. 建立数据规则集 (Rule Set)

假如银行在审核时,需要同时满足上面三个条件,那么就需要建立一个数据规则集,将上面建立的三个数据规则组合到一个数据规则集中,那如下图所示。


图 16 规则集定义
规则集定义

3. 运行数据规则集

数据规则集创建完成后,还需要生成数据规则集,然后运行。运行的结果如下图所示。


图 17 输出纪录
规则集定义

以贷款人“王元”为例,王元的年龄是 53 岁,不符合定义的年龄规则定义。 而且王元年收入只有 5.2 万,也不符合年收入的规则定义。所以王元不符合数据规则集中的两个。

根据上图中的输出记录,银行业务人员就知道了不满条件的申请人,经过人工复核后,决定是否不予发放贷款。

QualityStage 在资质审核中的应用

下面就详细介绍如何利用 InfoSphere QualityStage 来进行户口资质审核。

1. 户口信息标准化

打开 InfoSphere DataStage and QualiyStage Designer, 在 Designer 中设计如下的 Job。


图 18 标准化作业
标准化作业

Standardize Stage 中对户口地址所在列,选用中文地址规则集,如下图:


图 19 标准化配置
标准化配置

经过上述 Job 输出的结果如下:


图 20 输出结果
输出结果

2. 户口审核

利用 Filter stage 来判断 City name 是否为“北京”。设计的 job 如下:


图 21 户口审核作业
户口审核作业

Filter 属性的设置如下:


图 22 过滤属性设置
过滤属性设置

对于户口是北京的数据输入到一个分支中,不是北京的输出到另一个分支中,对于是北京的数据,进行下一步处理,如果不是北京的数据,要判断是否具有五年的社保证明或纳税证明。

总结

本文以一个个人住房贷款申请的案例向大家展示了一个数据质量管控的闭环过程,从数据录入数据有效性的验证,数据业务逻辑的验证,到数据的最终入库,层层来保证数据的质量。同时,也像大家展示了,Infosphere Information Analyzer 和 Infosphere QualityStage 的各自特性,在不同的数据监控业务下的应用,比如,Information Analyzer 用于简单的数据字段,进行完善的数据内容分析。QualityStage 用于复杂的地址数据字段,先标准化,再做数据分析,从而实现地址有效性的验证。总之,在本文所展示的数据质量监控的闭环的方案中,合理的利用了 InfoSphere Information Analyzer 和 InfoSphere QualityStage 的各自特性,并有机结合,从而最大化的保证了数据质量的有效性。


参考资料

学习

获得产品和技术

讨论

作者简介

郑丹丹, IBM 中国开发中心 InfoSphere Information Server QualityStage 的一名软件开发工程师。于 2007 年加入 IBM,从事了 QualityStage 相关的多种核心组件开发工作。在工作过程中,积极参与了各种 Customer support 相关的工作。并且发表了 QualityStage 相关的文章。

石立宪,IBM 中国开发中心 InfoSphere Information Server QualityStage 的一名软件开发工程师。具有多年的软件开发和软件实施经验,目前主要从事 QualityStage 核心功能的开发。

樊景雪, IBM 中国开发中心 InfoSphere Information Server QualityStage 的一名软件开发工程师。目前主要从事 QualityStage Extension Module 以及部分 QualityStage 核心组件开发。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=776039
ArticleTitle=基于数据质量监控解决方案 - QualityStage vs Information Analyzer
publish-date=11212011

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。