风控建模之单变量分析

Posted 1k-yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了风控建模之单变量分析相关的知识,希望对你有一定的参考价值。


第2节 单变量分析

2.1 征信矢量

不管是一代还是二代征信报告,其包含的信息都是繁多且复杂的,并且无法直接使用原始数据进行CA分析和建模,为了快速、准确、全面地获取征信信息,需要对征信进行矢量提取,得到征信矢量。



提取征信矢量原则

  • 内容:涵盖个人信息、信贷记录、逾期记录、查询记录、负面原因……等多个维度
  • 时间:从近期、中期、长期多个时间维度进行切片统计,实现对客户信用变化轨迹的追踪



提取征信矢量作用

  • 快速高效解读征信报告

  • 便捷有效地建立客户个性档案

  • 使客户群体的对比简单易行

  • 用于设计准入规则与信贷策略

  • 单变量分析基础

  • 作为评分卡建模输入变量


2.2 信息熵

征信矢量提取之后,为了区分不同矢量对风险的识别能力,这时就需要计算每个矢量的信息熵,这个过程就是单变量分析,也叫CA分析。CA分析的原理及过程见下表:

变量 好客户数 好客户占比 坏客户数量 坏客户占比 好/坏指数 比率 信息熵增量
A:0 to 2 10000 10% 400 40% -4.0 -4.0 41.59
B:2 to 5 20000 20% 300 30% -1.5 -1.5 4.05
C:5 to 9 30000 30% 200 20% 1.5 1.5 4.05
D:>9 40000 40% 100 10% 4.0 4.0 41.59
合计 100000 1000 91.29

表格解读:

  • 变量:A、B、C、D是4个不同的箱体
  • 好客户占比:该箱体中好客户数量,占总好客户数量的比例
  • 坏客户占比:该箱体中坏客户数量,占总坏客户数量的比例
  • 好/坏指数:好客户占比和坏客户占比,两者值大/值小,若是坏客户占比值大,在最后结果前加负号(-)
  • 比率:好客户占比/坏客户占比,比率越小,说明坏客户占比越高
  • 信息熵增量:每个箱体中的信息熵

最后把不同箱体的信息熵增量相加,就得到该变量的信息熵。对于不同的征信矢量,信息熵越大,区分好坏客户的能力越强。


2.3 分箱

简而言之,分箱就是对变量进行分组。分箱是CA分析的第一步,也是最重要的一步。



分箱的原理

分箱的实质,其实就是对连续变量离散化、单调化、线性化的过程。

  • 离散化:让连续变量取值变成有限个(一般不超过10个)
  • 单调化:单调递增,或单调递减
  • 线性化:借助WOE转换实现线性化



分箱的好处

  • 分箱后易于模型开发的快速迭代,结果易于存储,容易拓展
  • 分箱增强了变量的鲁棒性,使模型性能更加稳定,降低了模型过拟合的风险



分箱的方法

  • 非监督性分箱(效果不好)
    • 等频分箱、等距分箱、聚类分箱等
  • 监督性分箱
    • 贪心算法:卡方分箱、Beat-KS
    • 其他方法


2.3.1卡方分箱

卡方分箱的思路,是先对变量进行离散化,然后判断相邻区间好坏客户分布是否一致。如果两个相邻区间具有类似分布,则这两个区间可以合并;否则,应当保持分开。而低卡方值表明它们具有相似分布,可以合并。



卡方分箱原理

  • 离散化:卡方分箱是「自底向上」「基于合并」的数据离散化方法
  • 卡方检验:具有最小卡方值的相邻区间进行合并,直到满足确定的停止准则



卡方分箱步骤

  • 第一步:预先设定卡方阈值
  • 第二步:根据要离散的变量对实例进行排序,然后进行等频分箱(比如2%为一组,则分成50个bin)
  • 第三步:合并区间
    • 对相邻区间进行卡方检验并计算卡方值
    • 把卡方值最小的两个区间进行合并
  • 第四步:停止合并
    • 最小卡方值超出设定的阈值
    • bin的数量达到设定的最小数值

值得注意的是,若卡方分箱中出现某个箱内全部为好客户或坏客户,则需要进行合并处理。



卡方阈值的确定

  • 根据显著性水平和自由度得到卡方值
  • 大于阈值说明相邻的两个区间有显著差异,不能合并
  • 阈值越大,离散后的区间数量越少,区间越大



单调化处理

卡方分箱后,还需对变量进行趋势处理以保证单调性。单调化的目的,是为了让变量在模型中易于解释(可解释性,保证和业务逻辑一致)。常用有两种方法:

  • 基于业务的理解:对不符合单调性的bin进行合并(比如查询类变量,一般是反的趋势,查询越多越不好)
  • 基于数据驱动:能直观看到变量的趋势变化,对不符合单调性的bin进行合并


2.3.2 Beat-KS分箱

Beat-KS分箱原理

  • 离散化:Best-KS分箱是「自顶向下」「基于拆分」的数据离散化方法
  • KS检验:选择具有最大KS值的拆分点



Beat-KS分箱步骤

  • 第零步:预先设定分箱阈值
  • 第一步:初始化,根据要离散的变量对实例进行排序,每个实例属于一个区间
  • 第二步:计算出KS最大的那个值,即为切分点,记为D,然后把数据切分成两部分
  • 重复第二步,进行递归,D左右的数据进一步拆分,直到满足以下条件
    • 下一步分箱后最小箱占比低于设定阈值
    • 下一步分箱后某个箱内全部为好客户或坏客户
    • 下一步分箱后不再单调,则考虑用其他的分箱方法


2.4 思考

目前的分箱方法(卡方分箱)如何改进?

  • 卡方分箱、Best-KS分箱得到的都是局部最优解,而不是全局最优解
  • 卡方分箱是先进行拆分再合并,所以拆分过程中可能把一些局部最优解漏掉了

以上是关于风控建模之单变量分析的主要内容,如果未能解决你的问题,请参考以下文章

Fintech建模竞赛:现金贷用户数据分析和画像

Fintech建模竞赛:现金贷用户数据分析和画像

数据分析之风控

Python金融大数据风控建模实战

Python金融大数据风控建模实战

Python金融大数据风控建模实战