一种基于坏账率单调的自动分箱方法与流程

未命名 08-15 阅读:235 评论:0


1.本发明涉及风险管理领域,尤其涉及一种基于坏账率单调的自动分箱方法。


背景技术:

2.风险管理是金融活动的核心,在个人信贷领域,贷款表现为单笔金额小、数量大的特点,智能风控模型覆盖贷前、贷中、贷后三个阶段的个人信贷业务全流程,依托智能风控技术,对客户风险进行及时有效的识别、预警和标识。
3.智能风控模型以大数据分析技术为基础,融合多元信息,采用机器学习或集成学习策略,从不同层面对个体进行建模打分,帮助贷款方从多个方面考察个体的还款能力、还款意愿。
4.智能风控模型(逻辑回归)的特征工程过程,通常采用分箱法对连续型特征进行离散化处理,分箱的一般原则如下:
5.1)分箱差异原则:关于坏账率,组间差异大,组内差异小;
6.2)样本占比原则:每组样本占比不低于5%,如样本量充足,该比例可以适当降低;
7.3)必须有好、坏两种样本;
8.4)分箱数量一般为3~8箱;
9.5)单调性原则:严格单调(不含缺失值分箱)或不单调但业务可解释。
10.银行系金融机构构建风控模型时,不仅要求信贷风控模型的效果良好,还要求入模特征经过分箱后,坏样本在各箱的占比趋势符合业务逻辑。
11.当前,常用的特征分箱方法分为两大类:无监督学习和有监督学习。无监督学习方法包括等频分箱、等距分箱、聚类分箱(k-means)等;有监督学习方法包括决策树分箱(decision tree)、卡方分箱(chimerge)等。现有的分箱方法,主要考虑的是特征样本数据的分布情况(如等频、等距、聚类分箱),或者特征与违约标签之间的关系(如决策树分箱、卡方分箱)。
12.上述方法未考虑分箱后,坏样本在各箱的占比趋势是否符合业务逻辑,实践中极易出现特征分箱后违约概率不单调或单一分箱占比不满足要求等情况,需要开发人员耗费大量精力手动调整分箱。
13.现有分箱方法的缺陷,有如下三点:
14.1、较多的手动调整过程耗时耗力;
15.2、人工重新寻找分箱切分点,主观干预性较大,鲁棒性差;
16.3、有些特征,无法通过合并现有分箱的方式,解决单调性的问题。


技术实现要素:

