基于交叉表生成风控规则(Python)

大家好,我是东哥。

规则是风控策略中最常用的工具之一,生成、筛选、监控、调优,几乎每天都在打交道,本篇来介绍如何基于交叉表来生成风控规则,并且如何基于评估指标进行筛选。

出品人:东哥起飞

专栏:《100天风控专家》

1.1. 交叉表的概念

什么是交叉表?

交叉表,顾名思义,就是两个或者两个以上的变量进行交叉判断。

比如下面这个示例,一个变量是“最近6个月新开信贷账户数”,另一个变量是“当前公积金状态”,这就是两个变量的交叉表形式,也叫“二维交叉表”,如果是两个以上的变量就是“多维交叉表”。

交叉表的形成,本质上就是变量的“笛卡尔积”。

在这里插入图片描述

1.2. 交叉表的特点

交叉表有什么特点?

按照规则的复杂度和数据维度两个角度来看,交叉表规则处于单变量规则和评分卡模型之间的中间形态。

  • 与单变量规则相比,交叉表拥有更多的维度,对于客户风险评估更加准确。
  • 与评分卡模型相比,交叉表虽变量维度少,但复杂度更低,迭代开发速度更快。
  • 在所有的工具中,交叉表属于一种中间的形态,同时兼顾了维度和复杂度两点。

在这里插入图片描述

1.3. 交叉表的前置条件

要生成二维交叉表,有3个前提条件:

1)基于IV筛选出预测效果好的变量池,从中选择交叉所需的变量组。

一般的原则是:交叉变量最好是不同维度的,且相互间的相关性不高,这样综合效果才会达到最优。

2)对变量进行分箱操作,连续型变量需要有排序性;

仍以下面的二维交叉表为例,我们看到“最近6个月新开信贷账户数”是连续型变量,“当前公积金状态” 是离散性变量。这里公积金状态有三个离散值,因此不需要分箱;而最近6个月新开账户数由于是连续型变量,是需要做分箱处理的。

3)总样本和坏样本数量足够多。

交叉表通过两两组合,有更多的格子。比如下面一维变量只有4个格子,而二维交叉表有12个格子,而总数量和总坏客户数是相同的,那么经过稀释后交叉表的每个格子数据量会变少。如果总样本数和坏客户数不够的话,那么分散到每个格子的数量就可能出现过少,或者没有数据的情况,导致无统计意义无法分析。因此如要保证每个格子都有足够的数据,总样本和坏样本数就必须足够多。
在这里插入图片描述

二、交叉表规则生成与评估

2.1. 三个步骤

交叉表规则制定一般有以下三个步骤:

在这里插入图片描述

2.2. 交叉表规则生成(1):透视表

在这里插入图片描述

2.3. 交叉表规则生成(2):计算指标

在这里插入图片描述

区间坏账率=每个格子的坏客户数/对应格子的总客户数,是上下两个交叉表每个格子对应位置的计算,比如蓝色框示例,4.43%=19/429;

客户占比=每个格子的客户数/总客户数,只需总客户数一个交叉表即可,比如红色框示例,3%=59/1967;

2.4. 交叉表规则生成(3):制定和评估

在这里插入图片描述

三、交叉表应用场景

3.1. 策略D类调优

1)背景介绍

某机构发现,近期市场环境不好,客户的贷后逾期率不断升高,业务部门提出需求:需要风控策略人员对贷前审批策略进行收紧,降低逾期风险,但同时不降低太多通过率,因为业务规模是本年的考核指标。

2)策略方案

该需求属于策略D类调优。可新增二维交叉表规则,比如右侧这条规则,命中率仅为1.68%,但拒绝客户中一半以上都是坏客户。

如果使用单变量规则,比如最近6个月新开信贷账户数>=3时拒绝,区间坏账率为25.47%,命中率则为8.19%,会降低很大通过率 。
在这里插入图片描述

二维交叉表规则:“最近6个月新开信贷账户数在(2.5,28]之间”且“当前公积金状态为2”,触发则拒绝,反之通过。


以下是基于交叉表生成规则的Python的实战案例部分。

