构建面向大数据的银行数据挖掘平台
《金融科技时代》2017年 第3期 | 2018-01-13 14:34

文/中国农业发展银行信息科技部 李小庆 陈权

本文利用互联网、大数据和云计算思维,对银行数据挖掘平台的建设进行探索,提出了构建银行数据挖掘平台逻辑架构、数据架构和物理架构的具体思路,并在建设过程中兼顾数据挖掘平台的前瞻性、实用性和经济性,同时描述了基于上述架构的数据挖掘过程。

随着企业私有云的逐步落地和未来行业云的呼之欲出,以及大数据技术的蓬勃迅速发展,基于云的大数据挖据平台将成为必然趋势。本文基于广泛应用的云计算技术、大数据技术构建了一个具有高可靠性、集约型、扩展性、实用性、高效性和前瞻性的数据挖掘平台,提出了具有一定普适性的银行数据挖掘过程模型,实现了数据挖掘模型的敏捷开发、敏捷部署、敏捷管理和敏捷维护,为银行适应数据密集型的大数据时代、有效利用数据资产、实现数字化决策、促进银行发展由业务驱动转变为数据驱动提供了一种实践路径。

一、数据挖掘平台的架构设计

(一)逻辑架构设计

在功能逻辑上,银行数据挖掘平台的架构分为7层两个支柱。7层分别是数据源层、基础层、计算模型层、知识(同化)层、加速层、可视化表示层和应用层;两个支柱是资源管理调度和应用信息采集。如图1所示。

数据源层指数据挖掘平台的数据来源,包括企业数据仓库、贴源数据、企业外部的结构化及非结构化数据等。基础层是经过数据清洗、转换后的挖掘对象。

计算模型层主要实现数据挖掘模型的建立、验证、评估和部署。知识(同化)层是将数据挖掘生成的信息和知识物理落地,逐步形成企业级知识库,知识库的管理可以按照业务主题分类组织,如信贷知识库、风险知识库等。

加速层是为了提升数据挖掘效率和展示效率,而增加的数据缓存机制。可视化表示层是利用计算机图形学的技术对数据进行图形、图像、动画等形式的展示,在该层具有丰富的可视化接口,如R接口、Python接口和SAS接口等,从而为用户提供可自定义的灵活的可视化手段。

应用层是利用微服务的理念,基于PaaS方式,根据业务主题建立逻辑概念上的独立业务子系统,如信贷决策支持系统、风险决策支持系统等,这些系统共享数据挖掘平台的基础设施资源。

资源管理调度主要对数据挖掘平台的各类任务、作业进行集中调度和监控,保障服务的并行、安全、隔离和同步;同时提供对元数据、系统日志等资源的管理。

应用信息采集是基于互联网的开放和众测的思想,给每个应用系统进行埋点(在产品、服务转化关键点植入统计代码),主动收集系统使用中的问题并推送调查问卷,引导用户主动反馈信息;最后通过非结构化数据分析得到优化建议和业务痛点,并通过敏捷开发、持续集成,不断满足业务需求;同时逐步建立开放式的银行数据挖掘社区。

数据挖据平台可以建构于“微型”私有云上,形成云数据挖据平台。之所以将其建构于云上,是因为随着云计算的发展,社区云、行业云等得到了飞速发展;对于金融业来讲,金融云的建设是必然趋势,应用的云间迁移是不得不考虑的情形;更重要的是,云计算可以对计算、存储、网络等资源进行集约化管理,这对银行信息资源的有效利用具有很现实的意义。基于私有云构建的数据挖掘平台如图2所示。

云架构分为3层,分别是信息基础设施层,对应于工aaS;数据挖掘平台,对应于PaaS层;数据可视化应用,对应于SaaS。

基础设施层。主要利用集群、并行计算、分布式计算、虚拟化等技术对系统中物理资源云化。在该层可以利用商用的R edhat 0 penStack, H U AW EI FusionSphere、一体机或开源的0 penStack在PC-SERVER上实现。

数据挖掘平台层。主要使用容器、虚拟化技术、分布式技术实现中间件、内存数据库、关系数据库、N o sql数据库的云化;在该层可以使用0 rac 1e的中间件、内存数据库和关系数据库的云版本结合SA S和Spark计算引擎实现;也可以用一体机结合SAS和Spark计算引擎实现。

