大数据全流程平台在互联网金融的实现

  1. 云栖社区>
  2. IT168>
  3. 博客>
  4. 正文

大数据全流程平台在互联网金融的实现

青衫无名 2017-09-01 14:29:00 浏览1992
展开阅读全文
文章讲的是大数据全流程平台在互联网金融的实现本文根据【2016 第八届中国系统架构师大会】(微信搜索SACC2013,关注系统架构师大会公众号)现场演讲嘉宾侯松老师分享内容整理而成。录音整理及文字编辑IT168@ZYY

  讲师简介

大数据全流程平台在互联网金融的实现

  侯松,负责姨搜大数据风控的各种数据产品和基础设施,协助宜信各产品线和业务方提升风控水平。提供的产品包括用于异构数据融合的知识图谱系统、定制化的风险搜索引擎、易用且高效的决策引擎、结合了特征管理共享和数据挖掘的风险分析平台等,同时还包括支撑这些产品的各种底层系统,包括Hadoop、Hbase、Hive、Spark、Elasticsearch、Azkaban、Jena、Sqoop、Flume等,以及一些自研系统。加入宜信前,就职于新浪信息系统部,负责Hadoop集群及各种周边系统的开发维护和优化,经历了系统由小变大、由简单到复杂高效的全过程。侯松毕业于新加坡国立大学计算科学系,获硕士学位。

  正文

  如果有这么一家公司,它把数据视为它的生命线,那么它对数据系统一定有非常非常多的需求,它可能会要求它们的数据系统足够灵活,可以非常方便的加减数据源,它可能需要实时查询裸数据,也有可能对这个数据进行各种各样的计算,它还有可能去提高每次访问的实时性,同时也有可能提高批量离线分析时的性能以及水平扩展能力,如果你是一个架构师,你会怎样设计这套系统呢?

  大家下午好,我是来自宜信的侯松,我今天分享的主题是《大数据全流程平台在互联网金融场景下的实现和借鉴意义》,在宜信,我所在的组叫姨搜,我们组所成立的目的是帮助整个宜信建立风控相关的各种数据系统,以及提供各种基础设施和支持,在过去差不多两年和三年的时间里,我们其实也踩过很多坑,有各种各样的经验,接下来的半小时,我想跟大家分享我们过去的一些经验以及获得的一些思考。

大数据全流程平台在互联网金融的实现

  我的分享主要分为四部分:我们是谁,理解风控,理解用户,风控系统的架构设计。因为我们所在的是风控系统,我们做出来的系统不是全自动的,无人坚守的,我们有很多的用户,用户对我们的系统有什么样的需求呢?在对风控和对用户需求的理解之上,我们应该如何去设计这套系统,才可以保证既能满足用户各种差异特别大的需求,又能满足风控对数据系统差异非常大的要求。

大数据全流程平台在互联网金融的实现

  宜信已经超过十年了,有着非常稳健的经营历史,宜信以P2P金融起家,现在已经是特别大的综合性金融集团了,姨搜组为整个宜信提供了很多风控相关的支持,比如基础数据服务,模型服务,类似于搜索引擎和知识图谱的服务,以及角色引擎等各种各样的设施,接下来我会简要的提一下。

大数据全流程平台在互联网金融的实现

  简单来说,风控不是非常广义上的风控,我具体说的风控是个人信贷场景下的风控设施和对风控本身的理解。首先看一下风控产品有哪些组成部分,可能和一般的互联网产品有一些区别,接下来是基于数据的风控,什么数据是有用的数据,风控是风险,什么样的原因导致了风险?这些数据以及这些风险是什么样的关系?有没有可能通过数据准确的判断出风险呢?

