Operations Research and Fuzziology
Vol. 09  No. 03 ( 2019 ), Article ID: 31651 , 10 pages
10.12677/ORF.2019.93025

A Credit Scoring Technology Based on Bayes Discriminant Analysis

Shenghua Zhou

Rizhao Marine Engineering Vocational College, Rizhao Shandong

Received: Jul. 19th, 2019; accepted: Aug. 2nd, 2019; published: Aug. 9th, 2019

ABSTRACT

According to FICO Score theory and Bayes Discrimination, the credit scoring model is derived, which ends up as an optimization model with linear objective function and quadratic equality constraints. Finally, compared with Logistic Regression through an example, the result shows that the credit scoring model is effective and can support application scenarios of practical business better.

Keywords:Credit Scoring, Bayes Discriminant Analysis, Divergence Model, Binning Weight, Score Scaling

一种基于贝叶斯判别的信用评分方法

周声华

日照航海工程职业学院,山东 日照

收稿日期:2019年7月19日;录用日期:2019年8月2日;发布日期:2019年8月9日

摘 要

本文借鉴了FICO评分的思想,基于贝叶斯判别定理推导出一套评分模型,评分模型最终为一个目标函数是线性函数,约束条件含有二次等式约束的最优化问题。最后,通过一个实例与Logistic回归做了对比,实例结果表明模型是有效的,且模型能够更好的支持实际业务应用场景。

关键词 :信用评分,贝叶斯判别,区分度模型,分箱权重,尺度化

Copyright © 2019 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 概述

在信用评分方面,美国Fair Isaac Corp公司的评分(以下简称FICO评分 [1] )是应用最为成熟的一种评分模型,该评分在300~850之间,信用评分越高,说明客户的信用风险越小。除此之外,Logistic回归 [2] [3] 、决策树、神经网络等也是常用的评分方法。

本文借鉴了FICO评分的思想,并基于贝叶斯判别定理推导出了一套信用评分模型(以下简称评分模型),该模型是一个目标函数为线性函数,约束条件为二次型的最优化模型。本文评分模型所具有的优点是:

① 本文评分模型得到的是非常直观的整数权重,这对不懂评分技术的业务人员来讲,能够很方便的对评分结果进行解读和应用。

② 当业务人员拒绝客户的信用业务申请时,可以依据评分结果给予合理的拒绝原因。

③ 利用本文评分模型得到的多张评分卡,可以方便的比较、混合使用。

④ 鉴于以往的项目经验:本文评分模型的稳健性是非常好的,利用本文方法建立好的评分卡应用3年后仍然有很好的预测性,而Logistic回归、决策树要逊色很多。

2. 基于贝叶斯判别的评分模型

评分模型的建立分为5个步骤:输入变量的筛选、输入变量的分箱、评分模型的求解与评估、评分结果的拟合与尺度化、评分模型的部署。

本文研究的内容主要是:评分模型的建立、评分结果的拟合与尺度化。

假设有一批信用良好的客户样本(以下简称好客户样本)和信用不良的客户样本(以下简称坏客户样本),我们要通过这两组样本数据建立评分模型。基于以往业务经验对评分模型做如下要求和假设:

① 客户信用评分S越大,代表该客户是好客户的概率越大;反之,代表是坏客户的概率越大。

② 好客户样本评分 S g 服从正态分布 N ( S ¯ g , σ g 2 ) S ¯ g 为好客户样本均值, σ g 2 为好客户样本方差; S g 的密度函数为 f g ( S )

③ 坏客户样本评分服从正态分布 N ( S ¯ b , σ b 2 ) S ¯ b 为坏客户样本均值, σ b 2 为坏客户样本方差; S b 的密度函数为 f b ( S )

p ( g | S ) :信用评分为S的客户是好客户的概率; p ( b | S ) :信用评分为S的客户是坏客户的概率;

o d d s ( S ) = p ( g | S ) / p ( b | S ) :信用评分S对应的好、坏客户的概率比。

⑥ 评分模型有p个输入变量,各分箱组数分别是 q 1 , q 2 , , q p 个,各分箱权重分别如下:

第1个输入变量的分箱权重为: w 11 , , w 1 q 1

.......

第p个输入变量的分箱权重为: w p 1 , , w p q p

记: w = ( w 11 , , w 1 q 1 , w , 21 , w 2 q 2 , , w p q p ) T T = i = 1 p q i :总共分箱组数。

⑦ 好客户样本m个,分别为: g ( 1 ) , , g ( m ) ;坏客户样本n个,分别为: b ( 1 ) , , b ( n )

g ( r ) = ( g 11 ( r ) , , g 1 q 1 ( r ) , , g p 1 ( r ) , , g p q p ( r ) ) T ( 1 r m )

