写点什么

风控建模流程:以京东群体感知项目为例

  • 2019-08-28
  • 本文字数:3321 字

    阅读完需:约 11 分钟

风控建模流程:以京东群体感知项目为例

业务需求挖掘


任何项目的起源,都是从需求挖掘开始的,不可能一蹴而就,会经过多次循环。这体现了作为数据分析师和建模人员的功力,可能有的业务要 A,你就给他 A,而没有往下深入几个层次进行考虑,因为有的时候,可能业务的需求自己也没有想清楚需要的是什么,这和传统的软件工程是一样的,所以宁可在这里多花一点时间,也好过到后面踩坑之后,在回来重新挖掘需求


① 目标


  • 找出关键变量(与判断项目成功与否的指标相关,最好的方法就是定义几个场景,比如做风控,是坏账率下降,还是机注量下降了,或者其他指标),并把关键变量作为模型目标

  • 识别业务已经使用或者需要获取的数据源


② 实现方法


  • 定义目标,与用户以及其他利益相关方一起理解,识别业务问题,并构建多个问题(这些问题要能定义出业务目标同时也能作为建模的目标)

  • 识别数据源:基于问题找出能帮助回答的数据源,越多越好


③ 交付物


  • 项目需求文档(比如 A、B、C 三个场景,机注量下降 2%,或者坏账率下降 1%等等)

  • 数据源梳理,有几张宽表,有几个数据源,都需要弄清楚


④ 业务方的诉求与抱怨



业务方的诉求与抱怨,抽象来说就是多、快、准、省:


  • :在风控反欺诈领域,对于抓黑产,召回率越高越好。

  • :实时反应,不能等到 T+1 时间过去了才反应,比如拼多多的风控事件,不仅仅需要做到实时,最好做到事前,并且可以发出告警,提示哪个环节被攻击。

  • :准确率(auc,roc 曲线)大家都比较熟悉,尤其对于金融风控,准确率要求更高。

  • :省心,傻瓜式操作,不需要告诉具体指标的含义。对于模型,只需提供给业务方 0 或 1 即可。


所以,对于业务的诉求和抱怨,就在这四个字之中,当我们接到群体风险感知这个 Case 时,我们首先需要做的就是:定义群体风险感知(为什么叫群体而不叫团伙?),明确业务场景,找出业务痛点。


两个场景:


  • 一堆人来买我的货,我不会认为他们是坏的人;

  • iphone 新品首发,黄牛带货,对我的品牌或者收益造成损失,这时,我们需要进行控制打压。


所以我们交付的东西,需要是中性的,把模型看作一把刀,具体刀用来做什么,由业务来决定


⑤ 需求分析



风险未知可能出现的状态:


  • 少量交易造成巨大损失(例如:网络舆情事件,诈骗,网络攻击等)

  • 大量交易造成巨大损失(例如:拼多多事件,上万个账号薅优惠券,然后快速的变现)


黑灰产的主要特征:


  • 逐利性(不断升级,不断寻找漏洞):由于他们是在为自己牟利,没有 kpi 没有 996,甚至一天可以更新迭代 4 个版本,他们自己干的很起劲。

  • 群体性(短期,快速,大量获利)目前成熟的电商,基本上不会让一个账号短时间内下很多单了,现在的黑产为了达到短期快速大量获利,一般使用群控手机,即用软件控制几百台手机,尤其在 6·18 和 11·11 时,给我们造成的压力也是比较大的。


项目的定义:


以黑灰产群体作为特征指标,发现交易链条上可能存在的漏洞增强防控能力,提高黑产成本(黑产本质上是生意,风控人员不是为了消灭黑产,是为了让他们这门生意做不下去,明面上是技术的对抗,实际上是成本的对抗)。


⑥ 项目目标


监控指标体系与异常发现(输出结果形式):


  • 线索账号的线索:某个特定群体的行为(观察某个小白鼠在迷宫里的行为特征)

  • 群体维度线索:多个群体聚集情况(观察一群小白鼠在迷宫里的群体共同行为)


监控指标体系与异常发现(输出结果内容):


  • 聚集性指标,灵活制定规则(告诉业务方,商品、库存、优惠劵是不是被攻击了)

  • 提前发现风险点,预警后续环节(黑产领券之后,会不会有什么大动作,需要提前预警)

  • SKU,优惠券,订单,相关账号(我们有一个评分,一旦被群体模型识别,就打一个黑标签,让风险值变高)

  • 新的套利,作弊方式,交易漏洞(将黑产规律输出给分析师,分析黑产的作弊方式以及交易环节的漏洞)

