收藏 分享(赏)

金融领域数据清洗方法研究.pdf

上传人:精品资料 文档编号:10925504 上传时间:2020-01-21 格式:PDF 页数:8 大小:472.90KB
下载 相关 举报
金融领域数据清洗方法研究.pdf_第1页
第1页 / 共8页
金融领域数据清洗方法研究.pdf_第2页
第2页 / 共8页
金融领域数据清洗方法研究.pdf_第3页
第3页 / 共8页
金融领域数据清洗方法研究.pdf_第4页
第4页 / 共8页
金融领域数据清洗方法研究.pdf_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、 金融领域数据清洗研究 黄成龙 1+ 1(北京航空航天大学 计算机学院 ,北京 100191) Research on data cleaning in the financial field HUANG Cheng-Long1+ 1(College of Computer Science, Beihang University, Beijing 100191, China) + Corresponding author:Phn:+86-15001240491,E-mail: Abstract: The system runs the financial industry had the ab

2、ility to process data is slow, the internal data processing system processed more intervention and other factors lead to inaccurate data, data quality, and therefore these data cleansing is essent ial; this paper records Research on data quality issues financial industry level data cleaning methods

3、exist in the system, describes the factors that image data quality and dat a cleansing methods proposed and the general process. Key words: Data quality; data cleaning; cleaning methods 摘 要 : 金融行业 原本的 系统 运行处理数据能力较 慢,系统内部数据处理加工人员干预较多等多方面因素 导致 数据 不准确 、数据质量不高 ,因此对这些数据进行清洗是必不可少的;本文记录了对金融行业系统中存在的数据质量问题级数

4、据清洗方法的研究,阐述了影像数据质量的因素,并提出了数据清洗的方法及一般过程 . 关键词 : 数据质量 ;数据清洗 ;清洗方法 中图法分类号 : TP391.1 文献标识码 : A 作者简介 : 黄成龙 (1988 ),男 ,山东临沂 人 ,本科 ,软件工程师 ,主要研究领域为 J2EE 软件开发 ,金融软件开发 . 黄成龙 : 金融领域数据清洗研究 1 引言 随着金融行业的发展,对数据质量的要求变得越来越高, 中 国人民银行 也对所有金融机构 提出了新的报送要求 ,而金融行业原本使用的系统较多且由不同公司开发完成,数据定义规则也不相同,因此各金融机构要对自己内部的数据进行数据清洗以达到 人行

5、的 要求 、满足客户的需要 . 2 数据质量与数据清洗 随着信息化程度的提高,金融机构内部积累了大量的业务数据,这些数据是金融机构进行正确决策的数据基础,由于“垃圾进,垃圾出”,高质量的数据可以提高金融机构决策的正确性,而质量差的数据则起到相反的作用 .所以为了更好的利用这些数据为金融机构服务,很多金融机构纷纷建立了自己的数据中心或者数据仓库 .数据清 洗是数据中心或数据仓库系统的重要环节,是保证数据质量的主要手段 . 2.1 数据质量 基于信息系统的大背景下, 金融机构 数据中心中的数据通常是从不同的数据源抽取后存入的 .信息系统越大,数据质量的问题就越明显,给 金融机构 决策带来的风险就越

6、高 . 2.1.1 数据质量的定义 从文献的角度,数据质量是一个多维的概念,目前还没有数据质量维度的统一定义,通常的维度包含准确度、完整性 、 一致性、时效性,而数据对这四个主要维度的满足程度被定义为数据质量 .从满足业务需求的角度,数据质量被定义为“满足数据使用者需求的程度” .第一种仅仅从文法的角度进行定 义,第二种从实际使用的角度进行定义,都不是很全面和准确 .本文将数据质量定义为“通过准确度 、 完整性、一致性、时效性这四个指标来衡量满足数据使用者需求的程度” . 2.1.2 数据质量问题的种类 当建立一个信息系统的时候,即使进行了良好的设计和规划,也不能保证在所有情况下,信息系统中数

7、据的质量都能满足用户的要求 .用户录入错误、金融 机构 合并以及环境随着时间的推移而改变,这些都会影响所存放数据的质量 .信息系统中可能存在的数据质量问题有很多种,从数据质量问题存在范围的角度分为以下四种 : 1、 属性 (字段 )层面 .这类错误仅局限于单个属性的 值 . 例: 银行存储 个人信息中的生日为 “ 2000/02/30”,显然这是个错误的值,因为 2 月没有 30 号; 保险 公司 的 保单系统 中,有一个保单记录,姓名却是空值 ; 这些都属于单个属性错误 . 2、 记录层面 .这类错误表现在一条记录不同属性值之间出现的不一致性 . 例: 证券公司 存储 个人 信息中的所在省为

