笔记︱信用风险模型(申请评分、行为评分)与数据准备(违约期限、WOE转化)

巴塞尔协议定义了金融风险类型:市场风险、作业风险、信用风险。信用风险ABC模型有进件申请评分、行为评分、催收评分。

————————————————————————————————————

一、数据准备

1、排除一些特定的建模客户

用于建模的客户或者申请者必须是日常审批过程中接触到的,需要排除以下两类人:

异常行为:销户、按条例拒绝、特殊账户;

特殊账户:出国、卡丢失/失窃、死亡、未成年、员工账户、VIP;

其他:欺诈(根据反欺诈评分)、主动销户者(流失评分)

2、解释指标的选取

(1)申请评分所需指标

信用风险中,申请评分所采纳的指标有很多,譬如可以参考FICO信用分中的一些,参考:笔记︱金融风险控制基础常识——巴塞尔协议+信用评分卡Fico信用分

其中2.1FICO信用分的计算方法给出了一些评判标准

(2)行为评分所需指标

图片来自CDA-DSC课程中。

3、目标变量的确立

对于预测建模,定义目标变量是最重要、对建模结果影响最大的一步。银行业信用评分解决方案默认的目标时间定义选择二分类变量为:不良/逾期、良好。

不良/逾期:观察窗口内,观察窗口内,60/90/120天算逾期日期;

良好:从未或截止逾期;从未或在观察期内截止逾期

其中关于不良/逾期需要界定以下两项内容:确定违约日期时长、观察窗口期设置。

————————————————————————————————————

二、确定违约日期时长、观察窗口期设置

其中有两个时期,观察窗口期、预测窗口期。预测窗口期时间由账龄分析获取,观察窗口期大约就是预测窗口的3-5倍。巴塞尔协议中规定预测窗口期一般为12个月,所以一般实务中以12个月为窗口期。在已知预测窗口期之下,通过转移矩阵了解违约期具体时长。

(PS:虽然做了总结,但是还没明白老师上课所讲的,为什么这么做?怎么出结果?)

评论区网友Love_sf留言:

窗口期为一年12个月,观察窗口为预测窗口的3-5倍,即观察窗口为9个月,预测窗口3个月,或者观察窗口为10个月,预测窗口2个月,定义M2+或者M3+作为违约用户,这样才能用来建模预测坏用户出现概率。

1、违约日期的确定——转移矩阵

不同账期客户转移到更坏概率不同,选取显著变化的节点。

图中可以看出,第一个月不还拖欠到下一个月的概率为M0=7.96%,第二个月不还拖欠到下个月的有M1=57.26%,M2=64.48%,M3=79%,M4=83.77%。

从这里可以看出,第五个月是一个拐点,说明第五月之后就很难催到账务。所以,催帐日期可以选择3月。同时,超过5月包括5月的都属于违约行为。

2、违约窗口期设置——账龄分析

一般情况下巴塞尔协议硬性要求12个月及以上作为窗口期。一般情况下,观察窗口=3-5倍的预测窗口。

决定信用评等模型开发所需数据期间长度,一般会从最新资料的留存时点开始推算,利用账龄分析观察目标客户的违约成熟期长度,借此设定观察期长度(预测窗口的时间长度)。比如200901开卡的人,第10个月,稳定成熟了,绩效时间可以确定为10-12个月;200902开卡的人,第11个月,稳定成熟了,11-12个月。

————————————————————————————————————

三、数据重编码——WOE转换

由于制作评分卡的某些需要,通常会在建立评分模型时将自变量(连续+离散都可以)做离散化处理(等宽切割,等高切割,或者利用决策树来切割),但是模型本身没办法很好地直接接受分类自变量的输入。所以信用评分卡中常用的WOE转换。

WOE转换=分箱法=Logit值,与等深、等宽不同是根据被解释变量来重新定义一个WOE值(R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化))。

WOE的公式就是:WOE=ln(好客户占比/坏客户占比)*100%=优势比

好客户占比=数量(x︱y=好)/总人数

WOE转化的优势:提升模型的预测效果,提高模型的可理解性。

1、WOE与违约概率具有某种线性关系

从而通过这种WOE编码可以发现自变量与目标变量之间的非线性关系(例如U型或者倒U型关系)。提升预测效果

2、WOE变量出现负值情况。

在此基础上,我们可以预料到模型拟合出来的自变量系数应该都是正数,如果结果中出现了负数,应当考虑是否是来自自变量多重共线性的影响。

3、标准化的功能。

WOE编码之后,自变量其实具备了某种标准化的性质,也就是说,自变量内部的各个取值之间都可以直接进行比较(WOE之间的比较),而不同自变量之间的各种取值也可以通过WOE进行直接的比较。

4、WOE能反映自变量的贡献情况。

自变量内部WOE值的变异(波动)情况,结合模型拟合出的系数,构造出各个自变量的贡献率及相对重要性。一般地,系数越大,woe的方差越大,则自变量的贡献率越大(类似于某种方差贡献率),这也能够很直观地理解。

5、异常值处理。

很多极值变量通过WOE可以变为非异常值.

譬如解决分类之后,一些案例个数过少的情况。案例个数过少的情况一般情况下可以合并,也可以用WOE转化来实现。

