信贷风控规则策略累计增益lift测算

在大数据风控业务实践过程中,目前业内主要还是采用规则叠加的办法做策略,但是会遇到一些问题:
1.我们有10条规则,我上了前7条后,后面3条的绝对风险增益是多少?
2.我的规则之间应该做排序吗,最重要的放在前面?
3.规则重合了怎么办,我又想收风险又想保留较高批核怎么办?
4.我应用完所有的规则后,金额逾期风险能下降到什么水平?
因此,我们按规则的重要性(lift高且抓坏规模大)将规则封装,再按照循环做逐个碰撞,计算由先到后每个规则的绝对增益。

本篇代码的优点是:就能充分确保后面的规则不因为前面的规则而丧失效率,批核能全部用在刀刃上,规则不重合,计算不同口径Y指标下的风险情况,风险目标更清晰准确的预算。
本文是代码交流,里面的策略阈值都为虚构。

定义规则并应用

rules = [  ('1_rhzx_nnm_over_acct>11', lambda row: row['rhzx_nnm_over_acct'] > 11),  ('2_rhzx_nnm_over_cnt>=22', lambda row: row['rhzx_nnm_over_cnt'] >= 22), ('3_multi_final_level>=33', lambda row: row['multi_final_level'] >=33),  # 可以添加更多规则...  
]  

定义一个计算金额逾期风险的函数

def cal_risk2(df2):  total_fm7_amt = df2['fpd_fm7_amt'].sum()  total_fz7_amt = df2['fpd_fz7_amt'].sum()  total_mob4m2fenmu_amt = df2['mob4m2fenmu_amt'].sum()  total_mob4m2fenzi_amt = df2['mob4m2fenzi_amt'].sum() return total_fz7_amt / total_fm7_amt if total_fm7_amt > 0 else 0,total_mob4m2fenzi_amt / total_mob4m2fenmu_amt if total_mob4m2fenmu_amt > 0 else 0   

应用规则并计算边际风险压降效果

def cal_risk_lift(current_df):  results2=[]results2 = [  {  'Rule': 'Baseline',  'Touched_Count': len(current_df),  'Due_FPD7_Amt': round(float(current_df['fpd_fm7_amt'].sum()),2),  'FPD_Fz7_Amt': current_df['fpd_fz7_amt'].sum(), '命中_$FPD7': current_df['fpd_fz7_amt'].sum()/ current_df['fpd_fm7_amt'].sum(),         '命中_$MOB4M2': current_df['mob4m2fenzi_amt'].sum()/ current_df['mob4m2fenmu_amt'].sum(),    '应用规则后_$FPD7': cal_risk2(current_df)[0],'应用规则后_$MOB4M2': cal_risk2(current_df)[1] }  ] for i, (rule_name, rule_func) in enumerate(rules, start=1):  touched_loans = current_df[current_df.apply(rule_func, axis=1)]  touched_loan_ids = set(touched_loans['loan_id'].unique())  	# 计算被规则触碰的贷款数据的到期金额和逾期金额  new_fm7_amount = round(touched_loans['fpd_fm7_amt'].sum() ,2) new_fz7_amount = touched_loans['fpd_fz7_amt'].sum()  new_mob4m2fm_amt = touched_loans['mob4m2fenmu_amt'].sum()  new_mob4m2fz_amt = touched_loans['mob4m2fenzi_amt'].sum()    # 计算剩余贷款的风险情况(在应用当前规则之后,以借据为唯一主键)  remaining_df = current_df[~current_df['loan_id'].isin(touched_loan_ids)]  new_df_risk = cal_risk2(remaining_df) if not remaining_df.empty else 0  # 记录结果  results2.append({  'Rule': rule_name,  'Touched_Count': len(touched_loan_ids),  'Due_FPD7_Amt': new_fm7_amount,  'FPD_Fz7_Amt': new_fz7_amount,  '命中_$FPD7': new_fz7_amount/new_fm7_amount, '命中_$MOB4M2': new_mob4m2fz_amt/new_mob4m2fm_amt,### 展示纯新增命中# '命中_$MOB4M2': df['mob4m2fenzi_amt'].sum()/df['mob4m2fenmu_amt'].sum(),## 展示总命中'应用规则后_$FPD7': new_df_risk[0],'应用规则后_$MOB4M2': new_df_risk[1] })  # 更新current_df以反映应用规则后的效果current_df = remaining_df  # 将结果转换为DataFrame  results_df = pd.DataFrame(results2)return results_df

于是我们可以按分组group来统计规则的累计lift了

data6.groupby(['xj_sxdurseg']).apply(cal_risk_lift)

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

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

相关文章

Python窗体编程技术详解

文章目录 1. Tkinter简介示例代码优势劣势 2. PyQt/PySide简介示例代码(PyQt5)优势劣势 3. wxPython简介示例代码优势劣势 4. Kivy简介示例代码优势劣势 5. PySimpleGUI简介示例代码优势劣势 技术对比总结选择建议 Python提供了多种实现图形用户界面(GUI)编程的技术&#xff0c…

Linux 操作系统安装及基本使用

