科普:特征、规则、模型,及Lift(提升度)

在银行风控场景中,特征、规则、模型是三个核心要素

一、特征、规则、模型的关系

1. 特征是基础
  • 定义:原始数据中提取的变量(如年龄、收入、历史逾期次数)或衍生指标(如RFM中的消费频率)。
  • 作用
    • 规则和模型的输入基础。
    • 特征质量直接影响模型效果(如缺失值、高相关性特征可能导致模型偏差)。
    • 风控场景常用特征:
      • 客户属性(年龄、职业)
      • 行为数据(还款记录、消费频次)
      • 征信数据(信用评分、负债比)
2. 规则是业务逻辑的具象化
  • 定义:基于业务经验或监管要求设定的硬性条件(如“信用评分<600分直接拒绝”)。
  • 与特征的关系
    • 规则通常基于单个或少数特征(如“近3个月逾期次数≥2次”)。
    • 规则可视为简单的“特征组合逻辑”(如“收入<5000元且负债比>70%”)。
  • 与模型的关系
    • 前置规则:在模型预测前过滤高风险客户(如“黑名单客户直接拒绝”)。
    • 后置规则:对模型输出进行二次筛选(如“模型预测违约概率>80%且年龄<25岁,拒绝”)。
3. 模型是复杂决策的核心
  • 定义:通过算法学习特征间非线性关系的预测工具(如逻辑回归、XGBoost)。
  • 与特征的关系
    • 模型可自动挖掘特征组合(如“收入×学历”)和交互效应(如高收入但频繁小额消费)。
    • 模型生成的特征(如树模型的叶子节点、主成分分析结果)可反哺规则设计。
  • 与规则的关系
    • 规则用于快速决策,模型用于精细化风险量化。
    • 模型结果可作为规则输入(如“模型预测违约概率>阈值则触发人工审核”)。

二、Lift(提升度)

1. Lift的定义
  • 公式Lift = (模型/规则识别的正例比例) / (总体正例比例)
  • 含义:表示模型或规则相对于随机猜测的“提升能力”。例如,若总体违约率为5%,某规则识别的客户中违约率为20%,则Lift=4(即4倍于随机猜水平)。
2. Lift的应用对象
  • 规则层面
    • 场景:评估规则过滤高风险客户的效果。
    • 案例:某规则“近6个月查询次数>5次”的违约率为15%,总体违约率为5%,则Lift=3。
  • 模型层面
    • 场景:评估模型预测的准确性。
    • 案例:模型在Top20%高风险客户中覆盖了60%的实际违约客户,Lift=3(60% / 20%)。
  • 特征层面
    • 间接应用:通过特征重要性或SHAP值分析特征对Lift的贡献(如某特征的高载荷区域违约率提升明显)。
3. 规则与模型的Lift对比
维度规则模型
解释性高(业务逻辑透明)低(需通过SHAP等工具解释)
灵活性低(需手动调整)高(自动适应数据变化)
提升度潜力低(单特征或简单组合)高(复杂特征交互)
  • Lift可同时评估规则和模型的效果,帮助优化风控策略。

三、三者的协同应用示例

某银行信用卡审批流程:

  1. 规则前置
    • 规则1:年龄<18岁 → 直接拒绝(Lift=∞,因年龄<18岁无审批资格)。
    • 规则2:近1年逾期次数≥3次 → 拒绝(Lift=4)。
  2. 模型预测
    • 使用XGBoost模型预测违约概率,输出概率>0.7的客户进入人工审核。
    • 模型在测试集的Lift=5(即模型识别的Top20%客户覆盖了50%的违约案例)。
  3. 规则后置
    • 模型输出概率>0.7且月收入<3000元 → 拒绝(进一步提升Lift至6)。
  • 特征是风控的“原材料”,规则和模型是“加工工具”。
  • 规则用于快速决策,模型用于深度挖掘,但规则的解释性和模型的复杂性需平衡。
  • 趋势:传统规则逐渐被模型替代,但业务专家仍需通过规则对模型输出进行“人性化校准”。

四、特征分箱与Lift

前面,我们知道Lift可评估规则和模型的效果,这里我们将它用于特征的分箱:通过特征分箱并计算每箱的Lift值,是一种常用的特征评价和筛选方法。

1. 分箱的目的
  • 离散化连续变量:将年龄、收入等连续特征转化为区间(如“20-30岁”“30-40岁”)。
  • 捕捉非线性关系:例如,年龄与违约率可能呈现“U型”分布,分箱后更易识别。
  • 提升模型解释性:分箱结果可直接转化为业务规则(如“收入<5000元拒绝”)。