b ( r ) = ( b 11 ( r ) , , b 1 q 1 ( r ) , , b p 1 ( r ) , , b p q p ( r ) ) T ( ( 1 r n )

注:对于每个样本第 i ( 1 i p ) 个输入变量的分箱取值 x i , 1 , x i , 2 , , x i , q i 中,有且仅有一个分箱值为1,其他值为0,表示该样本第i输入变量值落在取值为1的分箱区间内。

⑧ 样本中好客户占比 p g = m / ( m + n ) ,坏客户占比 p b = n / ( m + n )

S g ( r ) :第r个好客户样本的信用评分 ( 1 r m ) S b ( r ) :第r个坏客户样本的信用评分 ( 1 r n )

基于①、②、③的要求和假设,我们可以画出评分分布示意图如图1所示:

Figure 1. The diagram of score distribution

图1. 评分分布示意图

为了能尽量区分好、坏客户两个群体,显然好客户的信用评分应该尽量大,坏客户的信用评分应该尽量小,我们以此建立我们评分模型的目标函数:

max r = 1 m S g ( r ) r = 1 n S b ( r ) (1)

接下来,我们确定评分模型的约束条件:

首先,由贝叶斯判别定理 [4] [5] ,可得

p ( g | S ) = p g f g ( S ) , p ( b | S ) = p b f b (S)

ln ( o d d s ( S ) ) = ln ( p g / p b ) + ln ( f g ( S ) / f b ( S ) ) (2)

为了在拟合阶段中,评分结果与客户好坏的概率值能建立函数关系,我们在模型建立时就要考虑评分S与 p ( g | S ) , p ( b | S ) 的关系。

由于 ln ( p g / p b ) 是个定值,不妨就假设: ln ( o d d s ( S ) ) = ln ( p g / p b ) + S

S = ln ( f g ( S ) / f b ( S ) ) (3)

这样就建立了S与 p ( g | S ) , p ( b | S ) 的函数关系,且S越大, p ( g | S ) 越大, p ( b | S ) 越小。

又因为 S g ~ N ( S ¯ g , σ g 2 ) S b ~ N ( S ¯ b , σ b 2 ) ,所以

ln ( f g ( S ) / f b ( S ) ) = ln ( 1 2 π σ g exp ( ( S S ¯ g ) 2 2 σ g 2 ) ) ln ( 1 2 π σ b exp ( S S ¯ b ) 2 2 σ b 2 ) = ( 1 2 σ b 2 1 2 σ g 2 ) S 2 + ( S ¯ g σ g 2 S ¯ b σ b 2 ) S + ( S ¯ b 2 2 σ b 2 S ¯ g 2 2 σ g 2 )

由(3)得 σ g 2 = σ b 2 S ¯ g S ¯ b = σ g 2 S ¯ g + S ¯ b = 0

这样我们就可以得到一个初步的评分模型:

max r = 1 m S g ( r ) r = 1 n S b ( r ) s .t . { σ g 2 σ b 2 = 0 S ¯ g S ¯ b = σ g 2 S ¯ g + S ¯ b = 0 (4)

实际上,好、坏客户两类群体信用评分的方差一般不会完全相等,而且在数据测试中我们发现 σ g 2 σ b 2 不需要严格相等,效果会更好一些,这样我们可以把约束条件 σ g 2 σ b 2 = 0 去掉,同时 S ¯ g S ¯ b = σ g 2 改为 S ¯ g S ¯ b = 0.5 ( σ g 2 + σ b 2 )

另外,如果对S不加约束,由(4)求得的目标函数会异常大,甚至求不出最优解,因此需要对信用评分S的取值范围加以约束,可以想到的方法有:

① 直接将S约束在某一区间范围内;

② 将每个分箱权重约束在某一范围内;

③ 设定各分箱权重的平方和小于某个阈值。

这3种方法都是有效的,但我们发现:第3种约束效果要好一些。另外,考虑到不同的评分模型其分箱组数是会不一样的,为了模型的普适性,我们采用“各分箱权重平方和的平均值小于某个阈值”来对S进行约束。这样,评分模型进一步优化为:

max r = 1 m S g ( r ) r = 1 n S b ( r ) s .t . { S ¯ g S ¯ b = 0.5 ( σ g 2 + σ b 2 ) S ¯ g + S ¯ b = 0 1 T i = 1 p j = 1 q i w i j 2 K (5)

其中,T为分箱组数,K为阈值(在本文实例计算中, K = 2 效果比较理想)。

3. 评分模型的参数推导

下面我们进行具体的参数推导,由前面的假设我们可以得出:

第r个好客户样本的信用评分:

S g ( r ) = ( g ( r ) ) T w = i = 1 p j = 1 q i g i j ( r ) w i j ( 1 r m )

r 个坏客户样本的信用评分:

S b ( r ) = ( b ( r ) ) T w = i = 1 p j = 1 q i b i j ( r ) w i j ( 1 r n )

好客户样本信用评分之和:

r = 1 m S g ( r ) = r = 1 m ( g ( r ) ) T w = ( r = 1 m ( g ( r ) ) T ) w

坏客户样本信用评分之和:

r = 1 n S b ( r ) = r = 1 n ( b ( r ) ) T w = ( r = 1 n ( b ( r ) ) T ) w

好客户样本信用评分平均值:

S ¯ g = 1 m r = 1 m S g ( r ) = ( 1 m r = 1 m ( g ( r ) ) T ) w

坏客户样本信用评分平均值:

S ¯ b = 1 n r = 1 n S b ( r ) = ( 1 n r = 1 n ( b ( r ) ) T ) w

好客户样本信用评分方差:

σ g 2 = E ( S g S ¯ g ) 2 = 1 m r = 1 m ( S g ( r ) S ¯ g ) 2 = 1 m r = 1 m ( ( g ( r ) 1 m r = 1 m g ( r ) ) T w ) 2 = 1 m r = 1 m ( w T ( g ( r ) 1 m r = 1 m g ( r ) ) ( g ( r ) 1 m r = 1 m g ( r ) ) T w ) = 1 m w T r = 1 m ( ( g ( r ) 1 m r = 1 m g ( r ) ) ( g ( r ) 1 m r = 1 m g ( r ) ) T ) w

同理,坏客户样本信用评分方差:

σ b 2 = E ( S b S ¯ b ) 2 = 1 n r = 1 n ( S b ( r ) S ¯ b ) 2 = 1 n w T r = 1 n ( ( b ( r ) 1 n r = 1 n b ( r ) ) ( b ( r ) 1 n r = 1 n b ( r ) ) T ) w

g = r = 1 m g ( r ) , g ¯ = 1 m r = 1 m g ( r ) , H g = 1 m r = 1 m ( g ( r ) g ¯ ) ( g ( r ) g ¯ ) T , b = r = 1 m b ( r ) , b ¯ = 1 n r = 1 n b ( r ) , H b = 1 n r = 1 n ( b ( r ) b ¯ ) ( b ( r ) b ¯ ) T

最后,我们的评分模型就可以表示为:

max ( g T - b T ) w s .t . { ( g ¯ T - b ¯ T ) w = 0.5 w T ( H g + H b ) w ( g ¯ T + b ¯ T ) w = 0 1 T w T w K (6)

T为分箱组数,K为阈值, w 是我们要求解的分箱权重向量,模型是一个二次型最优化问题 [6] 。

4. 评分结果的拟合与尺度化

在模型建立中,我们假设:

ln ( o d d s ( S ) ) = ln ( p g / p b ) + S

因此,我们采取 S , ln ( o d d s ( S ) ) 进行线性拟合。

在信用评分的实际应用中,我们往往对某一具体的好坏概率比 o d d s ( S 0 ) 特别重视,期望该 o d d s ( S 0 ) 对应某个评分 S 0 ,不仅如此,还要求信用评分 S 每增加一个固定值 Δ S 0 ,好坏概率比 o d d s ( S ) 就增加一个 o d d s ( S 0 ) 。例如:我们期望好坏概率比为100时对应的信用评分为500分,且信用评分每增加20分,好坏概率比就增加100,当信用评分为700分时,可以推算出好坏概率比为1100。

在此做如下假设:

S :S对应的尺度化后评分。

:预设的好坏概率比。

S 0 o d d s ( S 0 ) 对应的尺度化前评分。

S 0 o d d s ( S 0 ) 对应的尺度化后评分。

Δ S 0 :表示尺度化后的评分值每增加 Δ S 0 ,好坏概率比就增加1个 o d d s ( S 0 )

w = ( w 11 , , w 1 q 1 , , w p 1 , , w p q p ) T :尺度化后的各变量分箱权重。

进一步假设 S , ln ( o d d s ( S ) ) 拟合得到的线性方程为:

ln ( o d d s ( S ) ) = b 0 + b 1 S ( b 0 , b 1 是系数) (7)

则我们可以得出如下关系:

ln ( o d d s ( S ) ) = ln ( o d d s ( S ) ) = b 0 + b 1 S (8)

ln ( o d d s ( S ) ) ln ( o d d s ( S 0 ) ) S S 0 = ln ( 2 o d d s ( S 0 ) ) ln ( o d d s ( S 0 ) ) Δ S 0

ln ( o d d s ( S ) ) = ln 2 Δ S 0 S + ln ( o d d s ( S 0 ) ) ln 2 Δ S 0 S 0 (9)

由(8)进一步可得:

ln ( o d d s ( S 0 ) ) = ln ( o d d s ( S 0 ) ) = b 0 + b 1 S 0 (10)

将(8)、(10)代入(9),得:

b 0 + b 1 S = ln 2 Δ S 0 S + b 0 + b 1 S 0 ln 2 Δ S 0 S 0 S = Δ S 0 b 1 ln 2 S + S 0 Δ S 0 b 1 ln 2 S 0

c 1 = Δ S 0 b 1 ln 2 c 0 = S 0 c 1 S 0 ,则

S = c 0 + c 1 S (11)

ln ( o d d s ( S ) ) = b 0 b 1 c 0 c 1 + b 1 c 1 S (12)

式(11)就是尺度化评分 S 与原始评分S的尺度化关系,式(12)就是尺度化后评分 S 与好坏概率比的关系。

需要补充说明是:利用式(7)进行拟合时,实际上并不知道每个原始评分S对应的好坏客户概率比,但是我们可以对原始评分进行排序分组,然后取每个分组原始评分的中间值作为S,每个组的好坏客户数比作为 o d d s ( S ) ,这样就可以进行拟合了。另外,考虑到按原始评分排序分组以后,S值最大的几个组里可能没有坏客户,S值最小的几个组里可能没有好客户,所以要剔除这些“特殊”组,然后再进行拟合。

最后,我们将尺度化评分 S 拆分到每个变量分箱中。拆分时要遵循如下2条原则:

① 每个变量的各分箱权重非负。

② 各样本的尺度化分箱权重之和仍为 S

记第i个变量的尺度化前最小分箱权重 min ( w i ) = min 1 j q i ( w i j ) ( 1 i p ) ,则

w i j = c 1 ( w i j + | min ( w i ) | ) + c 0 c 1 i = 1 p | min ( w i ) | p ( 1 i p , 1 j q i ) (13)

其中 w i j + | min ( w i ) | 是为了将变量的最小分箱权重由负值变为零值,乘以 c 1 表示的是每个分箱权重的尺度化也服从S到 S 的线性关系,加上 ( c 0 c 1 i = 1 p | min ( w i ) | ) / p 是为了保证尺度化后的评分值仍然等于尺度化后的分箱权重之和。

例如:假设 c 0 = 115.8 , c 1 = 23 , Δ S 0 = 20 ,有3个分箱变量,尺度化过程可用如表1所示:

Table 1. Weight scaling for binning variables

表1. 分箱权重尺度化步骤说明表

5. 数据测试与对比

数据来源:SPSS自带的bankloan.sav数据,包含:517位拖欠贷款客户(坏客户),183位不拖欠贷款客户(好客户)。

输出变量:default (1:坏客户;0:好客户)。

输入变量及分箱结果:见表2

尺度化要求:500分对应的好坏概率比是100:1,且尺度化后的评分每增加20分,好坏概率比增加100。

阈值设置:K = 2。

利用样本数据计算结果如表3所示:

Table 2. The binning of input variables

表2. 输入变量及分箱表

Table 3. Calculating results of the scoring model

表3. 评分模型计算结果

尺度化评分 S ln ( o d d s ( S ) ) 图2所示:

Figure 2. Linear fitting chart by S and ln ( o d d s ( S ) )

图2. S ln ( o d d s ( S ) ) 拟合直线图

本文评分模型与Logistic回归ROC曲线比较,如图3所示:

Figure 3. ROC curve comparison chart

图3. ROC曲线对比图

可以看出:文中的评分模型跟Logistic回归模型相比也是一种非常有效的评分方法。另外,基于以往的项目经验:本文评分模型的稳健性是非常好的,利用本文方法建立的评分卡应用3年后仍然有很好的预测性,而Logistic回归、决策树要逊色很多。

文章引用

周声华. 一种基于贝叶斯判别的信用评分方法
A Credit Scoring Technology Based on Bayes Discriminant Analysis[J]. 运筹与模糊学, 2019, 09(03): 222-231. https://doi.org/10.12677/ORF.2019.93025

参考文献

  1. 1. 陈建. 信用评分模型技术与应用[M]. 北京: 中国财政经济出版社, 2005: 1-286.

  2. 2. 杨静. 信用评分卡的建立与应用[D]: [硕士学位论文]. 天津: 天津商业大学, 2018.

  3. 3. 石勇, 孟凡. 信用评分基本理论及其应用[J]. 大数据, 2017(1): 24-31.

  4. 4. 马达. 基于贝叶斯的判别理论及其算法实现[D]: [硕士学位论文]. 北京: 中国地质大学, 2011.

  5. 5. 宋云鹏, 武钰. 数据挖掘技术在信用评分中的应用研究[J]. 征信, 2013(10): 24-28.

  6. 6. 袁亚湘. 非线性优化计算方法[M]. 北京: 科学出版社, 2018.

期刊菜单