风控模型算法
Ⅰ 笔记:内容业务风控的业务模型
一、背景
● 内容平台,无论是自媒体、社交博客、视频直播类,在流量充足后面临更多的问题监管审查,头条、微博、知乎等UGC平台均被约谈乃至整顿过,严重的诸如内涵段子等责备关停。
● 繁荣的UGC下面深藏危机乱象丛生,受利益驱使,黑产自然不会放过内容平台这块肥肉,平台成了间接作恶工具,自然给企业带来源源不断的麻烦、损失。
二、来自内容的风险主要有两类
2.1监管风险
2.2用户体验损害
● UGC平台充斥大量广告导流、欺诈广告,导致用户体验变差、用户流失、平台受损。
三、内容风控的四个发展阶段
● 对于内容风控的进化阶段
A、无人监管,面临极大的监管风险
B、全部人工审核,人工成本高,难以应对数据大幅增长、响应速度慢
C、机器审核+人工审核,人工成本稍高,数据处理量大,响应较快、机审准确率低。
D、AI审核,响应快、准确率高
● 由于AI还在发展阶段,大规模应用不成熟,所以现阶段大多公司推行机器审核+人工审核的形式。本文也威少机审+人审的模型进行产品说明。
四、风控的原则
轻管控:在出现风险,需要阻断用户操作时,阻断动作宜轻不宜重。能仅自己可见就不要阻止用户发布内容。同时被阻断后文案,下一步出口都需要照顾用户感受。看似简单,其实背后涉及到对用户风控行为以及对用户风控阻断动作的分层管理。
重检测:通过尽可能多的获取用户信息(包括静态及动态数据),由规则引擎进行实时或离线计算,来动态分析每个用户及采取行为的风险程度。这里需要尽量全的数据来源,以及非常强大的规则引擎,才可以实现良好的检测效果。
快响应:是指在检测出用户存在的风险后,如何快速的进行阻挡。这里的重点是快,则意味着对业务的理解要细,提前在关键动作进行布局,才可以做到尽可能减少损失。
● 业务风控的业务模型主要分为六层,分别为数据输入层,数据计算层,数据输出层,运营管控层,业务接入层以及用户触达层。
● 上面三层,是偏向于数据,研发的;下面三层,是偏向于业务,运营,产品的。做风控其实就是做数据,羡信宴因此数据的接入、技术、处理是其中最核心的模块;但现阶段,由于算法模型的限制,还需要有人为的因素进行规则模型的校正,以及特殊样本的审理,因此会有运营层的存在;最上面的触达层,是拿结果的一层,产品的部分工作也在于对此进行良好的设计。
一、数据输入层
● 通过主动采集、业务方送审的原始数据
1.1内容主体:
● 内容审核业务起始层,梳理审核系统需要的全部数据局,以及可以通过业务端采集的数据,数据越详细对后期数据计算越有利。
注意点:1、不同送审内容之间存在群组关联,如帖子下可能包含:名称文本、内容文本、图片、视频、投票文本。2、不同内容间存在映射关联,如商品与评论的关系。3、不同内容间存在组合关联,内容单独出现无违规、组合起来违规的情况。
1.2内容环境:
● 审核方在审核平台为每一个业务(区分文字、图片、视频)生成唯一识别码,用于区分各送审业务,业务方在业务唯一识别码的基础上随机生成唯一的送审码,用于区分送审内容。除送审内容外,审核方需要采集包括且不限于送审类型(用于区分图文)、用户类型、用户ID、城坦信市、IP、设备号、时间戳、业务ID、内容ID、客户端区分等。历史批量数据送审应与日增数据分开低优先级送审,确保日常数据正常处理。对送审的qps进行限制,避免造成服务器压力。
● 除送审数据外,其他获取包括用户信息、关联内容信息、发布者违规历史、前端操作事件(文字粘贴、截图上传),结合送审数据进行综合判别。
1.3离线数据
● 用户风险评级:根据用户历史行为,对独立用户进行风险系数评级。0-100之间的分数,分数越高表示用户在相应业务场景下越为可信。分数将用户划分为多个等级,在使用中可以根据业务场景选择不同等级的用户或不同分数区间的用户进行针对性策略放过或打击,实现策略的精细化运营。通过有效搜索浏览路径、可信内容发布历史、内容违规历史等维度进行违规(考虑细分维度,比如涉黄分值)计算,充分考虑时间衰减与权重比例、设置扣分门槛与限制。并需要防止对新用户、沉睡用户的误伤。
● 账号、设备、IP、地域近期行为等风险评级:根据账号、设备、近期行为,对时间段内账号行为进行风险评兄银级,分属越高代表分享程度越低。由于账号被盗、黑产账号(刷评论)、推广账号、养号等违规账号类型,对内容本身较大具有威胁。风险评级基于多渠道、多场景数据,以及时间段内关键行为,并关联分析手机、设备、IP、紧急联系人等实体数据,锁定欺诈风险并进行对账号、设备、IP的风险识别。采用聚类分析、GBM、设备相似性识别,等构建设备识别模型,有效识别虚拟机和设备农场等高风险设备。基于机器操作、异常操作识别等技术,识别机器注册、机器养号、撞库攻击、账号盗用等风险行为。基于手机、设备、IP等实体数据关联分析,锁定欺诈风险并进行风险识别。
二、数据计算层
通过机器或者人工进行过滤的环节
2.1机器审核
● 规则引擎:提供规则集、决策表、交叉决策表(决策矩阵)、决策树、评分卡、复杂评分卡、规则流等八种类型的业务规则设计工具
● 打击规则:分类型对打击策略进行分类与分级,类目明确清晰。前期应该考虑到业务使用范围场景复杂度与误伤场景,细分粒度。比如在按摩休娱下,涉及的性感的图片可能有性暗示、性交易的企图,但是在泳装类目下,性感存在即是合理的。有比如,在管弦乐器业务下,图片容易受到枪支策略的误伤,需要在此业务下对枪支策略进行个性化调整。
● 离线任务:由于打击存在频繁更新,以及其他不可力抗的修改。未避免业务多次送审,离线任务主要记录存储业务已经送审数据,进行二次审核,再次返回结果。业务方需要支持接收多次结果,并以最新一次为准。
● 机器学习:深度学习图片识别技术 + 数亿级实时更新的图像样本库极速智能解决平台四大问题
文字类型,过滤垃圾广告、导流信息、恶意营销、违法欺诈广告等内容与变体内容。识别淫秽、辱骂等色情低俗内容,基于深度模型同步客户审核标准,进行程度分级。基于海量文本特征库,识别涉政、恐、暴、毒、违禁品等存在监管风险的违规内容。检测内容语义环境,拦截无意义垃圾内容。
图片类型,采用OCR识别等技术,对图像中文本提取识别。基于NLP自然语言处理技术与深度模型,识别色情内容并进行程度分级。基于深度学习技术与海量样本机器学习,对色情、违法违规内容进行鉴别与评级。基于人脸识别技术与机器学习,对漫画、恶搞、负面涉政人物的违规信息识别。文本语义环境检测,高效拦截水贴刷屏无意义内容恶意灌水等行为。
其他视频与语音均于ai技术,转换成
2.2人工审核
● 人工审核平台用户运营部门对内容进行日常的审核,并可实时处理违法违规内容。平台应满足审核区、回收站、历史审核、黑名单管理、信息清理、业务数据查询等常用能力。可对内容按照内容形式(如图片、评价)、按照机审处理规则(如色情)等维度分类,帮助运营部门快速审核。可提供相应的用户、商户等辅助信息数据,协助运营部门对内容进行快速决断。
三、数据输出
● 通过结果返回业务方本次送审内容本身最终审核(通过/驳回)结果与原因,以及因其他原因诸如行为异常等参考信息;随着业务场景的不断壮大、业务需求也会越来越细分,随着策略层面打击结果随之越来越细分。诸如,增加新策略、老策略拆分、违规程度、危险分级等。前期做好调研,在接口设计上保留充足的拓展性十分重要。毕竟作为服务方,推业务方迁移成本比较高。
四、运营管控层
● 运营部门对审核对接、审核过程、审核结果的协助操作;对各环节数据监控等
4.1业务运营
● 接入管理:对已经接入的业务进行增删改查等才做
● 回扫管理:由于审核的标准处于不断更新的状态,新的策略上线后对已经审核过的内容不能进行覆盖。就需要进行自动或者手动的回扫行为
● 处罚处置:未防止违规内容的不断滋生,相对应的处罚行为可以震慑不良用户,对危险用户从账号层面直接处理。
● 风险大盘:策略在审核过程中依赖业务方的送审信息,除了内容主体外其他辅助信息对风险等级的判定也极为重要、送审频率的异常波动也作为策略审核的重要依据,为确保送审时间保质保量稳定的送审,对数据层面进行校验,监测数据完整、稳定程度,对异常送审及时发出警告。
● 名单与标签管理,对以用户、设备等维度的黑白名单、标签进行管理
4.2人审运营
● 包含对人工审核的质量、工单流水、审核员管理、审核结果抽样等职能
4.3策略管理
● 打标平台:对样本内容进行打标,用以训练模型精准度
● 策略管理:用来配置打击策略的系统
● 特征管理: 模型管理、即管理特征与模型的系统
● 词库管理:对策略中黑词、白词、灰词进行集中管理
4.4用户运营
● 反作弊调查:对漏过、误杀的案例进行回访,收集用户需求
● 案件中心:对漏过、误杀的案例进行归类,引导策略优化模型再训练
五、接入层
● 主要面向接入业务方,让业务方知晓接入进度、拦截与误杀情况,引导业务优化前端交互
5.1业务管理
● 自助接入:业务方自助提交接入需求信息,形成审批工单状态流转
● 服务配置:对已有业务进行需求变更
● 统计报表:针对各自业务进行报表统计,反向推动业务方优化交互形式
● case查询:由于业务方是对接case第一人,提供case查询工具,让业务明确case产生原因与结果
● 个性词库:各业务场景不一,除统一词库外,还应对各自场景下的特殊违规词进行处理
● 申诉通道:对漏过误杀case的申诉通道
六、触达层,面向普通c/b用户
6.1风控动作,即内容通过审核最终的结果反馈,需要与业务方共同完成。
● 从审核方以及业务方的角度,为了对违规评价提供最合理的处理方式(删除、下线、正常显示、隐藏、置地等),降低对用户伤害;对评价违规类型分级,并根据其级别进行对应分级处理。包括评价对用户等级、前端展示以及评价权益等。根据违规程度、用户主观恶意程度,对内容发布者进行分级处理。显示分级:全网可见、仅自己可见、全网不可见。内容产品赠送的积分、星级等进行逐步减少与扣罚。其他严重处罚诸如禁言、禁访、注销账号等。并发出提醒(审核结果与处罚、申诉、举报结果的反馈),明确用户发布状态与惩罚因果。
6.2风控补救,即举报、申诉。
● 由于风控不可能100%准确,对于误伤、漏过的case,需要提供用户直接申诉的渠道
6.3教育
● 事前宣传,对用户/商户进行宣传,告知拦击基本规则,减少商户及用户的尝试作弊行为,并提供更优的用户体验,引导用户避免发布与规则冲突的内容。 事后引导,对进行拦截打击的内容,引导用户修改,确保内容既合规,又不影响用户体验
Ⅱ 数据分析之风控
上世纪90年代初,以美国运通(Amarican Express)为首的美国信用卡金融公司开始运用数据建模来提升风控能力,解决精准营销等问题。Discover,Capital One紧随其后
1995年,AMEX的风控模型开始试运行,1997年风控系统正式上线,此后几年,AMEX保持高速增长且把不良贷款降到业内最低
2008年,discover将全球数据分析中心搬到上海。从这个中心流出的风控人才,填充了中国各大互金公司
业务类型:有抵押贷(房贷车贷)、信用贷(比如宜人贷)、消费分期贷(手机家电等)、小额现金贷(500/1000/1500)等
风控涉及业务:1)数据采集:包括征信数据,运营商数据,爬虫,网站埋点,历史借款数据,黑名单,第三方数据等
2)反欺诈引擎:主要包括反欺诈规则与反欺诈模型。
3)规则引擎:即常说的策略。主要通过数据分析手段统计不同字段和各个区间的坏账率,然后筛选得到信用较好的人群进行放款
4)风控模型&评分卡:模型算法之间并无显着不同,而是根据其发生的不同时间点进芦则蔽行划分(贷前/贷中/贷后),即目标产生的方式不一样。通常信贷领域都是以逾期天数来定义目标变量。A卡可以用客户历史逾期天数最大值,B卡可以用多期借款中逾期最大的一次。C卡因为用途不同有不同的建立方法
5)催收:是风控的最终手段。这个环节可以产生很多对模型有帮助的数据,比如催收记录的文字描述,触达率,欺诈标签等等
1)爬虫可以爬取手机APP的信息。我们可以将手机APP分成4类:工具,社交、娱乐、金融。计算每种APP的个数,这样就有了4个特征
2)从运营商数据可以知道客户打了多少电话,发了多少短信,用了多少流量,是否有过欠费等信息
3)征信报告很多时候都是一个简单的征信分数,一般都是得分越高,客户质量越好
4)从基本信息中获取用户画像,比如从身份证中得到年龄、性别、户籍3个特征
黑名单的升级版本就是规则引擎。然而它是靠经验生成的。比如保险公司可能会拒绝连续退货5次或者退货比例达到80%的人购买退货险。规则通常需要投入大量的精力维护,不断更新修改,否则会造成大量的误判。对疑似套现金额、笔数超过一定数目,建议拒绝准入,或做重点关注。XX天内申请借贷数大于某个值,建议拒绝
比如我们可以设定一个准入规则,如职业为公务员、医生、律师等。
还可以设置直接放款原则,比如芝麻分大于750分
目标变量如何确定:以A卡为例,主要通过roll-rate与vintage。举个例子,我们可以定义在8个月逾期超过60天的客户为坏客户,8个月未逾期的为好客户。而八个月逾期在0-60天内为不确定客户,从样本中排除。
1)前期准备工作:不同的模型针对不同的业务场景,在建模项目开始前需要对业务的逻辑和需求有清晰的理解
2)模型设计:包括模型的选择(评分卡还是集成模型),单个模型还是做模型细分。是否需要做拒绝推断,怎么定义观察期、表现期、好坏用户。确定数据来源
3)数据拉取及清洗:根据观察期和表现期的定义从数据池中取数,并进行数据清洗和稳定性验证。数据清洗包括异常、缺失、重复。稳定性验证主要考察变量在时间序列上的稳定性,指标有PSI,IV,平均值/方差等
4)特征工程:主要是特征的预处理和筛选。评分卡主要是通过IV进行筛选。另外会基于对业务的理解进行特征构造,包括特征交叉(两个或以上特征相乘盯培/相除/笛卡尔积),特征转换等
5)模型建立和评估:评分卡可以用逻辑回归,只需要做二分类预测可以选择xgb.模型建好后需要进行模型评估,计算auc,ks。并对模型做交叉验证来评估泛化能力
6)模型上线部署:在风控后台配置模型规则,对于一些复杂的模型比如xgb,一般是将模型文件转换为pmml格式,并封装。在后台上传文件与配置参数
7)模型监控:前期主要是监控模型整体与变量的稳定性。衡量标准主要是PSI(population stability index)。其实psi 就是按分数分区间后,各个分数区间实际陪州与期望占比的差异。如果小于10%,无需更新模型。小于25%,就需要重点关注模型了。如果大于25%就需要更新模型。计算模型psi一般用等频,可以分10箱
1.A卡B卡C卡含义与区别
A卡(application score card):即申请评分卡,在客户申请处理期,预测客户开户后一定时期内违约拖欠的风险概率,有效的排除了信用不良客户和非目标客户的申请。同时对客户进行风险定价----确定额度与利率。用到的数据主要是用户以往的信用历史,多头借贷,消费记录等信息。
B卡(behavior score card):行为评分卡,在账户管理期,根据账户历史上所表现出的各种行为特征来预测该账户未来的信贷表现。一是防控贷中风险,二是对用户的额度做一个调整。用到的数据主要是用户在本平台的登录、浏览、消费行为等数据。还有借还款,逾期等借贷表现数据。
C卡(collection score card):催收评分卡,对逾期账户预测催收策略反应的概率,从而采取相应的催收措施
三张卡的区别:
数据要求不同:A卡一般可做贷款0-1年的信用分析。B卡则是在申请人有了一定行为后,有了较大数据进行的分析。C卡则对数据要求更大,需加入催收后客户反应等属性数据
特征不同:A卡用到的大部分是申请者的背景信息,比如客户填写的基本信息,以及第三方信息。而且这个模型一般也会比较谨慎。B卡利用了很多基于交易的特征。
2.风控领域为何选择逻辑回归模型,有哪些局限性
1)首先是因为逻辑回归客群变化的敏感度不如其他高复杂度模型,因此稳健性好
2)模型直观,系数含义好阐述,易理解
缺点是容易欠拟合,准确度不是很高。另外对数据要求比较高,缺失、异常、特征共线性都比较敏感
3.为何用IV而不是WOE筛选特征
因为IV考虑了分组中样本比例的影响。即使这个分组的WOE很高,但是分组的样本占比很小的话,最终这个特征的预测能力可能还是很小
4.ROC与KS指标(ks在0.2-0.75,auc在0.5-0.9较好)
ROC曲线把TP,FP当作横纵坐标,而KS曲线把TP,FP都当成是纵坐标,横坐标是阀值。KS能找出模型中差异最大的一个分组,大于0.2即可认为有比较好的预测准确性。而ROC能反应整体区分效果
5.分箱方法与badrate单调
目前在行业里,大家用贪心算法进行分箱的比较多,比如best_ks,卡方分箱等。badrate单调性只在连续型数值变量与有序型离散变量(如学历/尺码)分箱的过程中才会考虑。至于为何要考虑badrate单调性,主要是出于业务理解,比如历史逾期越多那么badrate越大。
6.为何不同的风控模型,一般都不会选用相同的特征
被拒绝的人,是因为某些特征表现差。如果用相同的特征做重复筛选,那么随着时间推移,以后建模的样本里面就没有这些人了。这样特征上的样本分布就变了。
7.风控中用的无监督算法有哪些
聚类算法,基于图的离群检测,LOF(局部异常因子),孤立森林等
8.卡方分箱
卡方分箱是基于合并的数据离散化方法.基本思想是相邻的区间具有类似的类分布,则将之合并.而卡方值是衡量两个区间相似性的标准,卡方值越低越相似.当然也不可能无限合并下去,我们给它设定一个阀值.根据自由度与置信度得到.比如类别数是N,那么自由度就是N-1.而置信度表示发生的概率。一般可以取90%。
9.best-ks分箱
与卡方分箱相反,best-ks分箱是一个逐步拆分的过程。将特征值从小到大排序,KS最大的那个值即为切点,然后把数据分为两部分。重复这个过程,直到箱体数达到我们的预设的阀值即可。
10.拒绝推断(reject inference)
申请评分卡是利用通过审核的授信客户的历史数据来建立模型,但是此模型会忽略原先被拒绝的这部分客群对评分卡模型的影响。需要通过拒绝推论来对模型进行修正,以便使模型更加的精确与稳定。另外,公司的规则变化也可能让过去被拒绝的客户现在能通过。适用于中低通过率的场景。
常用方法:硬性截断法---先用初始模型对拒绝用户进行打分,设置一个阀值。高于此分数标记为好用户,反之为坏用户。然后把标记后的拒绝用户加入样本中重新训练模型。分配法---此方法适用于评分卡。将样本根据评分高低进行分组,并计算各组的违约率。然后对拒绝用户进行打分并按照之前的方法分组,以各组的违约率为抽样比例,随机抽取该分组下的违约用户,指定为坏用户,剩下的标记为好用户。然后将标记好的拒绝用户加入样本重新训练
11.建模过程中如何保证模型的稳定性
1)在数据预处理阶段可以验证变量在时间序列上的稳定性,方法有:计算月IV的差异,观察变量覆盖率的变化,两个时间点的PSI差异等。例如我们选取1-10月的数据集,借鉴K折验证的思想,得到10组验证结果。观察随着月份的推移,模型的变化是否有比较大的趋势变化
2)在变量筛选阶段剔除与业务理解相悖的变量。如果是评分卡,可以剔除区分度太强的变量,模型受这个变量影响太大,稳定性会下降
3)做交叉验证,一种是时间序列上的交叉验证,一种是K折交叉验证
4)选择稳定性好的模型。比如xgb 随机森林等
12.怎么处理高维稀疏特征与弱特征
对于高维稀疏特征,逻辑回归比gbdt效果好。后者的惩罚项主要是树深度与叶子数目,这对稀疏数据来说惩罚并不严厉,容易过拟合。使用逻辑回归评分卡,则可以把特征离散化为0与非0,然后再进行woe编码。
如果用评分卡建模,弱特征一般会被舍弃掉。评分卡的入模特征数不宜过多,一般在15个以下。而xgb对数据的要求不高,而且精度好。一些弱特征进行交叉组合也许有意想不到的效果。
13.模型上线后发现稳定性不佳,或者线上的区分效果不好,怎么调整
模型稳定性不佳首先检查当初建模时有没有考虑特征的稳定性。在模型前期发现稳定性不佳的变量,考虑弃用或用其他变量代替。另外分析线上线下用户和建模时用户的分布差异,考虑在建模时增加拒绝推断的步骤,让建模样本的分布更加接近实际的整体申请用户
线上的效果不好可以从变量角度分析。剔除掉效果不好的变量,挖掘新的变量入模。如果一个模型已上线较长的时间,用户的属性也慢慢发生偏移,那么重新取数做下模型
14.怎么做风控模型冷启动
产品刚上线时,没有积累的用户数据,或者用户没有表现出好坏,此时可以考虑: 1)不做模型,只做规则。凭借业务经验,做一些硬性规则,比如设定用户的准入门槛,考量用户的信用历史与多头风险,可以接入第三方的反欺诈服务和数据产品的规则。也可以结合人工审核来对用户的申请资料做风险评估 2)借助相近模型的数据来建模。
15.样本不平衡问题
除了调整类权重以外,主要采用采样方法来解决。常见的有朴素随机过采样,SMOTE,ADASYN(自适应综合过采样)
16.运营商数据处理
根据通话日期,可以将通话记录分为近7天,近半月,近一月,近三月,近6月等时间窗口。也可以按具体日期划分为工作日、节假日等。根据通话时间,可以将一天划为凌晨、上午、下午、晚上。至于电话号码,一种思路是按照归属地划分为 省市,另一种思路是对号码打标签,根据电话邦、网络手机卫士、搜狗号码通的标记,区分出快递外卖、骚扰电话、金融机构、中介等。甚至根据业务积累区分号码是否是黑名单用户、申请用户或申请被拒用户。用户与不同号码标签的通话情况,可以侧面反应用户的通话习惯和生活特点
17.逐步回归
当自变量之间的关系比较复杂,对于变量的取舍不易把握时,我们可以使用逐步回归的方法进行变量筛选。逐步回归的基本思想是将变量逐个引入模型,每引入一个变量进行F检验,并对已经选入的变量进行t检验,当原来引入的变量在后面的变量引入之后不再显着时,则将原来的变量删除。以确保每次引入引入新的变量之前回归方程中只包含显着性变量
18.在逻辑回归中,为什么常常要做特征组合(特征交叉)
逻辑回归属于广义线性模型,特征组合可以引入非线性特征,提升模型的表达能力
部分引用文章: https://www.jianshu.com/u/0ce0500106d https://new.qq.com/omn/20180115/20180115A0RUEZ.html https://www.ixueshu.com/document/.html https://www.e-learn.cn/content/qita/775233 https://cloud.tencent.com/developer/article/144 8182 https://www.shangyexin.com/article/details/id-171268/ https://blog.csdn.net/sunyaowu315/article/details/87162765 https://www.yuque.com/rookie-ywx0p/sm8coc/ll43oc https://zhuanlan.hu.com/p/56474197 https://www.infoq.cn/article/jXwvkaB9t7mPWHxj9ymu https://cloud.tencent.com/developer/article/1489429 https://cloud.tencent.com/developer/article/1059236 https://github.com/taenggu0309/Scorecard--Function