大数据全流程平台在互联网金融的实现

  首先介绍一下信贷产品,上图所示,越靠上的越靠近产品业务本身,越靠下的越靠近实现以及偏技术的实施,大家能很明显的看到,处于中间部分的风控策略是整个信贷产品最核心的部分,风控策略的优劣决定了风控产品本身核心资产的质量,风控策略最核心的是预测模型,根据一个人的各种数据来判断这个人的风险,那这个预测模型是怎么来的呢?一般会经过大量的数据分析,然后在运行的过程中,这个模型并不是瞎眼在跑,我们会提供各种监控和风险的指标报警,这个模型以及整套系统,都有相关的数据系统提供支持,数据系统最后会对接各种各样的数据源。

  信贷场景和传统互联网企业非常不同的地方在于,我们的自有数据比较有限,但我们会用各种各样从第三方拿过来的数据来补充我们自身的数据,所以说这个数据会和那种动不动几千台的大规模数据面临的难点不同。

大数据全流程平台在互联网金融的实现

  关于数据的理解,现在的技术越来越多,我们可以获得和处理的数据量和种类也越来越大。早期我们可能只关心某一个具体的数字或指标,但现在我们有了非常先进的可以理解自然语言的各种算法包,我们就可以对自然语言的数据进行分析,特别常见的有活体识别,人脸识别等,这就是应用的各种各样的数据,而数据的收集在信贷场景下可以分为两种:被动收集和主动收集,比如,如果一个借款人到我们公司来借款,他可能就需要提交各种数据,这个数据本身并不是我们主动追要的,或者通过各种方式获取的,这就是被动收集,他之后的健康表现也同样属于被动数据。主动数据可以分为两种,第一种是,如果这个人过来借钱,他提供的基础数据对我们来说并不够用,我们就会通过各种各样的方式,通过基础数据去扩展出其他有意义的数据;第二种比较有意思,有时候为了实验,我们会有目的的放出一批“高风险”的用户进来,这批人不一定真的有风险,而只是被线上模型拒绝的一批人,为什么要做这样的实验呢?如果要上一个新模型,新模型对于实际的人群会有什么表现呢?如果我们用线上的数据肯定是不对的,所以我们需要这类实验得来的样本,这样我们所得到的后续的判断才是准确的。同时,大家心里应该有数,不同的数据有不同的价值,但真正使用时,不见得大家能够分的清楚,比如,很多人对于社交数据在金融领域的用途非常感兴趣,这些数据对金融企业有没有用呢?诚实的说,是有些用处的。但用处到底多大是和具体场景有关的,另外一点需要考虑的是除了数据本身的价值之外,数据还是有成本的,你从这个数据获得的价值是不是大于成本呢,这也是一件值得思考的事情。至于如何确定数据的价值,就像主动收集的第二种方式一样,需要做各种各样的实验才能判断出数据的价值。

大数据全流程平台在互联网金融的实现

  接下来是个人借款的风险。一般来说,个人借贷风险分为两种:欺诈风险和信用风险,一般来说欺诈风险更高,欺诈风险分为两种:一种是第三方欺诈,还有一种是主动赖帐,第三方欺诈可以通过各种方式,比如,通过多要素借权来确定这个人到底是不是本人,通过各种社团分析尝试找出中介。除了第三方欺诈之外,主动赖帐包括信用风险里的财务收入、支出管理以及不良嗜好,其实最后都可以归结到这个人本身的素质,比如,他喜好赌博,他的信用风险就比较明显了。对于数字社会来说,要找出个人特征或者个人的行为模式,肯定是基于数据风险来判断的,接下来就看一下数据与风险之间的关系。

大数据全流程平台在互联网金融的实现

  这里的风险主要还是信用风险,我们更关注的场景是个人信贷场景,个人信贷场景有些特点,比如,每次的借贷量非常小,但是人数众多,可以积累出大量非常有用的数据,数据量增多之后,就可以建立统计模型。另外一个特点是,个人信贷对于费用特别敏感,所以必须通过各种方法降低费用,这个产品才能有盈利的可能,降低费用最自然的想法就是用自动化的方式做出大部分判断,剩下一小部分判断人为进行,这就用到了统计模型。

  第二点是相关性和因果关系,很多人可能都会在这件事情上犯错,比如,某位银行职员发现,额度越大的人违约率越低,那我们是不是就要提高所有人额度呢?这就是没有搞清楚相关性和因果关系的区别,很多时候我们找不到明确的因果关系,但如果存在非常明显的相关性,就可以放心使用。

  第三点,如何发挥数据的最大用处。如果是单个数据,我们能找到的价值是有限的,如果把很多数据进行整合,就能发现出更多、更有意思的特性,比如,我们有借款人的通讯录数据,就能做很多事情。

  第四点,利用我们整合得来的裸数据,进行各种各样的简单特征加工、组合特征以及复杂特征加工。

  最后是实际的风控模型,大部分场景应用的风控模型比较简单,但对特征变量的质量要求很高,可能没有特别复杂的模型,但效果一样就可以做到特别好。风控对数据有什么样的需求呢?我们所需要的数据种类繁多,还经常需要加数据,如何用这些数据就是对系统要求的一大难点。