2. 分箱方法选择
方法适用场景示例
等宽分箱数据分布均匀时(如年龄)按10岁间隔分为“0-10”“10-20”等
等频分箱数据分布不均匀时(如收入)每个箱包含20%的样本
基于树模型自动寻找最优分割点(如XGBoost)根据信息增益确定分箱边界
业务规则强业务逻辑(如征信评分)信用评分<600分直接拒绝
3. 分箱后的数据处理
  • 合并小箱:若某箱样本量<50,合并到相邻箱以避免统计偏差。
  • 单调化处理:确保分箱后的特征与目标变量呈单调关系(如年龄越大,违约率越高)。
  1. 分箱数量:通常建议5-10箱,避免过拟合。
  2. 单调性要求:分箱后的特征应与目标变量保持单调关系(如收入越高,违约率越低)。
  3. 跨时间验证:需在不同时间段验证分箱的稳定性。
4. Lift的计算
  • 公式Lift = (某箱的目标事件率) / (总体目标事件率)
  • 目标事件率:如违约率、逾期率等。
  • 案例:若总体违约率为5%,某箱违约率为20%,则Lift=4(风险是随机水平的4倍)。

计算各箱Lift值:

import pandas as pd# 假设df包含特征“age”和目标变量“default”
df['default_rate'] = df.groupby('age_bin')['default'].mean()
df['lift'] = df['default_rate'] / df['default'].mean()# 输出分箱结果
print(df.groupby('age_bin')['default_rate', 'lift'].mean())

五、评价

1. 分箱效果评估
  • IV值(信息价值):IV>0.5表示强预测能力,0.3-0.5中等,<0.1弱。
  • 基尼系数:分箱后的基尼系数越高,说明对目标变量的区分度越强。
2. 单箱风险识别
  • 高Lift箱:Lift>3的箱可直接作为规则(如“年龄<25岁且Lift=4,拒绝”)。
  • 低Lift箱:Lift<1的箱可能为低风险客户(如“高收入且Lift=0.3,优先审批”)。
3. 特征整体价值
  • Lift分布均匀性:各箱Lift差异大,说明特征对目标变量敏感(如年龄)。
  • 最大Lift值:特征的最大Lift值越高,潜在规则价值越大。
4. 模型贡献分析
  • 特征重要性:结合树模型的特征重要性,判断分箱后的特征对模型的贡献。
  • SHAP值:分析每个分箱对预测结果的影响(如“年龄在30-40岁”的SHAP值最高)。

六、分箱+Lift的应用场景

  • 分箱+Lift是风控中特征评价的“黄金组合”,既能挖掘特征的预测能力,又能生成可解释的业务规则。
  • 核心价值:通过量化各箱的风险提升度,实现特征筛选、规则优化和模型解释的三重目标。
1. 规则生成
  • 案例:分箱后某箱Lift=5,且业务规则允许直接拒绝该箱客户。
  • 规则if age_bin == '20-25岁' → 拒绝
2. 模型优化
  • 特征工程:将分箱后的特征作为模型输入(如“年龄_bin”替代原始年龄)。
  • 过拟合处理:通过分箱减少连续特征的噪声。
3. 策略迭代
  • 监控:定期重新计算分箱Lift,应对数据漂移(如经济下行导致各箱违约率上升)。
  • A/B测试:对比分箱规则与模型的Lift值,选择最优策略。

六、补充:Lift与随机猜测

上述Lift公式分母为群体的固有违约率,为何解释成与随机猜比较?实际上,该问题可转化为如下问题:
设一群客户的整体违约率为5%,问:1、所有的让其通过,结果违约率为多少?2、随机地让其通过或不通过,结果违约率为多少?

在银行风控场景中,客户的违约率是群体的固有属性,与是否被通过的策略无关。但被通过的客户群体中的违约率会因策略不同而变化。以下是具体分析:

问题1:所有客户都通过,结果违约率为多少?

  • 答案被通过的客户群体的违约率仍为5%
  • 解释
    • 违约率是整体客户的固有属性(5%),无论是否被通过,客户本身的违约概率不变。
    • 若所有客户都通过,被通过的群体就是全体客户,因此违约率仍为5%。

