【35分钟掌握金融风控策略14】AB测试和随机测试策略调优

2024-04-30 22:44

本文主要是介绍【35分钟掌握金融风控策略14】AB测试和随机测试策略调优,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

AB测试和随机测试策略调优

AB测试

AB测试应用举例

随机测试

随机测试应用举例


AB测试和随机测试策略调优

为了监控和优化线上运行的策略,往往会从原流量中切出一定比例的流量执行测试策略待测试完成后,通过分析测试结果,可评估线上运行策略的效能以及线上运行策略是否可进行调优操作。AB测试和随机测试是风控策略中常见的两种用来监控与优化策略效能的测试方法。

AB测试类似于冠军挑战,主要是通过对比A组策略和B组策略的效能进而选出最优策略进行应用,比较的策略可以是一整套策略集,也可以是单条策略;而随机测试可看作AB测试的特例,主要通过比较随机策略与非随机策略进而确定非随机策略的优化方向。在每次AB测试和随机测试完成后,基本上都会对当前策略的调优指明方向,也会为下一次测试奠定基础。

AB测试

AB测试在很多领域都有着较为广泛的应用。风控策略中的AB测试是从服从同一分布的客群中进行随机抽样,将客群分为A组(对照组)和B组(实验组,虽然实验组要求不少于一组,但大多数情况下都是一组),A组和B组的样本量需要足够支持分析且A组和B组样本占比之和为100%,然后通常基于控制变量法执行A组和B组策略,待测试完成后,对比A组和B组策略的效能,基于分析结果舍弃效能差的策略,选择效能好的策略进行应用的过程。

控制变量法是实验中常用的一种方法,即在保持其他影响因素相同的条件下,只改变可能影响最终结果的其中一个因素,最终查看实验结果的变化情况。风控策略的AB测试通常只有执行的策略是不一样的,其他会对策略结果产生影响的主要条件都是一样的,如在授信审批场景,在授信申请客群分布、授信审批通过率等相同的情况下,基于客群逾期率比较两套不同授信审批策略的优劣;在定额场景,在客群分布相同的情况下,基于人均净收益率比较两套不同定额策略的好坏;在贷后催收场景,在客群逾期分布相同、催收时间相同、催收人员相同的情况下,基于催收效果比较两套不同催收策略的好坏;等等。

在设计AB测试之前,通常是基于历史样本做了离线分析,已经线下证明新策略效能好。既然证明了新策略效果好,为什么还要再做 AB测试呢?因为离线分析用的往往是当前时点几个月前的样本,而几个月前的样本分布与当前时点样本的分布可能已经不一样,通过AB测试,可以降低新策略上线带来的不确定性风险,一定程度上降低试错成本,为策略的调优提供数据支持。虽然 AB测试可以精准评估线上运行策略的效能并为策略调优指明方向,但是一次AB测试要比较长的时间(通常为数个月)才能有结果,成本较高,所以,在进行AB测试之前,一定要审慎评估测试是否必须进行,以及付出和收获是否成正比,切勿为了测试而测试,从而造成资源的浪费。

在实际工作中,AB测试不但可以为策略调整指明方向,而且经常被用来证明策略开发人员工作的有效性,以及策略调整带来的影响,尤其在证明工作有效性的时候,有理有据,容易使听众信服。

AB测试应用举例

在贷前授信审批场景、定额场景、定价场景、贷中用信审批场景、调额场景、调价场景、贷后催收场景进行AB测试的频率会高一些,通过不断地进行AB测试,“挑战”线上运行的策略,有利于评估已有策略效能并推动已有策略的优化。

接下来,以贷前授信审批场景策略为例,说明如何通过AB测试来验证线上运行策略的有效性并推动线上运行策略的优化。假设基于贷前授信申请样本新开发了一个申请评分卡模型,通过Swap Set分析,证实了新模型要优于线上正在使用的模型(旧模型),于是,准备用新模型替换旧模型进行授信审批,此时,我们不禁要问,新模型上线后真的会比|日模型效果好吗?可通过AB测试来验证。具体步骤如下。

