• 风控建模还在用IV特征分箱“老方法”,何不试下这个更有效的实操


    对于金融信贷产品,客户违约预测是始终是风控模型体系的关键任务,只有将客户群体的风险控制在合理范围内,才能有效实现业务的综合收益。围绕信贷业务的风控建模,最经典的算法莫过于逻辑回归,由于其理论依据明确,且业务解释性较好,一直是金融信贷业务数据建模的通用方法。以贷前风控的客户违约预测场景为例,模型目标为是否违约两种情况,选择逻辑回归二分类算法来构建模型是一个首要选项。
    在采用逻辑回归建立模型的过程中,由于当模型训练的拟合效果达到最佳时,入模特征的数量往往集中在10~15个范围,因此为了较大程度保证模型拟合的效果,我们通常会采用特征工程的相关方法,来选取性能表现较好的变量作为模型训练变量池。例如特征的相关性、预测性、稳定性、重要性等维度,其中特征预测性指的是特征信息值IV(Information Value),即通过IV值大小来衡量特征对目标的区分度。但是,通过特征分箱输出指标IV只是我们习惯采用的一种特征分析方法,实际上随着特征分箱过程的实现,很容易得到特征各分箱区间的WOE值(Weight Of Evidence),而这个指标除了可用于分析特征分布趋势的单调性情况之外,还有一个非常重要的数据转化功能,那就是将原始数据进行WOE编码,可以有效提升模型训练的拟合效果。
    为了更直观说明特征分箱的效果,这里举个样例进行描述,现有某特征经分箱处理后(分箱数量5),输出的特征分箱数据如图1所示。我们经常关注的是分箱iv列,取值越大说明对应分箱区间好坏差异越明显,通过对各区间iv求和可得到特征整体IV值(0.013)。对于前边3列(number、range、woe),若从样本数据的形式来讲,可以称为特征分箱后可输出的3种数据,分别为标签数据、原始数据、WOE数据。
    在这里插入图片描述

                                                               图1 特征分箱数据分布
    
    • 1

    本文将要介绍的重点内容,并非“老生常谈”的特征IV值,而是以上描述的特征分箱后3种类型数据,对模型拟合效果的性能差异。为了便于大家对此内容的深入理解,我们围绕信贷业务常见的违约预测模型场景,通过建模来详细探究下特征分箱输出数据(原始、标签、WOE)的不同效果。
    首先,我们简要介绍下建模场景,现有一批存量信贷用户样本,在一定观察点相应的观察期与表现期窗口提取了相关特征X与目标Y数据。其中,X数据是用户观察期的历史行为表现,Y数据是用户表现期的贷后还款状态,具体为是否违约。本文选取的建模数据包含6000条样本与6个字段,部分数据样例如图2所示,其中ID为样本主键,含义为用户订单号;Var01~Var4为特征变量,取值均为数值型;Target为目标变量,取值二分类(1/0),代表用户贷后是否出现违约,二者比例约为2:3,非样本不平衡情况。
    在这里插入图片描述

                                                                   图2 建模数据样例
    
    • 1

    现以样本其中一个特征为例(Var1),来介绍下特征分箱后可输出的3种类型数据,这里选用常见的等频分箱方式来实现特征离散,分箱数量设置为10,具体过程详见知识星球代码详情。,输出结果如图4所示。
    在这里插入图片描述

                                                                    图4 特征分箱结果
    
    • 1

    针对以上特征分箱结果,我们可以看到当前特征的IV值为0.099,说明此变量对目标的预测能力尚可,明显高于实际业务通常定义的阈值0.02,可将其选入模型拟合的变量池。我们再来看特征分箱索引值number与分箱编码值woe,若原始数据需转换为此类数据,可结合特征相应区间range生成具体规则,从而在源数据上应用即可。例如,当606 对于其他特征Var2~Var4,与以上原理逻辑相同,这里不再重复赘述,所有特征的数据转换规则详见本文附带代码,转换后的建模数据包含3种类型,分别为原始数据data(无需转换)、分箱索引数据data_num、分箱WOE数据data_woe,最终生成的数据样例如图6、图7所示。
    在这里插入图片描述

                                                              图6 特征分箱索引数据
    
    • 1


    在这里插入图片描述

                                                                 图7 特征分箱WOE数据
    
    • 1

    接下来我们根据以上数据来分别建立逻辑回归模型,算法参数均采用统一默认值。同时,为了量化对比各模型的训练效果,我们输出模型评价指标Accuracy、AUC、KS,具体实现过程详见知识星球代码详情。。
    通过以上模型训练与评估过程,输出3种不同类型数据情况下的模型性能指标结果(Accuracy、AUC、KS),模型具体效果表现如图9所示。
    在这里插入图片描述

                                                                    图9 模型效果对比
    
    • 1

    由上图可以看出,经过特征分箱的转换数据(索引数据、WOE数据),在相同模型算法参数的条件下,训练得到模型的效果均比原始数据表现较好。同时,WOE数据场景下的模型效果要优于索引数据,这个结论在Accuracy、AUC、KS各指标上都有体现。因此,采用逻辑回归构建风控模型时,例如本例的客户违约预测模型,我们通过特征分箱方式对变量进行分析时,根据输出的特征IV值用于字段筛选只是一种常用方法,而更重要的是对原始数据进行woe转换,这样有利于模型训练拟合效果的提升。
    综合以上内容,我们围绕信贷违约预测的建模场景,通过特征分箱可输出的3种不同类型数据,来对比分析模型训练拟合的效果,最终也证明了WOE数据对模型性能有较明显的提升作用。为了便于大家对以上内容的进一步理解与熟悉,本文额外附带了Python代码与样本数据,详情请移至知识星球查看相关内容。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    ~原创文章

  • 相关阅读:
    vector的模拟实现
    【Java EE初阶二十五】简单的表白墙(一)
    IDEA快捷键第二版
    计算机毕业设计(附源码)python羽毛球场地管理系统
    cadence SPB17.4 - CIS DB - add MECHANICAL part
    【前端】Vue2 脚手架模块化开发 -快速入门
    RetinaNet-Obj
    高校教务系统登录页面JS分析——华南理工大学
    C++ 继承之栈溢出对象大小涉及的编程规范
    阿里云服务器本地地域武汉、福州和南京详细介绍
  • 原文地址:https://blog.csdn.net/weixin_45545159/article/details/127794689