问题2:随机通过或不通过,结果违约率为多少?

  • 答案被通过的客户群体的违约率仍为5%
  • 解释
    • 随机选择通过与否时,被选中的客户群体是原群体的无偏样本,其违约率与整体一致。
    • 例如:若总客户数为1000人,违约50人(5%),随机通过,则通过的500人中约有25人违约,违约率仍为5%。

总结:策略对违约率的影响

策略被通过客户的违约率原因
全部通过5%无筛选,违约率等于整体。
随机通过/拒绝5%随机选择不改变群体的统计特性。
模型筛选>5%(如15%)模型聚焦高风险客户,提升被选中群体的违约率(Lift效应)。
  • 上述表中,客户整体的违约率为5%,模型筛选出的前10%客户(预测违约率最高)的违约率为15%,若让这批客户通过,其余客户不通过,则(反面效果)为:
    Lift = 15 % 5 % = 3 \text{Lift} = \frac{15\%}{5\%} = 3 Lift=5%15%=3
    这意味着模型使被选中群体的违约率是随机选择的3倍。

  • 违约率是群体属性,与策略无关。

  • 模型的价值在于筛选:通过提升(Lift)被选中群体的违约率,帮助业务聚焦高风险客户,降低成本或损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41312.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STL之空间配置器

1. 什么是空间配置器 空间配置器&#xff0c;顾名思义就是为各个容器高效的管理空间(空间的申请与回收)的&#xff0c;在默默地工作。虽然在常规使用STL时&#xff0c;可能用不到它&#xff0c;但站在学习研究的角度&#xff0c;学习它的实现原理对我们有很大的帮助。 2. 为什…

Axure项目实战:智慧城市APP(三)教育查询(显示与隐藏交互)

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;教育查询 主要内容&#xff1a;教育公告信息&#xff0c;小升初、初升高、高考成绩查询&#xff1b;教育公告信息为传统的信息页面&#xff0c;小升…

最大字段和问题 C++(穷举、分治法、动态规划)

问题描述 给定由n个整数&#xff08;包含负整数&#xff09;组成的序列a1,a2,…,an&#xff0c;求该序列子段和的最大值。规定当所有整数均为负值时定义其最大子段和为0 穷举法 最简单的方法就是穷举法&#xff0c;用一个变量指示求和的开始位置&#xff0c;一个变量指示结束…

【数据转换】- Halcon<->Mat

背景介绍 最近在写C#联合Haclon调用C的.dll文件进行联合编程。大致需求就是C#设计界面&#xff0c;然后调用Haclon的图像处理库&#xff0c;C把目标检测的模型进行TensorRT部署生成动态链接库&#xff0c;之后界面操作加载模型、对图像进行检测等功能。 设计界面如下&#xf…

MFC中如何判断一个窗口当前状态是显示还是隐藏

文章目录 一、核心方法&#xff1a;使用 CWnd::IsWindowVisible函数原型示例代码 二、注意事项1. 父窗口的影响2. 窗口最小化/最大化状态3. 窗口尚未创建 三、扩展&#xff1a;通过窗口样式直接判断四、完整示例代码五、总结 在MFC中&#xff0c;判断窗口当前是显示还是隐藏状态…

Java 大视界 -- 基于 Java 的大数据分布式系统的监控与运维实践(155)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

消息队列性能比拼: Kafka vs RabbitMQ

本内容是对知名性能评测博主 Anton Putra Kafka vs RabbitMQ Performance 内容的翻译与整理, 有适当删减, 相关数据和结论以原作结论为准。 简介 在本视频中&#xff0c;我们将首先比较 Apache Kafka 和传统的 RabbitMQ。然后&#xff0c;在第二轮测试中&#xff0c;会将 Kaf…

[ComfyUI] SDXL Prompt Styler 自定义节点的作用解析

1. SDXL Prompt Styler 的位置与基本功能 在 ComfyUI 的 “新建节点” → “实用工具” 下,可以找到 Style 节点(SDXL Prompt Styler)。该节点的主要作用是对输入的描述进行结构化处理,并在转换为 Stable Diffusion XL (SDXL) 提示词时,自动补充风格相关的内容,使提示词…

【JavaScript】金丹期功法

目录 数组声明数组数组的基本使用遍历数组案例&#xff1a;求数组中的最值数组操作查询数据修改数据新增数据案例&#xff1a;数组筛选删除数据 案例&#xff1a;渲染柱形图 数组 数组&#xff08;Array&#xff09;是一种可以按顺序保存数据的数据类型 场景&#xff1a;如果…

学习本地部署DeepSeek的过程(基于LM Studio)