数据获取与理解


数据获取与理解,主要分四个部分:数据源(在哪分布,可能需要做数据同步,也有可能需要买一些服务,定期做 API 的推送,需要把数据源定义清楚),数据管道(如何做清洗、加工,如何接入到模型中),开发环境(根据数据规模,选择开发环境),数据整理、探索、清理:结构化、非结构化,数据验证与清理,可视化等等。


① 目标


  • 产出一个干净、高质量的数据集,充分的理解数据集和项目目标变量的关系

  • 把数据集放置在一个适合开发环境以便进行后续建模

  • 开发数据管道的解决方案,定期对数据进行刷新


② 实现方法


  • 将数据导入目标分析环境

  • 研究数据以确定数据质量是否足以回答项目要解决的问题(PS:前段时间比较火的生物探针技术,可以获取一些黑灰产的特征,但这项技术落地的时候,回收的数据缺失率很高,很难得到应用)

  • 设置数据管道来抽取新的数据或者定期刷新数据


③ 交付物


  • 数据质量报告

  • 数据管道架构

  • 可行性评估


④ Tity Data(with Pandas)


具体地址:http://pandas.pydata.org 包含了语法的介绍,重塑,聚合,缺失数据处理,窗口函数,可视化等等。




⑤ 数据维度



我们从静态数据和动态行为数据俩个角度来构建立体多维群体行为画像:


  • 静态数据

  • 注册信息画像:时间,设备,ip,渠道

  • 登录信息画像:时间,设备,ip,版本

  • 动态行为数据


假设 A、B、C 三个账号由同一个人控制,那么每次有活动他们就一起来了,可知道他们是一伙的,如何把这三个人每次活动一起来这件事儿,通过数据来描述好加工出来,供后面的模型使用,这是我们当时研究的重点。


动态行为数据包括:


  • 浏览行为画像:时间,设备,ip,渠道(同静态相同,但是是账号之间的比较)

  • 下单行为画像:商品信息,时间信息,设备,ip,地址,优惠券, 支付

  • 领券行为画像:频率,使用周期

建模


建模的三个主要模块


  • 特征工程:特征处理,数值,文本,图片,特征选择

  • 模型训练:参数调优,模型管理

  • 模型评估:交叉验证,模型报告,A/B 测试


① 目标


  • 确定要输入模型的数据特征

  • 选择一个最能满足项目要求的模型(如果这个项目以准确率为最核心的 KPI,可能 A、B、C 三个模型都各有所长,有的效率高、有的速度快、有的召回率高,这时就需要按要求选择)

  • 模型参数调优,针对生产环境做优化(A/B TEST)


② 实现方法


  • 特征工程

  • 模型选择(分类、聚类、有监督、无监督、深度学习、强化学习)

  • 模型训练(如何调优)

  • 评估模型在生产环境的适应性


③ 交付物


  • 特征集

  • 模型报告


④ 算法模型路径选择


  • Sklearn 算法选择路径图(这是目前网上比较流行的模型选择路径,大家可以根据业务的具体需求来选择模型);



  • 微软的模型选择路径:



⑤ 群体风险识别建模



  • 用户类型:正常消费,新增疑似黄牛用户,黄牛 &众包用户

  • 行为轨迹:多种数据源,多种维度,寻找在时间,空间,行为的聚集性

  • 模型输出:发现时间,空间,行为上的聚集性


⑥ 静态特征识别



  • 关系图,聚类:Louvain,Fast Greedy,Markov Cluster,Info Map,Walktrap。

  • 图计算的社区发现(前人的一些经验):



  • 常用算法比较:




⑦ 动态特征识别



这是我们归结出来的数据底层形式,包括:时间,活动场景,下单账号几个维度。


群体划分(聚类问题):距离的选择对聚类的结果影响巨大


部署


部署的时候需要考虑的两个关键因素:评分和效果监控



  • 目标:把模型和配套的数据管道部署到生产环境

  • 实现方法:推荐 api 接口形式部署模型

  • 交付物:监控报表,模型说明文档(输出和部署细节),数据管道说明文档

用户应用

① 目标


  • 完成项目交付


② 实现方法


  • 验证部署好的系统的功能性和准确率,满足业务需求

  • 所有文档都要完成并进行审阅

  • 项目交接工作可能是交给 IT 运维部分或者是用户的数据团队甚至可能是业务团队


③ 交付物


  • 项目交付报告


④ 业务应用架构