8、“山东省”,所在市为“上海市”,省和市明显不对应; 这种就是 一条 记录中属性依赖冲突 . 3、 记录类型 .表现为同一数据源中不同的记录类型之间的不一致性 . 例 : 基金 公司记录张三买了基金的,有两条记录,但性别栏却分别为“男”与“女”两个不同 的值; 这种就是记录与记录冲突 . 4、 数据源层面 .表现为数据源中的某些属性值或记录与其他数据源中的相关值的不一致性 . 例: 贷款公司 记录李四的证件号为“ 1020199004010032”,但实际李四的证件号为“ 1020199004010036”; 这类数据问题就属于就数据源层面的 . 2.1.3 影响数据 质量的因素 通过研究分析

9、金融机构 中日常数据的一些行为,归纳出了对 金融机构 数据质量造成影响的操作 : 1、 系统的输入 .如果数据字段为空或向字段中输入了错误的数据,则会降低数 据质量 .例如 :当用户 到银行黄成龙 : 金融领域数据清洗研究 帮借记卡 时,可能输入错误 公司 的地 址和名称 ;可能使用应用程序导入一些表格数据,但这些应用程序没有提供充分的字段验证,字母和数字字符混淆在一起,大小写的使用也存在问题 .如一个用户的 ID 中含有大写字母“ I”, 业务人员 可能将其看成是数字“ 1“,从而无法正确的跟踪和联系该客户,或可能为该客建立多个条目 . 2、系统 /数据维护 .每个数据维护操作都可能改变数据

10、,从而导致无法预知的数据问题 . 3、系统处理 .随着错误数据的输入,它可能扩散到多个系统中,从而影响整个 金融机构 的数据质量 .即使是简单的数据错误也会迅速升级为复杂的问题,降低整个 金融机构 的数据质量 . 4、数据接收 .金融机构 越来越倾向于将业务流程外包给第三方或与合作伙伴以及供应商合作,此时他们无法对数据进行及时的控制 .那些来源或质量无法确认的外部数据可能进入 金融机构 中并在 金融机构 中扩散,给 金融机构 内部数据带来无法确定的风险 . 5、数据存储 .同一个实体在 金融机构 多个系统中存储,经常导致数据一致性的问题 . 2.2 数据 清洗 数据清洗是解决数据质量问题的主要

11、手段,针对不同的数据质量问题,需要采用相应的清洗方法,下面将分析数据清洗的概念、基本方法和过程 . 2.2.1 数据清洗的概念 数据清洗从名字可以看出就是把“脏数据”清洗掉,目的 是为了提高数据质量 .数据清洗就是检测和去除数据集中的噪声数据和无关数据、处理遗漏数据、去除空白数据域和知识背景下的白噪声 . 数据清洗分为有监督清洗和无监督清洗两类 .有监督清洗过程是指在领域专家的指导下,收集分析数据,手工去除明显的噪声数据和重复记录,填补缺值数据等清洗动作 ;无监督清洗过程是指根据一定的业务规则,预先定义好数据清洗算法,由计算机自动执行算法对数据集进行清洗,然后产生清洗报告 .因为人力成本比较高

12、,尤其是这些有经验的领域专家,其人力成本更加高,所以在现实的数据清洗活动中,大多数都采用后者,预先定义 好数据清洗规则或算法,由程序自动对数据集进行清洗,然 后领域专家根据清洗程序产生的清洗报告,对清洗的结果手工的进行一些小的整理 . 2.2.2 数据清洗的原理 数据清洗的原理就是利用现有的技术手段和方法检测出数据源中的“脏数据”,并将“脏数据”转化为满足数据使用者要求的数据 .数据清洗利用回溯的思想,分析数据源的特征,根据相应的业务规则,对数据流经的每个环节进行分析考察,从中总结出相应的数据清洗规则、策略,并基于现有的清洗算法和模型,抽象出符合实际需要的数据清洗策略、算法和框架,最后在数据集

13、上应用这些算法 .从数据清洗 的实现方式上,可以将数据清洗分为四种 : 1、全人工方式 人为的通过手工方式检测数据集中的“脏数据”并加以修正 .这种方式检测和清洗准确度高,适用于财务数据等对金融机构经营管理非常重要的数据 .由于手工方式的效率低但成本却很高,因此只应于小数据量的数据源 . 2、全自动方式 基于相应的处理规则和清洗算法,通过编写特定的数据清洗程序来自动检测和修正数据源中的“脏数据” .数据清洗是一个反复的过程,这就导致清洗程序异常复杂,为程序的更新和维护增加了困难 . 3、实时人机交互方式 通过编写特定的数据清洗程序,为计算机不能自动处理的情况开发相应的人机交互界面,手工的处理这