提出待验证问题

新模型上线后是否比旧模型效果好,这就是待验证的问题。

虽然基于历史样本进行过分析,证明了新模型效果好,但是,客群资质在不断变化,基于历史样本的分析结果作用在当前样本上,结果可能是不准确的。假如直接用新模型替换旧模型,若结果不准确,则可能为金融机构带来较大的损失。

设计并执行测试方案

对于提出的问题,可通过AB测试来验证。AB测试方案通常比较简单,在本次测试中,A组和B组除使用的模型策略不一致,其他策略均一致。具体测试方案为:A组随机分流50%执行旧模型策略,B组随机分流50%执行新模型策略,在进行AB测试时,尽可能使A组和B组的授信申请通过率一致,这样才容易比较新旧模型的效果。待A组和B组积累足够样本后,将所有样本都切换到A组,执行 A组策略,之所以将所有样本都切回A组,是因为A组的策略是经证明有效的,而B组的策略是待证明有效的,存在不确定性。

测试结果分析和策略调优

待测试样本有一定风险表现后,对测试结果进行分析时可能出现以下三种情况,不同情况对应不同的策略调优方式。

  • 1)新模型效果明显优于旧模型:因为已经进行的离线分析证明了新模型效果好,所以,在进行AB测试后,新模型效果优于旧模型效果的概率是比较大的,在此结果下,可用新模型替换旧模型进行风险决策。
  • 2)新模型效果不如旧模型:若新模型效果不如旧模型,则继续使用旧模型进行线上决策。与此同时,需要进一步分析新模型效果不如旧模型的原因,基于分析结果继续对新模型进行优化,待优化完成后,对旧模型展开新一轮的冠军挑战。
  • 3)新旧模型效果差不多:出现此种情况的概率较低,若出现此种情况,则可能是AB测试样本量不足导致的,可继续进行AB测试并基于分析结果分析新旧模型效果。

在风控过程中,AB测试可应用的场景非常多,应用方法灵活多变。在实际应用中,要以解决实际问题为出发点,具体问题具体分析。

随机测试

随机测试始于软件测试,是测试者除根据测试说明书对软件重要功能进行复测以外,还要对当前测试用例没有覆盖到的部分进行测试,是保证测试覆盖完整性的有效方式和过程。风控中的随机测试可以简单地认为是相关风控人员为评估现行的一些具体策略是否有效而设计的一次实验,该实验在测试范围内随机选取一部分样本执行随机策略,待测试完成后,对测试结果进行分析和论证,进而达到验证非随机策略是否有效的目的。
随机测试可以看作 AB测试的特例,不同之处在于,随机测试主要用来证明现行策略是否有效,是非随机与随机的对比,而 AB测试主要用来证明 A策略和 B策略谁更有效,是非随机与非随机的对比。

随机测试应用举例

相较于 AB测试,随机测试往往会导致风控指标的显著变化,成本较高,所以应用要少些,在贷前授信审批场景进行随机测试的频率会高一些。随机测试可以验证线上运行策略的有效性并为具体策略的调优指明方向。

接下来,以贷前授信审批策略为例,讲讲如何基于随机测试从微观和宏观层面精准评估策略效能并进行策略调优。在贷前授信审批场景,被策略拒绝的样本是没有风险表现的,所以贷前授信审批策略整体和授信审批策略中具体的每一条策略是否有效都是要打上间号的。那么,如何证明授信审批策略整体和授信审批策略中具体每一条策略的效能呢?答案是可基于随机测试证明。随机测试的具体步骤如下。

提出待验证问题

如何证明贷前授信审批策略整体和授信审批策略中每一条策略的效能即提出的待验证的问题,这个问题与AB测试待验证问题的不同之处在于没有明确的比较对象,对于没有明确的比较对象的问题,通常可考虑进行随机测试来解答,即通过特定策略与随机策略进行对比,基于测试结果的量化指标来说明非随机策略是否有效。

设计并执行测试方案