数据可视化应用层。主要是基于BI工具或其他可视化工具,建设逻辑独立的业务系统。在该层可以使用独立的产品如SASV isualA nalysis, SmartBI等实现,也可以使用开源工具如R实现,还可以使用一体机如Exalytics实现。

私有云还需要资源管理和调度的工具,可以使用云操作系统自带的管理工具,也可以使用独立的产品实现。

(二)数据架构设计

通过数据挖据平台的逻辑架构,各层功能都有了比较明确的界定,但是各层之间的数据依赖关系还需要通过数据架构来进行规划和约束。数据挖掘平台的数据架构如图3所示。

数据挖掘平台从数据源系统中利用ETL技术抽取数据,经过清洗、转换后加载到平台的基础层。计算模型层分为3个部分,分别是模型实验室、数据挖掘引擎和大数据计算引擎,后两者可以合称计算引擎,如SAS Base, Spark, R等,主要为模型实现和运行提供计算和算法库资源。模型实验室通过ETL过程进行数据采样,将测

试数据加载到模型实验室的训练库和测试库,然后通过单独部署的计算引擎进行模型的开发、验证、测试和评估;对于评估良好的模型,将其部署到数据挖掘引擎或大数据计算引擎,然后计算引擎从加速层读取数据,如果加速层中没有所需数据,则由加速层从基础层读取数据,然后再提供给计算引擎,作为模型的输入;计算引擎根据模型生成预测结果,并将其写入加速层,并由加速层转写入知识层。可视化工具从加速层读取数据,并将借助图形、

图像、动画等方式展示给用户。应用信息采集是平台相对独立的模块,主要使用埋点、论坛等方式在SaaS层获取应用信息,并为平台优化提供数据支撑。资源管理和调度主要是完成PaaS和IaaS层的计算、存储、网络、中间件、数据库等资源的调度和管理。

(三)物理架构设计

银行数据挖掘平台的逻辑和数据架构设计后完成后,便可进行物理架构的规划。物理架构设计涉及3个方面的内容,一是对逻辑层在物理上的整合,二是产品的选型,三是部署方式,即在云端的服务器部署均采用虚拟机或容器技术实现。

前述逻辑层中,基础层、知识层和加速层是为了让平台架构在逻辑和功能划分上更清晰,在真正落地时,3层可以部署为同一数据库集群的不同Schem a;但基于效率的考虑,在实现时,将基础层和知识层部署于关系数据库集群或分布式数据库上;加速层采用独立的分布式内存数据库实现,这样一来,数据挖据和结果展示都可以采用基于内存的计算,无须频繁地读写磁盘,从而有效提高计算和查询效率。

计算模型层分为传统数据挖掘引擎和大数据挖掘引擎,在实现的时候,建立基于虚拟机或容器技术的分布式集群,同时部署传统数据挖掘引擎和大数据挖掘引擎,前者满足基于样本数据的多元统计分析,后者满足基于机器学习的大数据分析,从而构建一个多层次的智能决策平台。可视化分析工具采用W eb集群方式,如果产品支持分布式计算,也可以采用分布式方式实现。银行数据挖掘平台物理架构如图4所示。

图4中产品选型基于开源工具。银行对安全性、稳定性一般有较高要求,因此选型时可以选用成熟的商业产品代替图中的开源产品,见表1所列。

二、数据挖掘过程

数据挖掘比较主流的过程模型有SPSS提出的5A法,即访问、分析、评估、行动和自动化;SAS提出的SEM M A法,即抽样、探索、建模、修正、评估;数据挖掘特别兴趣小组(SIG)提出的CRISP-DM法。其中CRISP-DM法包含6个阶段,即商业理解、数据理解、数据准备、建立模型、模型评估和结果部署;4个层次,即阶段、一般任务、专项任务和流程实例。目前,CRISP-DM法是业界最为权威的标准化数据挖掘过程模型,它并非一成不变的教条,而是须根据实际需求、不同算法、不同应用环境进行反复迭代和不断完善才能达到预期目的。

根据CRISP-DM过程模型,下文将以存款流失风险的因子分析为例,并结合数据挖掘平台逻辑架构进一步探索风险数据挖掘过程的最佳实践。将风险数据挖掘的落地过程划分为8个阶段,如图5所示。