14、种不能自动处理的情况 .这种方式不需要太多的人工,同时也降低了清洗程序的复杂度,但是在程序运行过程中,却需要人的实时参与 . 4、异步人机交互方式 清洗程序会处理完所有可以自动处理的数据,对数据清洗程序不能自动处理的情况,产生数据清洗报告,黄成龙 : 金融领域数据清洗研究 由相应的领域专家手工的处理 .这种方式即节约了人力成本,又能保证数据清洗的质量,适用于大数据量的数据源 . 根据金融机构的情况及要求分析,使用第三种方式 实时人机交互方式进行清洗金融行业的 数据是最恰当的方式 . 3 金融领域数据清洗的具体方法步骤 一般 的清洗方法 包括需求分析、信息环境分析、任务定义、方法定义、基本配置,

15、以及基于以上工作获得数据清洗方案等 .通过需求分析明确信息系统的数据清洗需求,通过信息环境分析明确数据所处的信息环境特点,任务定义要明确具体的数据清洗任务目标,方法定义确定合适的数据清洗方法,基本配置完成数据接口等的配置,要形成完整的数据清洗方案,并整理归档 . 而金融领域的却有一些区别, 为方便本章节介绍,本章以对银行的征信、贷款类系统进行数据清洗,数据库用 Oracle, 清洗工具用 JE22 开发 为例 . 3.1 清洗设计 与方法 3.1.1 数据模型设计 1、 首先 要 分析情况建立数据清洗的最终模型, 即最终要得到的结果 例如: 业务号码 |业务种类 |发生地点 |开户日期 |授信

16、额度 |担保方式 |还款方式 |剩余还款月数 |本月应还款金额 |违约次数 |姓名 |证件号 |年收入 那么在数据库中建一张表包含以上的字段; 2、 其次要确认各个系统中我们可以得到那些数据,即需进行清洗的数据 例信贷系统中有: 业务号码 |业务种类 |发生地点 |开户日期 |授信额度 |担保方式 |还款方式 | 征信系统中有: 证件号 |还款方式 |剩余还款月数 |本月应还款金额 |违约次数 | 核心 系统中有: 业务号码 |姓名 |证件号 |月收入 | 那么需建立分别含有以上字段的三张表; 3、最后我们需要 根据初始数据和最终数据 ,建立许多中间需要的 表 ,用来做数据清理时使用的临时表

17、,还有建立部分信息的 存量表及最终数据的历史表用来存放基本不变的例如个人信息和为最终数据做备份 . 3.1.2 清洗方法 设计 在第 2 章结尾我们确认了使用第 第三种方式 实时人机交互方式 对 金融行业的 数据 进行 清洗 最为合适,那么 接下来 以 3.1.1 中 例子 的 内容 进行设计 : 1、 就是要剔除无用的数据,也就是各个系统中 | 的部分; 2、 要做的是清除的是属性中的杂质 及规范化 ,确认 数据的统一性 ; 3、 就是 先在得到的基本表里面 做一些基本的格式检验,例如检查日期格式是否正确, 姓 名是否缺失,发生地是否超长等,如有错误通过人工修改后继续检验 直到无错 ; 4、

18、 根据最后需要的结果做一些数据的加工与计算,例如得到的数据是月收入,最终需要的是年收入,则使用月收入 *12 等 ; 5、 把基本表中的数据合成跟最终数据一样的形式的临时,然后根据业务规则在做一些检验,例如还款方式为“一次性”,剩余还款月数 0,那么 本月应还款金额 就应该为“ 0.00”等, 如有错误通过人工修改后继续检验直到无错 ; 6、把加工完成的数据提供给人民银行、业务人员或客户,并备份到历史表 . 3.2 具体清洗步骤 一般 的数据清洗由 准备 、 检测 、 定位 、 修正 、 验证 五个部分组成, 具有灵活、可扩展、交互性好、松耦合的特点 ; 而本文对于金融领域的数据清洗又做了部分

19、调整使其更适用于金融行业,如本章例子中的具体步骤应为 : 黄成龙 : 金融领域数据清洗研究 3.2.1 数据采集 将 各系统 文件层的非关系型数据装载到关系型数据库接口层表结构中 .即将客户提供的业务数据采集到数据库接口层的数据层,包括 信贷数据的采集与征信 数据的采集以及 核心 提供 .通过各个系统进行数据抽取解决了 完整性 的问题 . 此过程通过可 J2EE 编程完成,部分核心代码如下: 3.2.2 数据 规范化 将数据由接口层表加载到对应的中间接口层表,同时进行数据的规范化工作; 例如去除特殊符号和规范英文可通过 JAVA 调用 Oracle 存储过程完成 ,具体命令如下 类似 : 黄成