除了使用Ollama部署DeepSeek&#xff0c;还可以使用LM Studio部署DeepSeek&#xff0c;后者是一款允许用户在本地计算机上运行大型语言模型&#xff08;LLMs&#xff09;的桌面应用程序&#xff0c;旨在简化本地模型的使用&#xff0c;无需云端连接或复杂配置即可体验 AI 功能。…

AOA与TOA混合定位,MATLAB例程,自适应基站数量,三维空间下的运动轨迹,滤波使用EKF

本代码实现了一个基于 到达角(AOA) 和 到达时间(TOA) 的混合定位算法,结合 扩展卡尔曼滤波(EKF) 对三维运动目标的轨迹进行滤波优化。代码通过模拟动态目标与基站网络,展示了从信号测量、定位解算到轨迹滤波的全流程,适用于城市峡谷、室内等复杂环境下的定位研究。 文…

C++:函数(通识版)

一、函数的基础 1.什么是函数&#xff1f;&#xff08;独立的功能单位&#xff09; 函数是C中封装代码逻辑的基本单元&#xff0c;用于执行特定任务。 作用&#xff1a;代码复用、模块化、提高可读性。 2、函数的基本结构 返回类型 函数名(参数列表) {// 函数体return 返回值…

STL之map和set

1. 关联式容器 vector、list、deque、 forward_list(C11)等&#xff0c;这些容器统称为序列式容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身。 关联式容器也是用来存储数据的&#xff0c;与序列式容器不同的是&#xff0c;其里面存储的是结…

虚拟机(一):Java 篇

虚拟机&#xff08;一&#xff09;&#xff1a;Java 篇 虚拟机&#xff08;二&#xff09;&#xff1a;Android 篇 架构 运行时数据区&#xff1a; 栈&#xff1a; 堆&#xff1a; 堆&#xff1a;通过new创建的对象都在堆中分配。OutOfMemoryError TLAB(Thread Local All…

无线安灯按钮盒汽车零部件工厂的故障告警与人员调度专家

在汽车零部件制造领域&#xff0c;生产线故障与物料短缺等问题往往引发连锁反应&#xff0c;导致停机损失与成本激增。传统人工巡检与纸质工单模式已难以满足高效生产需求&#xff0c;而无线安灯按钮盒的智能化应用&#xff0c;正成为破解这一难题的关键利器。 一、精准告警&am…

二叉树相关算法实现:判断子树与单值二叉树

目录 一、判断一棵树是否为另一棵树的子树 &#xff08;一&#xff09;核心思路 &#xff08;二&#xff09;代码实现 &#xff08;三&#xff09;注意要点 二、判断一棵树是否为单值二叉树 &#xff08;一&#xff09;核心思路 &#xff08;二&#xff09;代码实现…

数据结构初阶-二叉树链式

目录 1.概念与结构 2.二叉数链式的实现 2.1遍历规则 2.2申请内存空间 2.3手动构建一棵二叉树 2.4二叉树结点的个数 2.5二叉树叶子结点的个数 2.6二叉树第K层结点个数 2.7二叉树的高度 2.8二叉树中查找值为x的结点 2.9二叉树的销毁 3.层序遍历 3.1概念 3.2层序遍历…

SpringMVC拦截器

SpringMVC拦截器 什么是拦截器拦截器和过滤器的区别SpringMVC 拦截器的工作原理拦截器的配置拦截器的配置主要有两种方式XML 配置方式Java配置方式 创建一个拦截器拦截器的应用场景拦截器的执行顺序 什么是拦截器 SpringMVC 的拦截器&#xff08;Interceptor&#xff09;是指在…

cocos creator 笔记-路边花草

版本&#xff1a;3.8.5 实现目标&#xff1a;给3d道路生成路边景观花草 在场景下创建一个节点&#xff0c;我这里种植两种花草模型&#xff0c;兰花和菊花&#xff0c;所以分别在节点下另创建两个节点&#xff0c;为了静态合批。 1.将花草模型分别拖入场景中&#xff0c;制作…

YoloV8训练和平精英人物检测模型

概述 和平精英人物检测&#xff0c;可以识别游戏中所有人物角色&#xff0c;并通过绘制框将人物选中&#xff0c;训练的模型仅仅具有识别功能&#xff0c;可以识别游戏中的视频、图片等文件&#xff0c;搭配Autox.js可以推理&#xff0c;实现实时绘制&#xff0c;但是对手机性…