17.鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种基于坏账率单调的自动分箱方法。
18.根据本发明的一个方面,提供了一种基于坏账率单调的自动分箱方法,所述分箱
方法包括:
19.步骤s1:获取个人数值型特征,与违约标签建立待分箱数据集;
20.步骤s2:特殊值单独分箱;
21.步骤s3:正常值标记违约趋势;
22.步骤s4:按变量正常值的枚举值分箱,根据相邻两箱坏账趋势循环合并箱体;
23.步骤s5:计算正常值相邻箱体卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值;
24.步骤s6:计算正常值分箱占比,并与箱体占比预设值比较,循环合并占比低于预设值的相邻箱体;
25.步骤s7:计算正常值相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值;
26.步骤s8:拼接特殊值与正常值分箱结果,合并空值与正常值坏账率相近的分箱,计算各类指标。
27.可选的,所述步骤s1:获取个人数值型特征,与违约标签建立待分箱数据集具体包括:获取个人特征与违约标签建立待分箱数据集,选取数值型特征,与违约标签构建第一数据表t1。
28.可选的,所述步骤s2:特殊值单独分箱具体包括:
29.根据所述第一数据表t1需要单独分箱的特殊值,设置预分组编码并分箱,计算分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第二数据表t2。
30.可选的,所述步骤s3:正常值标记违约趋势具体包括:取出所述第一数据表t1中的正常值样本,标记特征坏账趋势,保留为第三数据表t3。
31.可选的,所述步骤s4:按变量正常值的枚举值分箱,根据相邻两箱坏账趋势循环合并箱体具体包括:
32.根据所述第一数据表t1正常值样本,按变量的枚举值分箱,计算分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第四数据表t4;
33.对比所述第四数据表t4相邻箱体之间单调性差异,循环合并相邻箱体坏账趋势与步骤s3标记趋势不符的分箱;
34.为保证组别间坏账率的单调性,将合并过程迭代25次,最终保留为第五数据表t5。
35.可选的,所述步骤s5:计算正常值相邻箱体卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值具体包括:
36.计算所述第五数据表t5相邻分箱的卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值,最终保留为第六数据表t6。
37.可选的,所述步骤s6:计算正常值分箱占比,并与箱体占比预设值比较,循环合并占比低于预设值的相邻箱体具体包括:
38.计算所述第六数据表t6每个分箱样本占比,循环合并占比低于最低预设值的相邻箱体;
39.为保证每组数据量满足分箱占比要求,将合并过程迭代5次,最终保留为第七数据表t7。
40.可选的,所述步骤s7:计算正常值相邻箱体坏账率差值,循环合并坏账率差值最小
的箱体,直至箱数小于等于第二个箱数预设值具体包括:
41.计算所述第七数据表t7相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值,最终保留为第八数据表t8。
42.可选的,所述步骤s8:拼接特殊值与正常值分箱结果,合并空值与正常值坏账率相近的分箱,计算各类指标具体包括:
43.将所述第二数据表t2与所述第八数据表t8两张表进行拼接;
44.合并空值与正常值坏账率相近的分箱;
45.计算各类指标,作为自动分箱结果输出。
46.可选的,所述各类指标具体包括:woe、iv值。
47.本发明提供的一种基于坏账率单调的自动分箱方法,所述分箱方法包括:获取个人数值型特征,与违约标签建立待分箱数据集;特殊值单独分箱;正常值标记违约趋势;按变量正常值的枚举值分箱,根据相邻两箱坏账趋势循环合并箱体;计算正常值相邻箱体卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值;计算正常值分箱占比,并与箱体占比预设值比较,循环合并占比低于预设值的相邻箱体;计算正常值相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值;拼接特殊值与正常值分箱结果,合并空值与正常值坏账率相近的分箱,计算各类指标。在满足单调性的前提下,无需人工重新寻找分箱切分点,最大化的保证模型效果。
48.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
49.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
50.图1为本发明实施例提供的一种基于坏账率单调的自动分箱方法的流程图;
51.图2为本发明实施例提供的绘制特征bivar图。
具体实施方式
52.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
53.本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
54.下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
55.如图1所示,单一特征的单调性分箱步骤:
56.步骤s1:获取个人特征与违约标签建立待分箱数据集,选取数值型特征,与违约标
签构建第一数据表t1;
57.步骤s2:针对第一数据表t1需要单独分箱的特殊值,设置预分组编码并分箱,计算分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第二数据表t2;
58.步骤s3:取出第一数据表t1中的正常值样本,标记特征坏账趋势,保留为第三数据表t3;
59.步骤s4:针对第一数据表t1正常值样本,按该变量的枚举值分箱,计算分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第四数据表t4;
60.对比第四数据表t4相邻箱体之间单调性差异,循环合并相邻箱体坏账趋势与步骤3标记趋势不符的分箱;为保证组别间坏账率的单调性,将上述合并过程迭代25次,最终保留为第五数据表t5;
61.步骤s5:计算第五数据表t5相邻分箱的卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值,最终保留为第六数据表t6;
62.步骤s6:计算第六数据表t6每个分箱样本占比,循环合并占比低于最低预设值的相邻箱体;为保证每组数据量满足分箱占比要求,将上述合并过程迭代5次,最终保留为第七数据表t7;
63.步骤s7:计算第七数据表t7相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值,最终保留为第八数据表t8;
64.步骤s8:将第二数据表t2与第八数据表t8两张表进行拼接;合并空值与正常值坏账率相近的分箱,最后计算woe、iv值等指标,作为自动分箱结果输出。
65.全部特征的分箱最终结果可重复步骤s1~s8获取。
66.步骤s1:获取个人特征与违约标签建立待分箱数据集,选取数值型特征,与违约标签构建第一数据表t1,如下所示:
67.账户id违约标签年龄性别...最大开户距今天数10441...24720240...nan30331...281 41nan0...254 50251...317..................282390221...261 282401251...37 28241026nan...276 282420271...182 282430211...354
68.步骤s2~s8均以特征“最大开户距今天数”为例,展示数据均为虚拟数据,其他连续性特征的分箱结果可重复步骤s1~s8获取。
69.步骤s2:根据特征值的不同,对第一数据表t1设置预分组编码;
70.人工设定分组编码,取出第一数据表t1中特殊值的样本,特殊值分别单独分成一箱,如特殊值为空值,新增分组编码为“100001”,如特殊值为其他预设数值,则分组编码为“100002”;正常值,分组编码为“100003”,结果如下所示:
[0071][0072][0073]
计算特殊值分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第二数据表t2,如下所示:
[0074]
序号分组编码阈值下限阈值上限总样本坏样本坏账率0100001nannan3379829.08%
[0075]
步骤s3:取出第一数据表t1中的正常值样本,将特征数值升序排序,等频将数据集分成2组,计算每组坏账率,比较2组坏账率的趋势,并标记该特征坏账率单调上升为“a”,或者单调下降“b”,保留为第三数据表t3;
[0076]
通过计算,特征“最大开户距今天数”的坏账标记为“b”,第三数据表t3结果如下所示:
[0077]
序号分组编码坏账率坏账差值0148.44%-0.1456321233.88%nan
[0078]
步骤s4:取出第一数据表t1中的正常值样本,按该变量的枚举值分箱(即每个唯一值单独分为一箱),并用特征数值标记组别编码,计算每组分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第四数据表t4,如下所示:
[0079]
序号分组编码阈值下限阈值上限总样本坏样本坏账率020202011100.00%1323232100.00%233333330930.00%334343426830.77%435353528932.14%.....................87011881188118811100.00%871123012301230100.00%872123512351235100.00%
87312621262126211100.00%87412851285128511100.00%
[0080]
保留第四数据表t4的第一条数据,从第二条数据开始,与上一条数据的坏账率循环比较,如果趋势与步骤s3结果一致,则保留该条数据,如果不一致,则将该条数据与上条数据合并,重新计算合并后的阈值上下限、总人数、坏人数、坏账率,保留合并数据并删除该条数据;直至最后一条数据完成比较;
[0081]
为保证组别间坏账率的单调性,将上述合并过程迭代25次,最终保留为第五数据表t5,结果如下所示:
[0082]
序号分组编码阈值下限阈值上限总样本坏样本坏账率020202011100.00%132322101475100368.00%221121122536222461.88%322622623860635758.91%423923924336519753.97%.....................1633133133449918036.07%173353353875472193735.40%1838838839356516429.03%1939439439939311328.75%2040040012853720104828.17%
[0083]
步骤s5:如果第五数据表t5分箱数量小于等于首个箱数预设值(10箱),则不操作;如果分箱数量大于首个箱数预设值,计算第五数据表t5相邻分箱的卡方值,循环合并卡方值最小的箱体,直至箱数小于等于10箱,最终保留为第六数据表t6,结果如下所示:
[0084]
序号分组编码阈值下限阈值上限总样本坏样本坏账率020202011100.00%132322101475100368.00%221121122536222461.88%.....................73353353936037210134.80%839439439939311328.75%940040012853720104828.17%
[0085]
步骤s6:设定分箱每组数据量最低占比为“c”,保留第六数据表t6的第一条数据,从第二条数据开始,计算该组数据量占比为“d”,如果“c”《=“d”,则保留该条数据,如果“c”》“d”,则将该条数据与上条数据合并,重新计算合并后的阈值上下限、总人数、坏人数、坏账率,保留合并数据并删除该条数据;直至最后一条数据完成比较,最后以同样的方法处理第一条数据;
[0086]
为保证每组数据量满足分箱占比要求,将上述合并过程迭代5次,最终保留为第七数据表t7;假设c=5%,第七数据表t7结果如下所示:
[0087]
序号分组编码阈值下限阈值上限总样本坏样本坏账率020202432809178263.44%12442442622124108150.89%226326333412823536141.81%33353353996430221434.43%440040012853720104828.17%
[0088]
步骤s7:如果第七数据表t7分箱数量小于等于第二个箱数预设值(5箱),则不操作;如果分箱数量大于第二个箱数预设值,计算t7相邻两个分箱的坏账率的差值,循环合并坏账率的差值最小的两箱,直至箱数小于等于5箱,最终保留为第八数据表t8,结果如下所示:
[0089]
序号分组编码阈值下限阈值上限总样本坏样本坏账率020202432809178263.44%12442442622124108150.89%226326333412823536141.81%33353353996430221434.43%440040012853720104828.17%
[0090]
步骤s8:将第二数据表t2与第八数据表t8两张表进行拼接,计算空值箱体与正常值箱体的坏账率差值,设定阈值为1个百分点,如果差值小于1个百分点,则将空值分箱与正常值分箱合并,反之则不操作。最终保留为第九数据表t9,结果如下所示:
[0091]
序号分组编码阈值下限阈值上限总样本坏样本坏账率020202432809178263.44%12442442622124108150.89%226326333412823536141.81%33353353996430221434.43%4400nan12854057114628.25%
[0092]
计算第九数据表t9每组数据量占比、坏账率、woe、iv值等指标作为自动分箱结果输出;为保证woe与iv值有解,当分箱好样本或坏样本为0时,设置平滑参数为0.1,平滑计算结果。步骤s8最终结果如下所示:
[0093][0094]
根据步骤s8结果,绘制特征bivar图,如图2所示。
[0095]
有益效果:单调性分箱根据预设的最低每箱样本占比、正常值最多分箱个数等参数,自动化生成分箱结果,且满足分箱的一般要求与业务合理解释性要求,供后续建模流程使用。
[0096]
在满足单调性的前提下,无需人工重新寻找分箱切分点,最大化的保证模型效果。
[0097]
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于坏账率单调的自动分箱方法,其特征在于,所述分箱方法包括:步骤s1:获取个人数值型特征,与违约标签建立待分箱数据集;步骤s2:特殊值单独分箱;步骤s3:正常值标记违约趋势;步骤s4:按变量正常值的枚举值分箱,根据相邻两箱坏账趋势循环合并箱体;步骤s5:计算正常值相邻箱体卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值;步骤s6:计算正常值分箱占比,并与箱体占比预设值比较,循环合并占比低于预设值的相邻箱体;步骤s7:计算正常值相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值;步骤s8:拼接特殊值与正常值分箱结果,合并空值与正常值坏账率相近的分箱,计算各类指标。2.根据权利要求1所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s1:获取个人数值型特征,与违约标签建立待分箱数据集具体包括:获取个人特征与违约标签建立待分箱数据集,选取数值型特征,与违约标签构建第一数据表t1。3.根据权利要求2所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s2:特殊值单独分箱具体包括:根据所述第一数据表t1需要单独分箱的特殊值,设置预分组编码并分箱,计算分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第二数据表t2。4.根据权利要求2所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s3:正常值标记违约趋势具体包括:取出所述第一数据表t1中的正常值样本,标记特征坏账趋势,保留为第三数据表t3。5.根据权利要求2所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s4:按变量正常值的枚举值分箱,根据相邻两箱坏账趋势循环合并箱体具体包括:根据所述第一数据表t1正常值样本,按变量的枚举值分箱,计算分箱的阈值上下限、总样本、坏样本、坏账率指标,保留为第四数据表t4;对比所述第四数据表t4相邻箱体之间单调性差异,循环合并相邻箱体坏账趋势与步骤s3标记趋势不符的分箱;为保证组别间坏账率的单调性,将合并过程迭代25次,最终保留为第五数据表t5。6.根据权利要求5所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s5:计算正常值相邻箱体卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值具体包括:计算所述第五数据表t5相邻分箱的卡方值,循环合并卡方值最小的箱体,直至箱数小于等于首个箱数预设值,最终保留为第六数据表t6。7.根据权利要求6所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s6:计算正常值分箱占比,并与箱体占比预设值比较,循环合并占比低于预设值的相邻箱体具体包括:计算所述第六数据表t6每个分箱样本占比,循环合并占比低于最低预设值的相邻箱
体;为保证每组数据量满足分箱占比要求,将合并过程迭代5次,最终保留为第七数据表t7。8.根据权利要求7所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s7:计算正常值相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值具体包括:计算所述第七数据表t7相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值,最终保留为第八数据表t8。9.根据权利要求8所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述步骤s8:拼接特殊值与正常值分箱结果,合并空值与正常值坏账率相近的分箱,计算各类指标具体包括:将所述第二数据表t2与所述第八数据表t8两张表进行拼接;合并空值与正常值坏账率相近的分箱;计算各类指标,作为自动分箱结果输出。10.根据权利要求9所述的一种基于坏账率单调的自动分箱方法,其特征在于,所述各类指标具体包括:woe、iv值。

技术总结
本发明提供的一种基于坏账率单调的自动分箱方法包括:获取个人数值型特征,与违约标签建立待分箱数据集;特殊值单独分箱;正常值标记违约趋势;根据相邻两箱坏账趋势循环合并箱体;计算正常值相邻箱体卡方值,直至箱数小于等于首个箱数预设值;计算正常值分箱占比,并与箱体占比预设值比较,循环合并占比低于预设值的相邻箱体;计算正常值相邻箱体坏账率差值,循环合并坏账率差值最小的箱体,直至箱数小于等于第二个箱数预设值;拼接特殊值与正常值分箱结果,合并空值与正常值坏账率相近的分箱,计算各类指标。在满足单调性的前提下,最大化的保证模型效果。化的保证模型效果。化的保证模型效果。


技术研发人员:张文文 陈兴隆
受保护的技术使用者:北银金融科技有限责任公司
技术研发日:2023.05.24
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