信用评分分卡简介introduction of credit score card

news2024/11/24 8:51:11

背景

随着金融科技初创企业的兴起,过去 5 年中出现了许多新的消费信贷机构,与传统银行展开竞争。他们通常瞄准银行认为规模太小或因金融危机期间发生的后期损失而不得不削减贷款的细分市场。通俗的讲就是消费金融公司瞄准了银行的次贷市场。

这些新的消费金融公司的主要竞争优势之一是技术,包括IT技术和机器学习建模技术,AI人脸识别和语音识别技术。

大型银行相对传统,保守,技术变革动力小。银行主要客户是信用较好客户,大力推动的是信用卡来鼓励用户超前消费。

例如,英国商业贷款机构 iwoca使用来自关联公司账户、增值税申报表甚至 ebay 或亚马逊上的销售交易的信息来确定新贷款。英国消费贷款公司 lendable以在几分钟内完成个人信用贷款,而不是传统银行需要几天或几周漫长审批的时间。

英国商业贷款机构 iwoca和 lendable,国内消费金融公司例如招联,兴业消金,借呗,微粒贷,拍拍贷都会使用类似下面的风控系统,实现对大部分客户自动化审批贷款。

凭借快速和自动决策引擎,他们使用自动和快速的信用风险模型来评估风险。

什么是信用评分卡

我们大多数人都熟悉信用评分的概念,这是一个代表个人信用度的数值。像银行这样的所有信贷机构都有复杂的信用模型。这些模型会读取用户的各种信息,如工资、信用历史记录,年龄,性别和多头借贷等因素,然后训练模型,最后通过复杂数学计算输出客户的信用评分。信用评分卡模型可以输出用户信用分或违约概率。

信用评分卡就是其中一种信用模型,它是最常见的信用模型之一。信用评分卡是基于逻辑回归算法。它对大家来说相对容易理解,而且它已经存在了几十年,因此开发过程是标准的,广为人知。

信用评分卡也有几个子类模型,常见的有A,B,C卡。

但需要注意的是,不同机构的分数范围可能不同,较低分数的拒绝申请的截止点因贷款人而异,甚至可能在同一贷款人但不同产品中有所不同.

建立信用记分卡

目标变量通常采用二进制形式,根据数据的不同,可以为 0 表示好客户(放贷客户),可以为 1 表示违约客户或逾期 90 天付款的客户(拒绝放贷客户)。

第 1 步:数据探索和清理

所有模型拟合中的必要步骤,但由于它不是特定于构建信用评分卡模型,因此我们将跳过此部分。不要忘记将数据集也分成训练和测试数据集,即train和test数据集。

第 2 步:数据转换——证据权重法

然后我们需要使用证据权重 (WoE) 方法转换所有自变量(如年龄、收入等)。该方法根据每个组级别的好申请人与差申请人的比例,衡量分组区分好坏风险的“强度”,并试图找到自变量与目标变量之间的单调关系。

连续变量的转换步骤:

  1. 将数据分成 bin,通常大约 10 个,最多 20 个(bin箱数并非越多越好,也并非越少越好,根据数据集特征决定分箱数量)
  2. 计算好事件的百分比和坏事件的百分比
  3. 取自然对数计算WOE
  4. 用计算出的 WOE 值替换原始数据

如果自变量是分类变量,则跳过上面的 1,然后执行其余步骤。

Python 中的示例:

在将您的数据放入箱子中,并对每个箱子的好坏计数进行分组后,您的数据可能看起来类似于下面的方框。WoE 可以使用下面的代码为每个 bin 组计算。负值表示特定分组中不良申请人的比例高于良好申请人。

import pandas as pd
import numpy as np


# dummy data as example
age = ['18 to 25','26 to 35','36 to 45','46 to 60','>= 60']
df = pd.DataFrame(age, columns=['Age Group'])
df['counts'] = [31234, 30293, 29384, 30192, 27394]
df['bad'] = [4920, 4123, 3784, 2608, 1479]
df['good'] = df.counts - df.bad

# calculate WOE
df['total_distri'] = df.counts/sum(df.counts)
df['bad_distri'] = df.bad/sum(df.bad)
df['good_distri'] = df.good/sum(df.good)
df['WOE'] = np.log(df.good_distri / df.bad_distri)
df['WOE%'] = df.WOE * 100

在转换结束时,如果您有 20 个自变量开始,那么您现在将有 20 个 WOE_variablename 列可用于下一步。

使用 WoE 转换的好处:
  • 它有助于与逻辑回归中使用的对数几率建立严格的线性关系
  • 它可以处理缺失值,因为它们可以合并在一起
  • 可以处理异常值或极值,因为它们也被分箱,并且输入模型拟合的值是 WoE 转换值而不是原始极值
  • 它还处理分类值,因此不需要虚拟变量

