评分卡模型学习2

本文详细介绍了WOE和IV的计算步骤,涉及连续变量分箱、评分卡开发流程以及qcut和cut的区别。在评分卡开发中,通过数据探索、缺失值处理、特征分箱筛选、WOE计算和逻辑回归建模,以IV值为筛选标准。此外,探讨了特征分箱的优势,如降低过拟合风险和捕获非线性信息。同时,解释了KS指标在模型区分度评估中的应用,提供了一种计算KS的方法,并强调了高KS值的重要性。
摘要由CSDN通过智能技术生成


WOE和IV计算步骤

  • Step1,对于连续型变量,进行分箱(binning),可以选择等频、等距,或者自定义间隔,对于离散型变量,如果分箱太多,则进行分箱合并
  • Step2,统计每个分箱里的好人数(bin_goods)和坏人数(bin_bads)
  • Step3,分别除以总的好人数(total_goods)和坏人数(total_bads),得到每个分箱内的边际好人占比margin_good_rate和边际坏人比margin_bad_rate
  • Step4,计算每个分箱的WOE
  • Step5,检查每个分箱(除null分箱外)里WOE值是否满足单调性,若不满足,返回step1

说明:null分箱由于有明确的业务解释,因此不需要考虑满足单调性

  • Step6,计算每个分箱里的IV,最终求和,即得到最终的IV
# 计算WOE 和 IV (公式)
margin_bad_rate = bad/total_bads
margin_good_rate = good/total_goods

WOE=ln(margin_bad_rate/margin_good_rate)
IV=(bad/total_bads - good/total_goods)*WOE

评分卡开发流程

  • Step1,数据探索性分析
    • 违约率分析
    • 缺失值分析
  • Step2,数据缺失值填充,采用简单规则,如使用中位数进行填充
  • Step3,变量分箱
    • 1)对于age字段,分成6段 [-math.inf, 25, 40, 50, 60, 70, math.inf]

    • 2)对于NumberOfDependents(家属人数)字段,分成6段 [-math.inf,2,4,6,8,10,math.inf]

    • 3)对于3种逾期次数,即NumberOfTime30-59DaysPastDueNotWorse,NumberOfTime60-89DaysPastDueNotWorse,NumberOfTimes90DaysLate,分成10段
      [-math.inf,1,2,3,4,5,6,7,8,9,math.inf]

    • 4)对于其余字段,即RevolvingUtilizationOfUnsecuredLines, DebtRatio, MonthlyIncome, NumberOfOpenCreditLinesAndLoans, NumberRealEstateLoansOrLines 分成5段

  • Step4,特征筛选
    使用IV值衡量自变量的预测能力,筛选IV值>0.1的特征字段
  • Step5,对于筛选出来的特征,计算每个bin的WOE值
  • Step6,使用逻辑回归进行建模
    • 训练集、测试集切分
    • 计算LR的准确率
  • Step7,评分卡模型转换
    在这里插入图片描述

qcut和cut区别

qcut:传入参数,要将数据分成多少组,即组的个数,具体的组距是由代码计算
cut:传入参数,是分组依据。具体见示例

x = np.array([41, 3, 21, 34, 17, 8])
# 等频分
pd.qcut(x, 3).value_counts()

output:
(2.999, 14.0]     2
(14.0, 25.333]    2
(25.333, 41.0]    2
dtype: int64

# 等距分
pd.cut(x, 3).value_counts()

output:
(2.962, 15.667]     2
(15.667, 28.333]    2
(28.333, 41.0]      2
dtype: int64

特征分箱后的优势

  • 连续变量离散化,或者将具有很多状态的离散变量合并成少状态
  • 降低模型过拟合风险
  • 可以学习到样本的非线性信息

评估指标KS

在风控中,KS常用于评估模型区分度。区分度越大,说明模型的风险排序能力(ranking ability)越强
在这里插入图片描述
计算每个分箱区间累计坏账户占比与累计好账户占比差的绝对值,得到KS曲线
在这些绝对值中取最大值,得到此变量最终的KS值

计算KS的常见方法

step 1. 对变量进行分箱(binning),可以选择等频、等距,或者自定义距离。
step 2. 计算每个分箱区间的好账户数(goods)和坏账户数(bads)。
step 3. 计算每个分箱区间的累计好账户数占总好账户数比率(cum_good_rate)和累计坏账户数占总坏账户数比率(cum_bad_rate)。
step 4. 计算每个分箱区间累计坏账户占比与累计好账户占比差的绝对值,得到KS曲线。
step 5. 在这些绝对值中取最大值,得到此变量最终的KS值。

KS 评估

KS值的取值范围是[0,1],一般习惯乘以100%。通常来说,KS越大,表明正负样本区分程度越好。但KS不仅仅只是一个数值指标,其背后蕴藏着很多原因,值得我们结合业务去认真分析

风控模型—区分度评估指标(KS)深入理解应用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值