智能风控决策引擎系统架构设计与开发实践

技术岁月

共 2406字,需浏览 5分钟

 · 2021-04-04

I.内容提要

前几天做客“技术琐话”直播间进行分享,本文根据分享内容整理出来。内容主要包括:
  • 风控决策引擎系统从架构设计到开发实践
  • 特征引擎系统及实时计算引擎
  • 模型引擎系统及智能风控引擎
  • 大数据风控-用数据驱动的风控全流程系统构建
II.风控决策引擎介绍
Q:互金领域的风险有哪些?

A:欺诈风险 、 信用风险、合规风险(监管要求)

Q:如何对抗风险?

A:通过大数据来构建规则和模型进行风险控制和风险预警

Q:业务规则和模型策略 如何落地?

A:通过决策引擎承载规则和模型的自动化实施和部署

51bc3bace0e0c8bb1f5bb40e8b6a6c96.webp

风控决策引擎,支持规则和模型的配置、管理、执行,支持通过专家经验和大数据机器学习进行风险控制。如图所示,风控决策引擎作为风控核心支撑组件,对风控管控起到重要的决策作用。

决策引擎作为系统,那么系统设计的功能目标和性能目标都有哪些?

f9db79693b14514e2d08af880f8d7c54.webpII.风控决策引擎开发设计

1.从一条规则开始抽象建模

f717f5071930bf20d2d5cc31b544765c.webp决策引擎就是将规则配置与程序代码分离,那么首先就要将规则配置抽象化
7c60b31d39caaa92f574b9d7050bf713.webp

这里依赖于基础运算符操作。

8a210db642ecddf869bc724a72c4c896.webp

根据特征类型不同,有不同的操作符。        

50b6f6b74a6338d5d5f3908d03f95012.webp

为了更好地系统易用性,需要进一步实现可视化规则配置后台。可视化后台,使用关系型数据库进行数据管理,然后在“发布”时统一转换为自定义特定领域语言 DSL

ac9bb81d9bf45ebb0d867f12dd6d9c50.webp此代码详细实现参阅:

决策引擎规则抽象实现

2.规则集

多条规则 集合在一起 组成一个规则集。335cac6e4586eb9f62a7aeabead2f4f7.webp规则集就是将所有规则打包一起执行,它的执行结果 = Max(Sort(规则执行结果, 优先级))ab879b76f47ab4f17da0d5ad609801b4.webp

3.决策树

树形结构来展示和构建规则

ccb60a997f20546eae2c1ed3de441c6f.webp

决策树:可以拆解为规则执行执行结果的组合决策

abb8f73f10f65b7f97e6109ee6b9051a.webpfc2af59d4639ea391d7e46c28172bca5.webp

4.决策矩阵

决策矩阵:包含横向和纵向两个维度的特征,通过两个维度特征的不同限制,交叉决策其结果。

b57b4b55c7a0b33e52fbb34c43e90c10.webp

此代码详细实现参阅:

决策树、决策表&决策矩阵实现

5.DSL 抽象总结

3220a8c9a4ce974406404d557767453d.webp

6.决策流

决策流:对不同的规则和决策进行流程编排,类似工作流。12c0f00eb42c21eb14ecf13260cf3d10.webp35764815ce27cda7fec0421e142267e8.webp决策流数据结构选型:d0a7d68b65a8aec6f6db1cb7c1965357.webpeaf399a516e886086f91862f754b7e24.webp

Pipeline 模型:管道模型。用链式串联不同节点组件,组成直线工作流。

ea8d8291ff4d8f32a1edbda58bfd8b83.webp

Rete 模型:构建成网络。区分alpha网络和beta网络。

1a4da5e6684c5eadefe5b0dc3eaf0c5d.webp此代码详细实现参阅:

决策流实现

7.总结决策引擎架构设计

d71a434818b709eaa4b829fed827b69e.webp

III.风控特征/指标处理

决策引擎的决策离不开特征的支持,特征又源自业务数据或业务日志衍生,所以特征加工和衍生也是风控开发重要的一环。先看看特征长什么样?

75d2efd61f66bae780b5ac756b2b0b75.webp

保障决策引擎的可复用性,可更好的支持不同的业务场景和业务环节,那么与业务耦合较重的特征,就需要解耦拆分出来,于是有了特征引擎43bc5bc6c5dd5eee8a12fec99516588b.webp3dd67a83974afbb31ea78cf2651771b6.webp

特征引擎,也有叫变量平台,为了保障风控决策的高效性和实时性,特征获取就必须足够高效,那么特征加工计算分为读时计算写时计算,写时计算也叫预计算。对一些复杂聚合类特征,还有融合计算,使用 Lambda 架构将聚合数据和明细数据再做计算。

保障系统高性能

  • 数据并发调用,并发计算
  • 增加数据缓存,特征(计算结果)缓存

  • 对计算处理耗时长的特征做预计算

  • 融合计算:历史聚合数据+最新明细数据进行融合计算

  • 异步化 ,分离实时和准实时

IV.引入智能环节:模型

规则在准入和反欺诈识别上有更好的应用。而模型可以通过更多维度特征的评估,用于识别团伙欺诈,识别信用风控。
工作的基本前提

  • 具有相同特征的数据具有相同的结果;

  • 历史的数据与未来的数据遵循同样的规律。

常用的建模方法:
  • 传统建模方法:评分卡建模

  • 基于大数据建模方法:机器学习、深度学习

eb2290acf06c0d8ff9b508d6bbcf8b32.webp关于评分卡建模详细实现参阅:

评分卡建模

b9de2b07b1981a82397663a28dc6071c.webp

关于机器学习建模详细实现参阅:

机器学习建模

V.可靠性保障

89b2f00d6b16100b232f866bacd1e2b5.webp
  • 做好监控和报警

  • 系统灰度陪跑,一致性比对

  • 新模型上线,先陪跑验证后进行决策

  • 策略发布,在决策流配置挑战者小流量分支,灰度验证

  • 线上数据引流测试

  • 数据过程快照和结果快照,通过模型平台回溯

  • 熔断限流,并设置默认值兜底

  • 制定 SLA 

  • ...

详细实现参阅:

监控大盘实现

VI.数据驱动智能风控系统架构全景图

5d9205057f4d2baa2ef136edb8fea301.webp

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 文本,这部分需要通过代码来实现,然后将解析好的特征存储到高性能缓存中。挖掘出的特征可配置到决策引擎中,决策引擎执行时依赖人行的特征,通过特征引擎获取高性能缓存中的特征。

决策引擎代码请关注公众号  技术岁月 ,发送关键字 决策引擎 获取。感谢您的阅读,欢迎大家点赞分享。

浏览 231
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报