第 3 步:使用信息值进行特征选择

Information Value (IV) 来自信息论,它衡量自变量的预测能力,这对特征选择很有用。执行特征选择以确定是否有必要在模型中包含所有特征是一种很好的做法,大多数时候我们希望消除弱特征,因为通常首选更简单的模型。

根据 Siddiqi (2006),按照惯例,信用评分中 IV 统计量的值可以解释如下

根据Toby老师多年建模经验,A卡中iv>0.5变量很少见,但在B卡和C卡中,常出现iv值大于0.5变量,当然我们也要审核这些强变量的合理性。

Python 中的示例:

继续前面的示例,这里我们计算“年龄”的 IV 约为 0.15,这意味着年龄具有“中等预测能力”,因此我们将继续进行模型拟合。IV 分数小于 0.02 的变量应该被删除。

备注:根据Toby老师多年建模经验年龄变量在不同数据集会有不同iv值。在很多数据集年龄变量iv值非常低。这里只是举例说明,同学不要死记硬背。

第 4 步:模型拟合和解释结果

现在我们使用我们新转换的训练数据集的 WoE 来拟合逻辑回归模型。

将模型缩放为记分卡时,我们需要模型拟合的逻辑回归系数以及转换后的 WoE 值。我们还需要将模型的分数从对数赔率单位转换为积分系统。

对于每个自变量Xi,其对应的得分为:

Score_i= (βi × WoE_i + α/n) × Factor + Offset/n

其中:
βi — 变量 Xi 的逻辑回归系数
α — 逻辑回归截距
WoE — 变量 Xi 的证据权重
n — 模型中自变量 Xi 的数量
Factor,Offset — 称为缩放参数,其中

  • factor = pdo/ln(2)
  • Offset = Target Score — (Factor × ln(Target Odds))

对于上面的示例,我们选择将目标分数设置为 600,这意味着好客户与坏客户的赔率是 50 比 1 ,而增加 20 意味着赔率翻倍。请注意,缩放比例的选择不会影响记分卡的预测强度。

最终的总分是基于自变量输入值的所有分数的总和。然后,贷方将根据建模的总分和截止点(根据其他信用违约模型设置)评估收到的申请。

Total Score = Σ Score_i

信用评分分卡简介就谈到这里,实际上,信用评分卡模型细节非常多,由于篇幅有限,我只能简单概述。真实模型开发并非线性,而是一个复杂迭代过程。

如果大家对信用评分卡各种细节感兴趣,欢迎大家收藏《python信用评分卡建模(附代码)》,会满足你对信用评分卡所有好奇和疑问。

版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

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

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

相关文章

修改Pom文件需要注意的问题

1.从远程nuxaus拉不回来个别包该如何解决 进入仓库目录下,把该包的目录删除了,重新拉 rm -r 包目录 如果还是不行,可能是idea内存不够,尝试关闭暂时不用但是已经打开的项目,减少内存使用,删除包目录重试…

肌电信号采集电路分析

最近在开发肌电信号的采集,表面肌电信号是非常微弱的生物信号,正常人体表面肌电信号赋值为0--1.5mV,主要能量频段集中在10--150Hz。电路主要是根据原始信号,设计相应的放大电路、滤波电路,下面直接放原理图说明。一级放…

生物素点击试剂1255942-07-4,DBCO-PEG4-Biotin,生物素-PEG4-二苯基环辛炔

中英文别名:CAS号:1255942-07-4| 英文名:DBCO-PEG4-Biotin |中文名:二苯基环辛炔-PEG4-生物素,二苯基环辛炔-四聚乙 二醇-生物素物理参数:CASNumber:1255942-07-4Molecular formula:…

2023的网安玩家,会和布洛芬退烧一样“凉”得快吗?

2021年,《数据安全法》《网络安全产业高质量发展三年行动计划》《个人信息保护法》《网络产品安全漏洞管理规定》等政策法规扎堆发布,二级市场网安公司市值一度起飞,网络安全行业如日中天,业内大佬纷纷感慨总算熬出了头&#xff0…

python-MySQL数据库基础(一)数据库基础知识、MYSQL的介绍和安装、数据类型

数据库介绍 数据库(database)简称DB,实际上是一个文件集合,是一个存储数据的仓库,本质上是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查等操作,音乐,…

读书笔记:手写数字识别 ← 斋藤康毅

求解机器学习问题的步骤可以分为“学习”和“推理”两个阶段。本例假设“学习”阶段已经完成,并将学习到的权重和偏置参数保存在pickle文件sample_weight.pkl中。至于是如何学习的,斋藤康毅指出会在后续章节详述。之后,使用学习到的权重和偏置…

Allegro如何利用Create Bound Shape自动画铜皮操作指导