用规则引擎(实时计算、多重规则、实时指标),模型引擎(模型管理、模型部署、模型运算),决策引擎(策略管理、策略可视化、策略路由)连接数据中心和用户行为。


⑤ 设计多层次风控场景策略



  • 标准策略:标配,黑白名单,评分

  • 定制策略:针对不同的经营周期动态调整策略

  • 场景策略:针对渠道,行为维度

  • 弹性策略:场景策略和定制策略中增加弹性指标,用于业务变化,紧急升级和降级


作者介绍


曾军崴,京东集团智能风险感知实验室架构师。北航博士,从事数据科学工作多年,有译著《 python 基础教程》。


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247493097&idx=1&sn=4fcd2a5f3efb9fb2850ebc506b2579b7&chksm=fbd75785cca0de93a93b3c301893a27aa62ffc2b05c2b9524d16fc3175e7cb493d278f878451&scene=27#wechat_redirect


2019-08-28 08:006816

评论

发布
暂无评论
发现更多内容

同样是初级测试,凭什么他比我薪资高5000块?

程序员阿沐

软件测试 自动化测试

字节跳动8年老Android面试官经验谈,看完跪了

欢喜学安卓

android 程序员 面试 移动开发

浪潮云荣获“2021中国智能运维领导厂商”奖项

maven安装与核心概念全面

IT视界

maven

《面试补习》- 多线程知识梳理

九灵

Java 面试

2021年最危险的七大攻击技术,我不信你不知道

网络安全学海

程序员 网络安全 信息安全 漏洞扫描 攻击技术

腾讯云EMR基于YARN针对云原生容器化的优化与实践

腾讯云大数据

mapreduce

Pandas高级教程之:category数据类型

程序那些事

Python 数据分析 pandas 程序那些事

不为人知的网络编程(十三):深入操作系统,彻底搞懂127.0.0.1本机网络通信

JackJiang

TCP 网络编程 即时通讯 IM

以贝叶斯之名寻找规则模型 Falling Rule Lists

索信达控股

金融科技 模型 贝叶斯公式 用户模型 模型开发

379页满满的精华!2021版“深入骨髓层”JDK源码小册已封神

Java架构追梦

Java 阿里巴巴 架构 面试 jdk源码

字节跳动移动架构师学习笔记,一文说清!

欢喜学安卓

android 程序员 面试 移动开发

新思科技按需提供渗透测试服务 帮助MATESO识别业务重大漏洞,降低信息泄露风险

InfoQ_434670063458

渗透测试 新思科技 MATESO

网络攻防学习笔记 Day58

穿过生命散发芬芳

网络攻防 6月日更

flutter_bloc使用解析---骚年,你还在手搭bloc吗!

小呆呆666

flutter ios android 大前端

持续交付时代,Scrum中还有必要进行 Sprint Review 么?

万事ONES

项目管理 敏捷开发 持续交付 ONES

Redis——NoSQL数据模型及分类

Java 程序员

图解Git工作原理

Java 程序员 面试

华为云GaussDB持续技术创新,论文入选SIGMOD2021顶会

华为云数据库小助手

数据库 分布式 GaussDB 华为云数据库

Spring Cloud Alibaba 优势在哪?未来会如何演进?

Java架构师迁哥

提高项目管理效率,技术管理者该怎么做?

万事ONES

项目管理 技术管理 ONES

Java后端,想找一份20k以上的工作需要掌握哪些知识?

Java架构师迁哥

深入解读 Flink SQL 1.13

Apache Flink

flink

什么是ReadWriteMany?

焱融科技

Docker 容器 云原生 高性能 Kubernetes从入门到精通

Ipfs矿机收益Ipfs矿机一天收益

比特币 区块链 IPFS

【技术】MediumKube- 快速部署容器云的开发环境

星环科技

云计算 容器 开发工具 开发环境

Gopher China 2021,未来可期

非晓为骁

个人提升 架构师 Go 语言 GopherChina gopher

20位大佬,勾勒出一个中国网络安全江湖

学神来啦

网络安全 信息安全 云技术

推荐5个免费YouTube视频下载方法

资源君

分享 工具软件 教程 youtube视频下载 下载youtube视频

干货!!学习CSRF跨站请求伪造,看这一篇就够了

网络安全学海

网络安全 安全 CSRF 渗透测试 漏洞修复

币安智能链DAPP系统开发

Geek_23f0c3

DAPP系统开发 #区块链# 币安智能链

风控建模流程:以京东群体感知项目为例_文化 & 方法_DataFunTalk_InfoQ精选文章