大数据全流程平台在互联网金融的实现

  接下来看一下用户有什么样的需求,我们的用户可以分为三类:第一类是风控政策人员;第二类是数据科学家;第三类是产品工程师。接下来会大概说一下这三类用户都会有哪些特性以及需求。

大数据全流程平台在互联网金融的实现

  一般来说,风控政策人员对金融市场以及产品有非常丰富的经验,一般会有统计分析的背景,但复杂算法和编程能力比较弱,同时一般只负责单个产品,对其他产品的理解比较有限,会有什么样的需求呢?风控政策人员实际是为这个产品的风控质量来负责的,所以需要非常灵活方便地控制风控政策的执行。因为信贷场景下有一个不太成文的规定,风控政策需要和信贷产品的开发、运营人员严格分开,所以风控政策人员需要把风控政策包装成一个别人都看不到的黑箱。第二点需求是,由于信贷产品的历史分析和报表非常重要,所以需要有执行理事的BI报表和报警机制。第三点是政策分析和回测,因为他们需要一个比较好的场景把他们的一些想法实验出来,跑了很多轮测试之后,才可能把它放到生产环境下执行。最后一点也是公司发展到一定阶段之后会想的事情,就是跨团队合作。

大数据全流程平台在互联网金融的实现

  第二类,数据科学家,对于数据挖掘和机器学习有很深的理解,同时对数据会有比较好的感觉,有一定的编程能力,但是编程能力不如专业的开发人员好,那会有什么样的需求呢?需要有非常清晰的数据定义以及数据流程,这样才能比较好的工作。第二点,需要高性能的计算集群和基础设施。第三点,多人协作以及跨团队的合作能力。最后也是比较有意思的一点,把研究成果轻松便捷的使用到生产环境上,生产环境的负责人是风控政策人员,他们是否信的过数据科学家的研究成果,这是一个问号。

大数据全流程平台在互联网金融的实现

  最后是产品开发工程师,他们是比较专业的Coder,一般来说排期会比较紧张,需要提高系统的稳定性和性能,需求也比较简单,就是希望对接工作尽量简单,需要有完善的文档和测试环境,监控报警以及有专门的团队能在他们需要帮助时及时伸出援手。

  以上就是我们的三类用户,每一类对系统都有一些自己的需求,如何在风控系统中同时满足这三类用户差异非常大的需求?同时,又能在理解风控的基础上,对各种数据的支持以及整个系统的数据流转做出非常好的反应?

大数据全流程平台在互联网金融的实现

  接下来分享我们是如何做这种非常复杂的数据系统设计的,首先看一下总体结构,接下来是三个最核心的组件:分别是数据整合部分、政策执行部分以及最后实验分析的部分。

大数据全流程平台在互联网金融的实现

  首先是总体结构,总体结构分成三类:最下面的是提供数据的基本能力,包括数据的融合能力以及从各种地方拿取数据的能力,提供实时访问以及高性能离线分析。右上角的是分析平台,它所做的事情,一是数据挖掘工程师可以在上面实现他们的各种想法,二是风控政策人员根据需要制定政策,对政策进行修改,这时他们需要有一个非常好的环境,帮助他们更好地工作,分析平台的输入就是数据整合部分所提供的离线数据,它的输出就是决策执行部分实际运行的线上模型。第三部分就是决策执行部分,风险政策人员将得到的风控政策放在此处,它会实时拿取数据整合部分的数据,然后对线上产品进行决策和反馈。

  首先看一下数据整合部分,我们在数据整合部分用到了一个非常有意思的概念,如果大家对于搜索引擎比较熟悉,比如,百度和谷歌,就会经常听到知识图谱的概念,在这也借用了知识图谱的概念,知识图谱会把各数据原来的数据进行有意义的整合,整合到一起之后,形成一个统一的视图,这个视图包含了各种各样的数据,对我们来说,其实需求是一样的,我们需要各种地方过来的数据,然后把它整合到同一个系统里,我们向外提供的各种服务就会更加整洁,为添加新的数据源以及执行各种分析提供了一个非常好的环境。