Allegro如何利用Create Bound Shape自动画铜皮操作指导 在做PCB设计的时候,画铜皮操作是时常需要用到的操作,对于非常规角度画铜皮是个比较麻烦的事情,在Allegro升级到了172版本的时候,有个Create Bound Shape命令,画异形铜皮十分快捷,如下图 贴着过孔的边缘画弧形的铜皮…

【进击的算法】基础算法——回溯算法

🍿本节主题:回溯算法 🎈更多算法:深入聊聊KMP算法 💕我的主页:蓝色学者的个人主页 文章目录一、前言二、概念三、例题1.题目:全排列2.解题思路回溯算法的本质问题1:问题2&#xff1a…

linux 解压命令------超详细

目录 一、前期准备: 二、安装finalShell并与虚拟机进行连接 三、上传数据到虚拟机 四、解压命令练习 1. 解压zip包 unzip apache-maven-3.6.3-bin.zip 2. 解压tar.gz包 tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 一、前期准备: 1.final…

Redis命令及其数据类型详解

前面的文章我们讲解过关于Redis的安装: 手把手教你Linux下安装部署Redis,今天我们具体的讲一下Redis的命令及其5种数据类型 Redis命令 Redis命令用于在redis服务上来执行某些特定操作。 这里我们以Linux下的操作为例: 进入到我们Redis的bin目录下&am…

企业档案信息化规划总体框架

按照《中华人民共和国档案法》《企业档案管理规定》《企业档案工作规范》《企业数字档案馆(室)建设指南》等政策文件要求,企业档案信息化建设应从基础设施体系、应用系统体系、档案资源体系、标准规范体系、安全保障体系、组织人才体系六方面…

ARM公司发展史

1. 前言 当前,X86和ARM架构是公认的在商业化进程中表现最优秀的两大架构。之前我们已经介绍了X86架构,今天介绍另一个在近十年大火的架构,ARM。 ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine&#x…

【Java】【系列篇】【Spring源码解析】【二】【整体】【Spring整体流程解析】

本篇文章的目的是希望对Spring运行有个整体上的了解,后面的文章都是基于此12大步骤 读完这篇文章,你可以了解到: 1.spring运行的大致流程,他在这个期间做了哪些事 2.xml方式和注解方式载入BeanDifinition的时机一、Spring的运行的…

AgentTesla 掀起攻击全球各地企业的浪潮

大量带有恶意附件的电子邮件发送到南美洲与欧洲的企业。从 2022 年 8 月 12 日开始针对西班牙、葡萄牙、罗马尼亚和南美洲多个国家的企业进行发送,后续针对德国与阿根廷的企业发起了更大规模的攻击,迄今为止已经发送了超过 26000 封邮件。 感染链 攻击…

[MRCTF2020]Ez_bypass

目录 信息收集 代码审计 第一个判断 第二层判断 传参方式 补充说明 信息收集 打开靶场页面显示给出提示 I put something in F12 for you include flag.php; $flagMRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}; if(isset($_GET[gg])&&isset($_GET[id])) { $id$_GET[i…

大数据技术架构(组件)6——Hive:流程剖析3

1.1.3、Statistics Job从OperatorTree生成Job的过程:1、对输出表生成MoveTask2、从OperatorTree中的一个根节点向下深度优先遍历3、ReduceSinkOperator标识Map/Reduce界限,多个Job间的界限4、遍历其他根节点,遇到JoinOpeartor合并MapReduceTask5、生成St…

JavaWeb-RequestResponse

JavaWeb-Request&Response 1,Request和Response的概述 Request是请求对象,Response是响应对象。这两个对象在我们使用Servlet的时候有看到: 此时,我们就需要思考一个问题request和response这两个参数的作用是什么? requ…

放假第一二天

假期 # 生活 # 水文 每年放假回家都会发生很多有意义或者说有意思、开心、喜庆的事情,而在我孩童时期那只能是一段段回忆;至于现在则是我朋友圈众多记录中的一条。 但是,从现在开始我想尝试尝试在发朋友圈的基础上再加一个文字叙述&#xff…

C语言:函数

往期文章 C语言:初识C语言C语言:分支语句和循环语句 目录往期文章前言1. 函数是什么2. 库函数3. 自定义函数4. 函数的参数5. 函数的调用6. 函数的嵌套调用和链式访问6.1 函数嵌套调用6.2 函数的链式访问7. 函数的声明和定义8. 函数的递归后记前言 今天…

什么是无线网桥?全方位解析无线网桥及应用场景

欢迎来到东用知识小课堂!1.无线网桥介绍无线网桥的主要用途就是用于桥接两个网络,它可以取代网线,在不方便布线的环境或是无法挖沟埋管,环境已经既定无法再去破坏的环境当中通过无线微波的传输方式,进行网络、视频、数…