20、龙 : 金融领域数据清洗研究 3.2.3 基本 数据检查 检查数据的正确性 , 以及 相似重复记录、不完整记录、逻辑错误、异常数据等数据质量问题的检测 , 并将其显示在页面,且可以通过人工进行修改,修改够继续执行检查直到检查完全部数据 .例如检查身份信息长度超长, Oracle 中具体存储过程 部分 如下: 修改则通过 J2EE 工程的 JSP 页面实现 ,如下类似 通过 3.2.2 规范化 以及 本节的处理,解决了 准确度 的问题 . 3.2.4 数据加工 这一步的 主要功能: 根据金融机构的业务规则或 基础指标 对数据进行一系列的 加工计算 从而达到要求 .黄成龙 : 金融领域数据清洗研究

21、 例 在 信贷 系统中还款方式 “ 1” 代表每 1 个 月 还 一次 , “ 6” 则带代表每半年 还一次 ,而 征信 系统中的 还款方式“ 1”代表 每年还 1 次 ; 则 “ 2” 代表每半年换一次 , 需要 做 统一规定 ,转换为 1 为每月 一还 , 2 为每季度 , 3为每半年 , 4 为每年 ,通过这种方法解决了 一致性 的问题 . 还有例如: 要求违约次数最高为两位数,超过 99次按 99 次计算,则代码如下 : 3.2.5 高级数据校验 高级数据校验也就是最终数据校验,要检查数据层计算指标的业务逻辑性 .例 如之前说的还款方式为“一次性”,剩余还款月数 0,那么 本月应还款金

22、额 就应该为“ 0.00”等, 若不为 “ 0.00” 同 3.2.3 一样显示在页面上,但修改时则需要登录数据库进行修改 , 提示是如下类似: 3.2.6 整理 并 归档 全部修改完成后,继续执行 , 对检测结果进行统计,以获得全面的数据质量信息,并将相关信息整理归档 , 最 后提示完成 .并且通过每天的数据第二日就进行处理解决了 时效性 的问题,至此 决定数据质量的 准确度、完整性、一致性、时效性这四个指标 的 满足程度 基本都达到最高 . 经过这一系列的处理之后,得到规范且准备的数据,也就完成了数据清洗 .提供给人民银行也完全可以达到要求 ;因为有历史归档表,在客户查询自己 像违约次数这

23、类 资料 时可以 准确 提供 ;客户新办贷款时,业务人 员也可以轻松 确认 该客户的信息以确定是否发放贷款或确定发放金 额;充分体现了数据清洗的作用 . 黄成龙 : 金融领域数据清洗研究 4 总结 在本 文 中,论述了数据质量的概念、种类及影响数据质量问题的因素 .并在分析总结已有的数据质 量概念的基础上提出了自己对数据质量的定义 .数据清洗是提高数 据质量的有效途径,本文 中分析讨论了数据清洗的概念和原理,提出了 对金融行业进行 数据清洗的一般过程 .研究了 数据 清洗的内容和清洗的 过程,根据不同的数据质量问题,分析 介绍了相应的数据 清洗的 方法 . 金融机构 中数据具有很强的业务相关性

24、,针对该特点提出了基于业务逻辑的属性清理方法 .清理方法首先分析业务数据的规律和特点,将这些数据的规律和特点作为业务 逻辑规则存入规则库中,清洗工具根据这些业务规则进行数据清洗 .这种根据具体业务逻辑规则进行的数据清洗,可以更加有 效的对数据进行清洗 . 致谢 在此 ,我们向对本文的工作给予支持和建议的同行 ,尤其是北京 航空航天大学计算学院孙海龙老师所教的 信息检索 班上的同学和老师表示感谢 . 参考文献 : 1 曹建军 ,习兴春 ,陈爽 ,绍衍振 .数据清洗及其一般性系统框架 .计算机 科学 ,2012-11,39(11A):207-211. 2 宋金玉 ,陈爽 ,郭大鹏 ,王内蒙 .数据质量与数据清洗方法 .指挥信息系统与技术 ,2013-10,4(5):63-70. 3 叶鸥 ,张璟 ,李怀军 .中文数据清洗研究综述 .计算机工程与应用 , 2012,48(14):121-129. 4 美 阿拉派蒂 .Oracle Database 11g 数据库管理艺术 .钟鸣等 译 ,北京 :人民邮电出版社 ,2010.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报