设计随机测试方案时,可选取通过了准入策略和反欺诈核身(核实用户真实身份)策略的客群作为测试样本,从测试样本内随机挑选一定比例(通常为2%~5%)的样本执行随机测试策略。随机测试策略与非随机测试策略唯一不同的地方在于策略触碰后的结果均为通过而非拒绝,所以执行了随机测试策略的样本均会有风险表现,待随机测试样本达到足够分析的数量后(如至少有3000条样本),即可停止测试,将全部流量切回非随机策略。

在随机测试过程中,因为选取了一部分样本执行随机策略,所以通常情况下会引起整体通过率和逾期率的显著上升,要做好一定的心理准备。

测试结果分析和策略调优

待测试样本有一定风险表现后,即可通过分析测试样本的风险表现情况来评估授信审批策略整体和授信审批策略中每一条策略的效能。与AB测试不同的地方在于,随机测试需要从整体和个体两个层面分析策略的有效性并进行策略调优,而AB测试是直接对比分析A组和B组两套策略的整体效果并进行策略调优。

策略整体有效性分析和调优

策略整体有效性分析比较简单,直接将随机测试样本看作一个整体,分析随机测试样本中所有策略触碰样本的风险表现情况即可,分析的主要指标可以是Lift值,Lift=随机策略触碰样本的Badrate/随机策略样本整体的Badrate。Lift取值通常有以下4种情况:若Lift≥3,则说明授信审批策略是有效的,需要持续监控策略效能;若1.5≤Lift<3,则说明授信审批策略有一定的效果,但是效果不显著,仍有较大的优化空间,需要尽快进行策略优化;若1≤Lift<1.5,则说明授信审批策略比随机策略略好,但是效果很差,需要尽快挖掘上线新的策略并进行已有策略效能优化;若Lif<1,则说明授信审批策略是无效的,甚至拒绝的都是好客户,需要尽快进行策略重构。注意:在分析策略的整体效果时,此处工if区间值是作者基于业务经验确定的,不一定适合所有项目,在实际工作中,可基于真实的业务情况进行调整。

若经过分析发现策略整体效能不佳,则需要尽快做的动作通常只有两个:一是评估已上线的每条策略的效能,基于策略效能情况进行策略调优;二是尽快挖掘效能好的策略并进行上线,更好地进行风险管控。

每条策略的有效性分析和调优

在获得随机策略触碰样本的风险表现数据后,评估每条策略效能就变得非常简单了。每条策略的效能分析思路与策略整体效能分析是一样的,将随机测试样本看作一个整体,分析随机测试样本中每条策略触碰样本的风险表现情况即可。分析的主要指标同样是Lit值,Lift=随机测试样本中每条策略触碰样本的Badrate/随机测试样本整体的Badrate。Lift取值通常有以下4种情况:若Lift≥5,则说明该条策略效能较好,且有收紧空间,可进一步收紧该策略;若3≤Lifi<5,则说明该条策略效能尚可,可不进行调整,继续监控即可;若1.5≤Lift<3,则说明策略表现未达到预期,可对策略进行适当放松操作;若Lift<1.5,则说明策略基本无效,可对策略进行下线操作。

print('要天天开心呀')

这篇关于【35分钟掌握金融风控策略14】AB测试和随机测试策略调优的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950106

相关文章

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

使用C#如何创建人名或其他物体随机分组

《使用C#如何创建人名或其他物体随机分组》文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果... 目录C#创建人名或其他物体随机分组此示例使用以下代码将人员分配到组代码首先将lstPeople ListBox总结C#创建人名或其他物体随机分组

轻松掌握python的dataclass让你的代码更简洁优雅

《轻松掌握python的dataclass让你的代码更简洁优雅》本文总结了几个我在使用Python的dataclass时常用的技巧,dataclass装饰器可以帮助我们简化数据类的定义过程,包括设置默... 目录1. 传统的类定义方式2. dataclass装饰器定义类2.1. 默认值2.2. 隐藏敏感信息

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测