<蓝1,绿2,红3,红3,红3,红3>

以上来自原创专栏《100天风控专家》规则篇分析全流程的节选内容,共100期以上视频更新,包括业务、产品、策略、模型、数据、系统6大核心模块,理论+Python代码实操,从零到一入门金融数据风控。规则篇课件内容如下。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【字符串】【分类讨论】【KMP】1163. 按字典序排在最后的子串

作者推荐 视频算法专题 本文涉及知识点 字符串 字典序 分类讨论 本题无法使用KMP&#xff0c;因为t1不段变化。 LeetCode1163. 按字典序排在最后的子串 给你一个字符串 s &#xff0c;找出它的所有子串并按字典序排列&#xff0c;返回排在最后的那个子串。 示例 1&#xf…

图论入门题题解

✨欢迎来到脑子不好的小菜鸟的文章✨ &#x1f388;创作不易&#xff0c;麻烦点点赞哦&#x1f388; 所属专栏&#xff1a;刷题_脑子不好的小菜鸟的博客-CSDN博客 我的主页&#xff1a;脑子不好的小菜鸟 文章特点&#xff1a;关键点和步骤讲解放在 代码相应位置 拓扑排序 / 家谱…

基于Docker搭建Maven私服仓库(Linux)详细教程

文章目录 1. 下载镜像并启动容器2. 配置Nexus3. 配置本地Maven仓库 1. 下载镜像并启动容器 下载Nexus3镜像 docker pull sonatype/nexus3查看Nexus3镜像是否下载成功 docker images创建Nexus3的挂载文件夹 mkdir /usr/local/nexus-data && chown -R 200 /usr/local…

cadence 之 Allegro PCB封装 3D模型

Allegro PCB封装怎样赋3D模型 1、方式一 —— 设置器件高度 2、方式二 —— 指定STEP模型 2.1、Step 3D模型库 2.2、软件环境的设置和 STEP 模型库路径设置 D:\Cadence\Cadence_SPB_17.4-2019\share\local\pcb\step 2.3、指定STEP模型 即可打开 STEP 模型指定的对话框&…

【HarmonyOS】ArkTS-对象方法

目录 对象方法实例 对象方法 方法作用&#xff1a;描述对象的具体行为 约定方法类型 interface 接口名称 { 方法名: (参数:类型) > 返回值类型 }interface Person{dance: () > voidsing: (song: string) > void}添加方法&#xff08;箭头函数&#xff09; let ym: P…

服务器配置禁止IP直接访问,只允许域名访问

联网信息系统需设置只允许通过域名访问&#xff0c;禁止使用IP地址直接访问&#xff0c;建议同时采用云防护技术隐藏系统真实IP地址且只允许云防护节点IP访问服务器&#xff0c;提升网络安全防护能力。 一、Nginx 修改配置文件nginx.conf&#xff0c;在server段里插入正则表达式…

【C++ 学习】构造函数详解!!!

1. 类的6个默认成员函数的引入 ① 如果一个类中什么成员都没有&#xff0c;简称为空类。 ② 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 ③ 默认成员函数&#xff1a;用户没有显式实现&…

LoadBalancer 客户端的负载均衡器+openFeign 请求转发

LoadBalancer Spring Cloud LoadBalancer是Spring Cloud中负责客户端负载均衡的模块&#xff0c;其主要原理是从nacos中获取服务列表通过选择合适的服务实例来实现负载均衡。 源码跟踪 可以看到这里的intercept()方法&#xff0c;拦截了用户的HttpRequest请求&#xff0c;然…

在IDEA使用HBase Java API连接

一、下载安装Maven并加载到IDEA中 官网地址:Maven – Download Apache Maven 将对应版本的压缩包下载到本地,并新建一个文件夹Localwarehouse&#xff0c;用来保存下载的依赖文件 配置maven的系统环境配置&#xff0c;将maven安装的bin目录地址写入path环境变量&#xff1a; …

机器学习--循环神经网络(RNN)4