大数据全流程平台在互联网金融的实现

  上图最中间的部分是图数据库,它有许多功能,比如,实时访问,离线分析时跑一些分析任务,提供全文检索,进行各种图运算。它的输入有各种数据源通过ETL进来的数据,爬虫系统进来的数据,合作第三方拿过来的数据。它的输出可以是一些直接的裸查询,也可以提供近似自然语言的查询,我们提供了一个非常有意思的查询引擎,大家可以把查询引擎理解成数据库中的SQL语句。

大数据全流程平台在互联网金融的实现

  第二部分也是我们比较主要的对外接口部分——决策引擎。两个虚线之间的是决策引擎的核心组件,虚线左边开放给开发人员看,他们只知道有一个API,我们把信息通过API发进去,然后返回一个结果。靠右侧虚线的是风控政策人员使用的,他们可以对实施的细节进行各种修改,可以看到各种监控指标。

  这些有什么用呢?从左侧进来的是非常简单的信息,比方说性别、身份证之类的信息,通过该信息去知识图谱里尝试丰富该数据,可以加很多数据进去,这就相当于丰富化。接下来会对该信息代表的个人做各种各样的特征变量提取,需要各种特征提取流程。除了特征本身,还可以执行各种模型预算,最简单的可以是评分卡或者LR模型运算,对于结果以及特征变量可以跑各种规则以及模型去尝试得出结果,对于执行日志会收集起来进行各种聚合和报表展现。

  接下来是实验分析部分,刚才提到风控政策人员需要做的事情就是对线上模型的修改和创建新的模型,同时需要有非常好的执行环境,我们这一部分的展现形式是一个网页页面,它上面有很多模块,可以随意拖动,进行各种配制,这个实验分析平台和决策执行部分其实是紧密相连的,中间部分是对用户信息的特征提取以及模型运算,这一部分在实验分析平台里是一模一样的,不需要修改任何东西就可以直接跑,所以说我们从实验分析平台里得到的结果,可以完全无改动的直接应用到线上环境,这是特别好的点。

大数据全流程平台在互联网金融的实现

  下面是详细介绍,我们把它分为两个层次,基层是逻辑层,展现给用户看的,该层首先你要读数据,之后对数据进行筛选,以及做Sample操作,特征提取,再往后是模型执行部分,可以设置模型,对模型进行预跑,对得出的结果进行可视化,用户如果对可视化的结果满意就可以直接使用,如果不满意就回去重新调。值得提出的一点是我们的这个流程不是写死的,这只是一个最简单最普通的流程,流程里面的每个模块都可以随意叠加,你可以做出非常复杂的结构,这里的结构严格对应着决策引擎中执行的结构,所以线上环境和离线分析环境是一模一样的。我们的数据存到HDFS的数据源中,现在的执行以Spark为主,之后对执行出来的结果进行可视化展现。

  我们对风控的设计肯定是对风控本身有很多理解,如何实现用户的需求,每一点都牵扯到我们对系统的设计,以及我们如何用创新的方式实现。

  最后做一个小小的广告,对于金融或者信贷来说,市场非常大,但目前说实话能做的特别好的公司真的不多,如果大家对于互联网金融,或者金融行业感兴趣的话,可以来找我们聊一下有没有合作的方式或者想加入我们,都是欢迎的,有各种各样OPEN的职位。

  我今天的分享到此结束,谢谢大家!


作者:zyy

来源:IT168

原文链接:大数据漫谈:Spark如何引燃机器学习?

网友评论

登录后评论
0/500
评论
青衫无名
+ 关注
所属团队号: IT168