转化之后可能值变成这个样子,跳跃很大,可以作为用盖帽法等方法解决。

时间: 2024-10-10 07:45:05

笔记︱信用风险模型(申请评分、行为评分)与数据准备(违约期限、WOE转化)的相关文章

七月算法-12月机器学习在线班--第十五次课笔记—主题模型

七月算法-12月机器学习--第十五次课笔记—主题模型 七月算法(julyedu.com)12月机器学习在线班学习笔记http://www.julyedu.com 复习的知识: 1.,Γ函数 是阶乘在实数上的推广,即实数的阶乘 2,Beta分布 Beta分布的概率密度: 其中系数B为: 两者的关系 1,朴素贝叶斯分析 朴素贝叶斯没有分析语意,无法解决语料中一词多义和多词一义的问题,更像是词法的分析,可以 一, 1个词可能被映射到多个主题中——一词多义 二,多个词可能被映射到某个主题的概率很高——多

学习笔记-CIFAR10模型理解简述

学习笔记-CIFAR10模型理解简述 整个结构中包含三个convolution layer.三个pooling layer和两个fully connected layer. 每个层有多个Feature Map,每个Feature Map通过一种卷积滤波器提取输入的一种特征,然后每个Feature Map有多个神经元. 首先是数据层,测试数据100张为一批(batch_size),后面括号内是数据总大小.如100*32*32*3= 307200 Top shape: 100 3 32 32 (30

CR开发笔记-4模型。。我的审美去哪里了

我的审美去哪里了. 呃 好吧,今天基本上没什么代码. maya建模就弄出来了这个鬼东西 审美不见惹 世界的恶意,没有游戏原画的悲哀. 今天针对这个逗比的模型说一说吧. 美观什么的,美感君已经死了. 真的死了. 和谐君也死了. 强调3点 1.maya里渲染出来的效果,你不要相信,unity不支持辉光,只支持光晕.到unity里你的东西一般是非常屌丝的 2.输出文件为fbx,为啥是fbx,fbx,3dmax可以用 maya可以用 都可以用,容量小,相对的,很多材质不支持,但是利大于弊. 输出fbx需

【机器学习 第2章 学习笔记】模型评估与选择

1.训练误差:学习器在训练集上的误差,也称“经验误差” 2.泛化误差:学习器在新样本上的误差 显然,我们的目标是得到在新样本上表现更好的学习器,即泛化误差要小 3.过拟合:学习器把训练样本学的太好了,导致泛化性能下降(学过头了...让我联想到有些人死读书,读死书,僵化,不懂得变通和举一反三) 原因:学习能力过于强大,把一些不太一般的特性也学了进来 针对措施:不好解决,是机器学习面临的关键障碍 4.欠拟合:就是连训练集都没学好,更别说泛化了(有点管中窥豹,盲人摸象的意思). 原因: 学习能力低下

【Ext.Net学习笔记】04:Ext.Net中使用数据、Ext.Net Store的用法、Ext.Net ComboBox用法

之前的几篇文章都是介绍Ext.Net较为基础的东西,今天的这一篇将介绍数据的一些用法,包括XTemplate绑定数据.Store(Modal.Proxy).ComboBox的用法等. XTemplate绑定数据 XTemplate是个模板,当我们为一个XTemplate绑定数据之后,将会按照模板的预定格式进行显示. <ext:Window runat="server" ID="win1" Title="XTemplates用法" Width

Android学习笔记(十二)——使用意图传递数据的几种方式

使用意图传递数据的几种方式 点此获取完整代码 我们除了要从活动返回数据,也常常要传递数据给活动.对此我们可以使用Intent对象将这些数据传递给目标活动. 1.创建一个名为PassingData的项目,在activity_main.xml文件中添加一个Button: <Button android:id="@+id/btn_SecondActivity" android:layout_width="fill_parent" android:layout_hei

python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6, Python 2.7 测试环境) 大

Sharepoint2013商务智能学习笔记之使用Current User Filter筛选Excel 数据(六)

Sharepoint自带的filter可以和Excel Web Access互动,下面将制作一个Demo,使用Current User Filter根据当前登录用户自动筛选Excel. 第一步,用Excel打开章节五制作的Excel文件 第二步,新建筛选器 第三步,给gender筛选器命名 第四步,保存文件并上传到sharepoint 第五步,修改用户配置文件,从管理中心,应用程序管理区域点击管理服务应用程序,进入到应用程序管理列表,然后点击User Profile Service实例 第六步,

Python scikit-learn 学习笔记—鸢尾花模型

鸢尾花数据是一个简易有趣的数据集.这个数据集来源于科学家在一岛上找到一种花的三种不同亚类别,分别叫做setosa,versicolor,virginica.但是这三个种类并不是很好分辩,所以他们又从花萼长度,花萼宽度,花瓣长度,花瓣宽度这四个角度测量不同的种类用于定量分析.基于这四个特征,这些数据成了一个多重变量分析的数据集.下面,我们就利用sklearn试着从不同的角度去分析一下这个数据集. 第一种思路是这样:这三种不同的品种每一种想必都会有特点或者存在一定的相似性.我们不妨先把这些杂乱无章的