Linux 操作系统安装及基本使用 在信息技术飞速发展的今天,Linux 操作系统凭借其开源、高性能、稳定性强等优势,在服务器、云计算、嵌入式等领域占据着重要地位。本文将详细介绍如何在 VMware 虚拟机下安装 Linux 系统(以 CentOS 为例&#x…

Python数学可视化——显函数、隐函数及复杂曲线的交互式绘图技术

Python数学可视化——显函数、隐函数及复杂曲线的交互式绘图技术 一、引言 在科学计算和数据分析中,函数与方程的可视化是理解数学关系和物理现象的重要工具。本文基于Python的Tkinter和Matplotlib库,实现一个功能完善的函数与方程可视化工具&#xff…

【MySQL基础】库的操作:创建、删除与管理数据库

MySQL学习: https://blog.csdn.net/2301_80220607/category_12971838.html?spm1001.2014.3001.5482 前言: 在上一篇我们已经讲解了数据库的基本内容,相信大家对数据库已经有了一些自己的理解,从这篇开始我们就开始正式进入如何…

Linux服务器系统配置初始化脚本

服务器系统配置初始化脚本 #!/bin/bash set -euo pipefail # 安全设置:遇错退出、未定义变量报错、管道错误处理# 设置时区并同步时间 timedatectl set-timezone Asia/Shanghai >/dev/null || ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 安装c…

Milvus单机模式安装和试用

1.安装ollama的package包; # install package pip install -U langchain-ollama2.我们直接使用ChatOllama实例化模型,并通过invoke进行调用; from langchain_ollama import ChatOllamallm ChatOllama(model"deepseek-r1") messa…

秒出PPT正式改名秒出AI,开启AI赋能新体验!

在现代办公环境中,借助智能工具提升工作效率已经成为趋势。秒出AI作为一款集AI PPT制作、动画、巨幕、视频、设计以及智能简历功能于一体的综合办公平台,为用户提供一站式智能内容生成解决方案,极大地简化了内容创作流程。 1. AI驱动的一键P…

Rust 学习笔记:发布一个 crate 到 crates.io

Rust 学习笔记:发布一个 crate 到 crates.io Rust 学习笔记:发布一个 crate 到 crates.io提供有用的文档注释常用标题文档注释作为测试注释所包含的项目 使用 pub use 导出一个方便的公共 API设置 crates.io 账户添加 metadata 到一个新的 crate发布到 c…

C++输入与输出技术详解

文章目录 引言一、C标准输入输出流1.1 cin与cout1.2 cerr与clog 二、C风格输入输出函数2.1 scanf与printf2.2 fgets与puts 三、输入输出优化四、总结 引言 在C编程中,输入与输出(I/O)操作是程序与用户、文件或其他系统组件交互的核心环节。C…

安全编码与AI接口权限控制

安全编码与AI接口权限控制 在AI系统中,模型服务的开放接口往往涉及敏感数据、核心算法与算力资源,如果缺乏有效的安全编码与权限控制机制,极易引发数据泄露、滥用调用或非法操作等问题。本节将从“接口安全策略”“权限验证流程”“Token管控机制”“多租户身份隔离”四个方…

redis五种数据结构详解(java实现对应的案例)

一、简述 Redis是一款高性能的键值对存储数据库,它支持五种基本数据类型,分别是字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。 二、五种基本数据类型 2.1 字符串(String) String是Redis最基本的类型,一个key对…

大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

点一下关注吧!!!非常感谢!!持续更新!!! 大模型篇章已经开始! 目前已经更新到了第 22 篇:大语言模型 22 - MCP 自动操作 FigmaCursor 自动设计原型 Java篇开…

第十一章 Java基础-继承

文章目录 1.继承来源2.继承特点3.子类能继承父类中哪些内容1.继承来源 是为了解决代码的重复冗余。

Axure项目实战:驾驶舱(数据一张图)制作教程

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 视频展示(本文第三部分含所有echarts示例JS代码,可复制使用): Axure项目实战:驾驶舱(数据一张图…

针对Python开发的工具推荐及分析,涵盖集成开发环境(IDE)、轻量级工具、在线开发平台、代码管理工具等)

以下是针对Python开发的工具推荐及全面分析,涵盖集成开发环境(IDE)、轻量级工具、在线开发平台、代码管理工具等,结合不同场景和需求进行分类说明: 目录 一、集成开发环境(IDE) 1. PyCharm 2…

不使用绑定的方法

public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // 初始设置 A 控件的宽度 ControlA.Width ControlB.Width / 2; // 监听 B 控件的 SizeChanged 事件 ControlB.SizeChanged (sender, e) > { ControlA.Width ControlB.Actual…

DDR5 ECC详细原理介绍与基于协议讲解

本文篇幅较长,涉及背景原理介绍方便大家理解其运作方式 以及 基于DDR5协议具体展开介绍。 背景原理介绍 上图参考:DDR 内存中的 ECC 写入操作时,On-die ECC的工作过程如下: SoC将需要写入到Memory中的数据发送给控制器控制器将需要写入的数据直接发送给DRAM芯片在DDR5 DR…

基于springboot的益智游戏系统的设计与实现

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言&#xff0…

STM32软件spi和硬件spi

核心观点 本文主要介绍了SPI通信的两种实现方式:软件SPI和硬件SPI。详细阐述了SPI通信协议的基本概念、硬件电路连接方式、移位示意图、时序基本单元以及四种工作模式。同时,对W25Q64模块进行了详细介绍,包括其硬件电路、框图以及操作注意事…

NLP学习路线图(十五):TF-IDF(词频-逆文档频率)

在自然语言处理(NLP)的浩瀚宇宙中,TF-IDF(词频-逆文档频率) 犹如一颗恒星,虽古老却依然璀璨。当ChatGPT、BERT等大模型光芒四射时,TF-IDF作为传统方法的代表,其简洁性、高效性与可解…