本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
对变量分箱是构建评分卡的一个主要步骤,它是影响模型效果的主要因素
本文讲解评分卡变量分箱的方法,包括自动分箱与手动分箱,以及在实际中的分箱方法与例子
通过本文,可以了解在构建评分卡时,是如何对变量进行分箱的,以及具体的分箱操作
本节讲解在评分卡中,如何对变量进行分箱,以及判断变量的有效性
变量自动分箱与手动分箱
在评分卡建模之前,我们需要先对变量进行分箱
然后检查分箱后的变量是否与y强相关,将强相关的变量作为入模变量
自动分箱与选择
变量分箱可以通过自动分箱算法来完成,然后用IV值来确定变量的有效性
常用的分箱算法有:等频分箱、等距分箱、决策树分箱、KS分箱和卡方分箱等等
自动分箱是粗糙的,它一般只在如下几种场景使用:
1. 作为分箱的参考,用于辅助手动分箱
2. 在变量很多时,进行自动分箱,以筛选掉一些无效变量
3. 在"自动化建模"时为了全程无人工参与,使用自动分箱
4. 学生哥写作业时图快捷,所以使用
自动分箱时,一般根据分箱后变量的iv值来进行决定该变量是否入模
手动分箱与选择
手动分箱一般根据业务背景、配合数据分析来设置分箱,并用badrate来选择变量
"badrate分析法"进行手动分箱的方法如下:
1.先通过数据分析、业务背景设置分箱
2. 查看badrate(坏客户占比)是否"符合业务逻辑,且呈现单调趋势"
3. 在尊重业务逻辑的基础上,调整分箱,使得箱与箱之间的badrate差异尽量的大
手动分箱一般通过反复调整与分析来确定变量的分箱,并根据badrate来决定变量是否入模
评分卡-变量的分箱与选择-操作流程
在实际操作中,一般是以自动分箱为辅助、手动分箱为主来对变量进行分箱与选择
实际操作流程如下:
1.简单自动分箱或手动分箱来初步了解变量
如果变量可能有效,则进一步如下:
2. 手动调整变量分箱 ,使变量与badrate的关系更明显
在手动分箱时,也可以借鉴自动分箱的结果
3. 检查变量与badRate是否相关,确定该变量是否可以入模
备注:2和3是反复进行的,一边分箱,一边确定要不要该变量
本节通过具体的例子,来说明评分卡中是如何对变量进行分箱的
badRate法分析变量的例子
以bbb的评分卡中的rev变量为例,下面展示手动分箱的具体过程
rev变量的意义是:信贷余额占比,即待还余额/总信贷额度
试探变量的分布
在正式分箱前,我们先粗略分箱,试探rev变量的badRate趋势
由于rev是一个连续的数值变量,不妨先用等距分箱,将它分为10个分箱
初探结果如下:
可以看到,样本大部分都集中在了第0个分箱,这样不利于我们观察样本
将第0组进行细分,经过调整后,分箱如下:
![]()
从中可以看到,随着rev提升,badrate整体趋势在增大,因此,rev变量是有效的
正式分箱
进一步对rev变量进行更细致的分箱,观察上表,我们将badrate较近似的一段划为一组
初步分箱结果如下:
![]()
可以看到,badrate并不是单调的,这主要是第0组(x<=0)与第6组(x>2)较为特殊
因此,第0组与第2组badrate相似,我们将它合并,同理,将第6组与与第4组合并
最终分箱结果如下:
![]()
需要注意,这里的合并需要有业务解释支撑,例如这里把(<=0)与(0.1,0.37]合并
是因为rev<=0代表完全没有待还余额,这意味着客户可能从来都没有贷过款
因此rev<=0时,客户可能缺乏借贷意识,相比有一点待还余额(0,0.1]的客户更易坏账
所以把<=0合并到(0.1,0.37]中,它们都属于比"有一点待还余额(0,0.1]"略差的场景
这里只展示变量的分箱过程和思路,在实际中可借助任意的编程软件、或数据处理软件来实现
自动分箱结果
变量的分箱,也可以使用自动分箱算法进行分箱,一般用于快速建模或用于参考
例如,rev变量使用卡方分箱的结果如下:
对比手动分箱与卡方自动分箱,会发现卡方分箱虽然也不错,但没有手动分箱的效果更好
最重要的是,我们需要一个业务解释逻辑
如果直接使用卡方分箱的结果,它往往不符合业务逻辑,即使效果更好,但实际中会令模型过拟合
因此,在实际中,如果能手动分箱,一般都会使用手动分箱,而自动分箱仅作为辅助参考
End