评分卡模型——

参考资料:
cart决策树分箱法:https://blog.csdn.net/weixin_42097808/article/details/80172824
IV及WOE详解:https://blog.csdn.net/kevin7658/article/details/50780391
卡方分箱:https://blog.csdn.net/hxcaifly/article/details/80203663
bad rate单调性:https://blog.csdn.net/shenxiaoming77/article/details/79548807
建模数据集:https://www.kaggle.com/uciml/default-of-credit-card-clients-dataset/home/
贝叶斯因子:https://www.sohu.com/a/196264891_687826

金融行业常用的评分卡模型主要包含如下几个主流程:


image.png

一、数据准备

    数据源主要包含行内行外两部分:行内的有客户的基础人口统计特征数据、交易历史数据、信用历史数据等;外部数据有人行征信数据、第三方征信机构数据及社交行为数据等。

二、数据探索

   对获得的原始数据进行进一步的探索,观察样本的总体分布情况,正负样本是否均衡?    --不均衡样本的处理方法:从数据角度、从算法角度、代价敏感学习
   单变量分布是否满足正态分布? 
   变量的缺失情况?    --缺失值处理方法:整列删除、众数填充
   是否有异常值?       --箱线图观察、woe变换可以消除异常值影响
   变量间的共线性情况如何,评分卡模型主要是使用逻辑回归算法进行建模,要求变量间共线性尽可能低。   --热力图观察变量间共线性,
  变量规模
   一切就绪后,确定模型的观察期和表现期,确定数据集分割方法,划分训练集和测试集。??--确定坏用户的标准?逾期多久算违约

三、数据预处理

    主要工作包括数据清洗、缺失值处理、异常值处理、数据标准化等,主要目的是将获取的原始数据转变成可用于建模的结构化数据。
    类别变量处理方式:无序类别变量、有序类别变量
           
                            
    连续变量处理方式:分箱、
  


 
   在信用评分卡中一般使用逻辑回归作为主要的模型。过程主要包括变量分箱、变量的WOE(证据权重)变换和变量选择(IV值)、逻辑回归估算。

(1)类别变量根据类别直接进行WOE变换,连续变量要先进行变量分箱再进行WOE变换。
(2)特征处理阶段主要有两个概念:WOE和IV。

1.分箱——将连续变量离散化,或者将具有很多状态的离散变量合并成少状态
2.分箱的优势:
-对异常值不敏感,如年龄300岁;
-降低模型过拟合风险;
-可以学习到样本的非线性信息?

3.分箱方法:
无监督:等宽、等频、聚类(k-means)
有监督:卡方分箱法、单变量决策树算法(ID3、C4.5、CART)、IV最大化分箱法、best-ks分箱法
creportgen.utils.discretization
4.卡方分箱算法:
卡方分箱是自底向上的(即基于合并的)数据离散化方法。具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。

   4.1基本思想:对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它们应当保持分开。而低卡方值表明它们具有相似的类分布。 

   4.2分箱步骤:
         1)设定卡方阈值
         2)根据要离散的属性值对实例进行排序
         3)计算每一对相邻区间的卡方值
         4)将卡方值最小的一对区间进行合并
         5)重复3)4)两步直至满足停止条件
image.png
         停止条件有如下两种选择:
      (1)分箱个数:限制最终的分箱个数结果,每次将样本中具有最小卡方值的  区间与相邻的最小卡方区间进行合并,直到分箱个数达到限制条件为止。
      (2)卡方阈值:根据自由度和显著性水平得到对应的卡方阈值,如果分箱的各区间最小卡方值小于卡方阈值,则继续合并,直到最小卡方值超过设定阈值为止。

   4.3卡方阈值的确定: 根据显著性水平和自由度得到卡方值 ,卡方阈值的自由度为 分箱数-1,显著性水平可以取10%,5%或1%。
    例如:有3类,自由度为2,则90%置信度(10%显著性水平)下,卡方的值为4.6。

   4.4阈值的意义 
    类别和属性独立时,有90%的可能性,计算得到的卡方值会小于4.6。 大于阈值4.6的卡方值就说明属性和类不是相互独立的,不能合并。如果阈值选的大,区间合并就会进行很多次,离散后的区间数量少、区间大。

