智能风控决策引擎系统架构设计与开发实践
I.内容提要
前几天做客“技术琐话”直播间进行分享,本文根据分享内容整理出来。内容主要包括:- 风控决策引擎系统从架构设计到开发实践
- 特征引擎系统及实时计算引擎
- 模型引擎系统及智能风控引擎
- 大数据风控-用数据驱动的风控全流程系统构建
Q:互金领域的风险有哪些?
A:欺诈风险 、 信用风险、合规风险(监管要求)
Q:如何对抗风险?
A:通过大数据来构建规则和模型进行风险控制和风险预警
Q:业务规则和模型策略 如何落地?
A:通过决策引擎承载规则和模型的自动化实施和部署
风控决策引擎,支持规则和模型的配置、管理、执行,支持通过专家经验和大数据机器学习进行风险控制。如图所示,风控决策引擎作为风控核心支撑组件,对风控管控起到重要的决策作用。
决策引擎作为系统,那么系统设计的功能目标和性能目标都有哪些?
II.风控决策引擎开发设计决策引擎就是将规则配置与程序代码分离,那么首先就要将规则配置抽象化。1.从一条规则开始抽象建模
这里依赖于基础运算符操作。
根据特征类型不同,有不同的操作符。
为了更好地系统易用性,需要进一步实现可视化规则配置后台。可视化后台,使用关系型数据库进行数据管理,然后在“发布”时统一转换为自定义特定领域语言 DSL。
此代码详细实现参阅:多条规则 集合在一起 组成一个规则集。规则集就是将所有规则打包一起执行,它的执行结果 = Max(Sort(规则执行结果, 优先级))2.规则集
3.决策树
用树形结构来展示和构建规则
决策树:可以拆解为规则执行和执行结果的组合决策
决策矩阵:包含横向和纵向两个维度的特征,通过两个维度特征的不同限制,交叉决策其结果。4.决策矩阵
此代码详细实现参阅:
5.DSL 抽象总结
决策流:对不同的规则和决策进行流程编排,类似工作流。决策流数据结构选型:6.决策流
Pipeline 模型:管道模型。用链式串联不同节点组件,组成直线工作流。
Rete 模型:构建成网络。区分alpha网络和beta网络。
此代码详细实现参阅:7.总结决策引擎架构设计
III.风控特征/指标处理
决策引擎的决策离不开特征的支持,特征又源自业务数据或业务日志衍生,所以特征加工和衍生也是风控开发重要的一环。先看看特征长什么样?
保障决策引擎的可复用性,可更好的支持不同的业务场景和业务环节,那么与业务耦合较重的特征,就需要解耦拆分出来,于是有了特征引擎。特征引擎,也有叫变量平台,为了保障风控决策的高效性和实时性,特征获取就必须足够高效,那么特征加工计算分为读时计算和写时计算,写时计算也叫预计算。对一些复杂聚合类特征,还有融合计算,使用 Lambda 架构将聚合数据和明细数据再做计算。
保障系统高性能:
- 数据并发调用,并发计算
增加数据缓存,特征(计算结果)缓存
对计算处理耗时长的特征做预计算
融合计算:历史聚合数据+最新明细数据进行融合计算
异步化 ,分离实时和准实时
规则在准入和反欺诈识别上有更好的应用。而模型可以通过更多维度特征的评估,用于识别团伙欺诈,识别信用风控。
模型工作的基本前提:
具有相同特征的数据具有相同的结果;
历史的数据与未来的数据遵循同样的规律。
传统建模方法:评分卡建模
基于大数据建模方法:机器学习、深度学习
关于机器学习建模详细实现参阅:
V.可靠性保障
做好监控和报警
系统灰度陪跑,一致性比对
新模型上线,先陪跑验证后进行决策
策略发布,在决策流配置挑战者小流量分支,灰度验证
线上数据引流测试
数据过程快照和结果快照,通过模型平台回溯
熔断限流,并设置默认值兜底
制定 SLA
...
VI.数据驱动智能风控系统架构全景图
VII.QA环节
Q:开发特征就是 flink sql 吗?
A:flink sql 对聚合类指标特征能较好实现。除此外,还有代码计算特征,融合计算特征等不同方式。
Q:规则引擎结果怎么回溯?
A:保存决策引擎计算时所有数据快照,特征,以及决策结果,通过回溯平台回溯。
Q:怎么同时支持反欺诈场景和现金贷?
A:决策引擎是一种通用能力,通过与不同的规则和决策配置,可以支持不同的决策类型;决策引擎与业务之间通过业务中间件系统来进行语义转换。
Q:规则引擎用的哪家的?
A:自研的,golang 演示版 通过 DSL 抽象 + govaluate 计算实现,java 版本还可以通过 groovy、drools 或 qlexpress 等开源实现。
Q:特征计算时三方数据怎么处理?
A:简单的通过自动化配置解析结果字段,复杂的需要对结果进行二次加工,通过代码实现。在特征引擎完成数据处理。
Q:先跑特征还是先跑规则?
A:不同的业务场景有不同的实现方式,决策引擎需要同时兼容两种方式。对一些简单业务场景,可以将特征都加工好后一起送进决策引擎,这样可以更高效的出结果。而复杂决策流,可能会先配置内部特征规则,如黑名单类,触发就不再继续执行,通过内部规则后可发起调用三方收费数据,加工特征,再进行规则决策。
Q:模型特征和规则策略特征来自同一特征引擎吗?
A:是的。有时特征和模型用的特征是一样的。不过一般情况下模型用特征结构更复杂,维度更多,所以一般特征引擎也会有类型区分和加工方式区分。
Q:人行征信数据怎么支持计算出不同特征?
A:人行征信数据,需要先进行解析,有时是 pdf 文本,这部分需要通过代码来实现,然后将解析好的特征存储到高性能缓存中。挖掘出的特征可配置到决策引擎中,决策引擎执行时依赖人行的特征,通过特征引擎获取高性能缓存中的特征。
决策引擎代码请关注公众号 技术岁月 ,发送关键字 决策引擎 获取。感谢您的阅读,欢迎大家点赞分享。