图中的圆表示数据挖掘系统的逻辑组件或模块,箭头表示组件或模块之间的数据依赖关系;文本框和边界符表示数据挖掘过程各阶段的名称和工作边界。下而结合存款流失风险因子分析的案例介绍各阶段的主要任务。

(一)商业理解

该阶段主要通过与业务专家进行沟通交流,完成下列任务:一是完成数据挖掘需求的收集、整理和分析,充分理解影响存款流失的因素和业务部门预期达到的目的;二是根据业务目标合理确定项目目标和项目边界;三是确定需求相关的背景数据和业务指标,定位存款相关数据的源表、字段含义,分析相关指标的口径;四是对于缺乏数据支持或者需求不合理情况予以提前剔除,不参与分析;五是形成初步的建模思路,初步确定利用因子分析的方法寻找影响存款流失的主要因素。

(二)数据理解

该阶段主要是从数据源中提取存款相关的样本数据,完成下列任务:一是对数据源进行熟悉、摸底,掌握存款数据库表分布情况,分析存款数据包含的属性,理解表与表、属性与属性之间的关系等;二是初步估测存款的数据质量,观察是否有缺失值、错误值等。

(三)数据准备

该阶段是在理解需求、初步掌握数据源和数据质量的基础上,完成以下列任务:一是数据清理,对噪声数据、缺失数据、不一致数据、错误数据进行处理;二是数据转换,采用线性或非线性的数据变换方法压缩数据维度,如用one-hot编码处理类别型特征变量、用主成分分析降维等。

(四)建立模型

该阶段是数据挖掘的核心部分,主要任务有:

一是在测试集上尝试不同的数据挖据算法,并比较其产生结果的效果、效率和稳定性,然后选择合适的分析方法,初步完成模型的建立;在存款流失风险因子分析中,通过不断变化公共因子个数,观察因子载荷矩阵中元素是否有两级分化的现象,旋转矩阵是否出现“海伍德现象”,因子贡献率是否达到较高水平等要素,从而不断地完善模型,直到较好的预测效果出现。

二是提交业务测试,通过业务测试发现模型缺陷;

三是根据业务测试建议不断调整因子及其个数,重新学习和训练挖掘模型,逐步优化,直到模型在不同的测试集上都呈现较好的预测效果,此阶段的模型测试和优化是一个反复迭代的过程。

(五)模型评估

该阶段的目的在于确定是否有关键的业务问题没有被充分考虑,如在存款外流风险因子分析中忽略了债券市场对存款外流的影响,当债券市场景气时,企业可能将资金投入债券市场,导致银行存款减少,在此种场景下,现有模型将无法解释存款减少的原因。为了防比出现类似遗漏,在模型评估中对于不同的模型需要不同的评估方法和观测指标,如因子分析中,着重关注“海伍德现象”和贡献率,在分类中关注准确度、回应率和反查等。

(六)结果部署

该阶段将经过评估后的数据挖掘模型部署到计算模型层,同时基于生产环境的全量数据进行挖掘分析并产生新的知识。

(七)知识同化

该阶段将分析所得到的信息和知识集成到业务系统中,即回写到知识层,为业务经营决策提供持久化的知识支撑。

(八)数据展示

该阶段是利用专业的图形图像处理技术,通过立体图、平而图、动画、地图等方式对知识进行解释和可视化展示。数据可视化是数据挖掘的业务接口,为业务人员从商务角度理解知识提供手段。

三、展望

相较于其他行业,数据己经成为银行业的核心基础设施与资产,大数据对银行业来说更具有潜在价值。银行业正处于转型发展的重要关口,应积极响应“十三五”号召,认识到大数据就是大资产的高度,制定大数据战略,践行大数据思维,充分研究利用云计算和大数据挖掘技术,为银行有效应对大数据的复杂性、动态性,并从中发现知识和价值形成智力资本提供方法保障,从而通过科技创新实现发展模式转型、金融创新和管理升级等,提升银行体系的竞争力和稳健性。

相关阅读
PC版  |  关于我们  |  联系我们
Copyright © 2011-2018 移动支付网
粤ICP备11061396号-5