一、RNN的学习方式 如果要做学习&#xff0c;需要定义一个损失函数&#xff08;loss function&#xff09;来评估模型的好坏&#xff0c;选一个参数要让损失最小。 以槽填充为例&#xff0c;如上图所示&#xff0c;给定一些句子&#xff0c;给定一些标签&#xff0c;告诉机器…

【软件工程导论】——软工学绪论及传统软件工程(学习笔记)

&#x1f4d6; 前言&#xff1a;随着软件产业的发展&#xff0c;计算机应用逐步渗透到社会生活的各个角落&#xff0c;使各行各业都发生了很大的变化。这同时也促使人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而&#xff0c;软件的规模越大、越复杂&#xf…

测试环境搭建整套大数据系统(九:docker学习)

一&#xff1a;为什么学习dockder&#xff1f; 对于组件的搭建和部署&#xff0c;可以简化。 二&#xff1a;什么是docker&#xff1f; docker是一个平台。 三&#xff1a;怎么使用docker&#xff1f; 1. 安装&#xff0c;切换仓库。 安装 curl -fsSL https://test.docke…

[java基础揉碎]继承

为什么需要继承: > 继承就可以解决代码复用的问题 继承的基本介绍: 继承的使用细节: 1.子类继承了所有的属性和方法&#xff0c;但是私有属性和方法不能在子类直接访问&#xff0c;要通过公共的方法去访问 解决, 提供公共的方法返回: 2.子类必须调用父类的构造器,完成父…

CACLP预告 | 飞凌嵌入式与您相约山城重庆

第二十一届中国国际检验医学暨输血仪器试剂博览会&#xff08;CACLP&#xff09;将于2024年3月16日-18日在重庆国际博览中心举行。本次会议将探讨科技创新趋势&#xff0c;展示最新成果&#xff0c;发现和挖掘颠覆性技术和创新产品&#xff0c;引领实验医学体外诊断科技创新和未…

利用IP地址信息提升网络安全

在计算机网络中&#xff0c;IP地址是用于唯一标识网络设备的重要标识符。然而&#xff0c;由于网络中存在大量设备&#xff0c;有时会出现IP地址冲突的情况&#xff0c;即两个或多个设备在同一网络中使用了相同的IP地址&#xff0c;这可能导致网络连接故障和通信中断。本文将介…

机器学习开源分子生成系列(1)-DeepFrag的本地部署及使用

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …进入 文章目录 前言一、DeepFrag是什么&#xff1f;二、conda中安装DeepFrag CLI环境1. 创建环境并激活2. 下载pre-trained model3. DeepFrag CLI 使用方法必需参数&#xff1a;可选参数&#xff1a; 4. DeepFrag CLI 使用…

R语言基础的代码语法解译笔记

1、双冒号&#xff0c;即&#xff1a;“::” 要使用某个包里的函数&#xff0c;通常做法是先加载&#xff08;library&#xff09;包&#xff0c;再调用函数。最新加载的包的namespace会成为最新的enviroment&#xff0c;某些情况下可能影响函数的结果。而package name::funct…

excel统计分析——重复测量设计

参考资料&#xff1a;生物统计学 裂区设计中的裂区通常是指空间上的裂区&#xff0c;如果对试验指标进行连续测量时&#xff0c;时间也可以作为裂区因素。重复测量设计实际上就是时间裂区设计。进行试验结果的统计分析时&#xff0c;将试验因素作为主区&#xff0c;时间因素作为…

HTML—基本介绍

HTML是一种超文本标记语言(HyperText Markup Language)&#xff0c;用于创建网页的标记语言超文本&#xff1a;是指页面内可以包含图片、链接、声音、视频等内容标记&#xff1a;HTML富含大量的标签供程序员使用&#xff0c;通过标记符号来规定指定内容的样式 浏览器最终根据不…

问题解决 | vscode无法连接服务器而ssh和sftp可以

解决步骤 进入家目录删除.vscode-server rm -rf .vscode-server 然后再次用vscode连接服务器时&#xff0c;会重新安装&#xff0c;这时可能报出一些缺少依赖的错 需要联系管理员安装相关依赖&#xff0c;比如 sudo apt-get install libstdc6 至此问题解决