5.分箱后检验Bad Rate单调性
Bad Rate:坏样本率,指的是将特征进行分箱之后,每个bin下的样本所统计得到的坏样本率
bad rate 单调性与不同的特征场景:
在评分卡模型中,对于比较严格的评分模型,会要求连续性变量和有序性的变量在经过分箱后需要保证bad rate的单调性。
1. 连续性变量:
在严格的评分卡模型中,对于连续型变量就需要满足分箱后 所有的bin的 bad rate 要满足单调性,只有满足单调新的情况下,才能进行后续的WOE编码
2. 离散型变量:
离散化程度高,且无序的变量:
比如省份,职业等,我们会根据每个省份信息统计得到bad rate 数值对原始省份信息进行编码,这样就转化为了连续性变 量,进行后续的分箱操作,对于经过bad rate编码后的特征数据,天然单调。
只有当分箱后的所有的bin的bad rate 呈现单调性,才可以进行下一步的WOE编码。
离散化程度低,且无序的变量:
比如婚姻状况,只有四五个状态值,因此就不需要专门进行bad rate数值编码,只要求出每个离散值对应的bin的bad rate比例是否出现0或者1的情况,若出现说明正负样本的分布存在极端情况,需要对该bin与其他bin进行合并, 合并过程完了之后 就可以直接进行后续的WOE编码

    有序的离散变量:
    对于学历这种情况,存在着小学,初中,高中,本科,硕士,博士等几种情况,而且从业务角度来说 这些离散值是有序的, 因此我们在分箱的时候,必须保证bin之间的有序性,再根据bad rate 是否为0 或者1的情况 决定是否进行合并,最终将合并的结果进行WOE编码

因此bad rate单调性只在连续性数值变量和有序性离散变量分箱的过程中会考虑。

 bad rate要求单调性的原因分析:
1. 逻辑回归模型本身不要求特征对目标变量的单调性。之所以要求分箱后单调,主要是从业务角度考虑,解释、使用起来方便一点。如果有某个(分箱后的)特征对目标变量不单调,会加剧模型解释型的复杂化
2. 对于像年龄这种特征,其对目标变量往往是一个U型或倒U型的分布,有些公司/部门/团队是允许变量的bad rate呈(倒)U型的。

5.WOE变换


image.png

其中,pyi是这个组中坏客户(此处风险模型中判别的是好坏客户)占所有样本中所有坏客户的比例,pni是这个组中好客户占样本中所有好客户的比例,#yi是这个组中坏客户的数量,#ni是这个组中好客户的数量,#yT是样本中所有坏客户的数量,#nT是样本中所有好客户的数量。

      WOE表示的实际上是“当前分组中坏客户占所有坏客户的比例”和“当前分组中好客户占所有好客户的比例”的差异。WOE也可以这么理解,他表示的是当前这个组中坏客户和好客户的比值,和所有样本中这个比值的差异。这个差异是用这两个比值的比值,再取对数来表示的。WOE越大,这种差异越大,这个分组里的样本是坏客户的可能性就越大,WOE越小,差异越小,这个分组里的样本是坏客户的可能性就越小。
      sklearn.reportgen.utils.weightOfEvidence

6.IV值计算
计算公式如下:


image.png

有了一个变量各分组的IV值,我们就可以计算整个变量的IV值,方法很简单,就是把各分组的IV相加:

image.png

其中,n为变量分组个数。
IV的特点:
a、对于变量的一个分组,这个分组的好用户和坏用户的比例与样本整体响应和未响应的比例相差越大,IV值越大,否则,IV值越小;
b、极端情况下,当前分组的好用户和坏用户的比例和样本整体的好用户和坏用户的比例相等时,IV值为0;
c、IV值的取值范围是[0,+∞),且,当当前分组中只包含好用户或者坏用户时,IV = +∞。

 使用IV其实有一个缺点,就是不能自动处理变量的分组中出现响应比例为0或100%的情况。那么,遇到响应比例为0或者100%的情况,我们应该怎么做呢?建议如下:

(1)如果可能,直接把这个分组做成一个规则,作为模型的前置条件或补充条件;

(2)重新对变量进行离散化或分组,使每个分组的响应比例都不为0且不为100%,尤其是当一个分组个体数很小时(比如小于100个),强烈建议这样做,因为本身把一个分组个体数弄得很小就不是太合理。

(3)如果上面两种方法都无法使用,建议人工把该分组的响应数和非响应的数量进行一定的调整。如果响应数原本为0,可以人工调整响应数为1,如果非响应数原本为0,可以人工调整非响应数为1.

IV值判断变量预测能力的标准
< 0.02: unpredictive,0.02 to 0.1: weak,0.1 to 0.3: medium,0.3 to 0.5: strong,>0.5: suspicious,一般选取大于0.02的

四、建模准备

待补充:
特征筛选
逻辑回归建模
模型评估
模型输出

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343