基于分层模型的银行客户信用风险预测研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于分层模型的银行客户信用风险预测研究作者:张瑜廖长勇王新军
来源:《金融发展研究》2021年第10期
摘要:本文基于商业银行客户信贷记录数据集,通过运用拉普拉斯分层模型对客户的信用风险进行预测研究。

利用客户群体存在差异化的特点,采用XGBoost机器学习算法来选择分层特征以及结合多元特征的组合形式来预测客户的违约情况。

在不同分层特征结构下依次对比拉普拉斯分层模型、单独模型、共同模型和随机森林四个模型的预测效果,并建立模拟数据集来对拉普拉斯分层模型的性能进行验证。

研究发现:(1)拉普拉斯分层模型的预测精度是最高的,预测性能具有稳定性;(2)本文数据集所适用的最佳分层特征是贷款金额、年龄和婚姻;(3)分层特征的选择和数量会依据不同数据而产生相应变化,并非一成不变。

结合本文的研究思路和结果,以期为商业银行在客户信用风险评估实践中提供新的思考和建议。

关键词:信用风险;分层特征;拉普拉斯分层模型;XGBoost算法
中图分类号:F830.33 文献标识码:B 文章编号:1674-2265(2021)10-0055-06
DOI:10.19647/ki.37-1462/f.2021.10.008
一、研究背景和意义
商业银行在国民经济发展中扮演着重要角色,其信贷业务为扩大消费、推动企业发展做出了巨大贡献。

随着我国经济进入新常态,企业转型压力增大,经营风险显现,导致企业信贷质量明显低于个人信贷。

为此,各银行对信贷业务结构做出相应调整,采取逐步扩大个人信贷比重的策略。

同时,随着大数据时代的来临,银行掌握着较大规模的客户数据,促使很多银行更多地采用大数据处理技术和算法来加强自身业务的开展,并规避相应的信贷风险。

所以,在衡量客户信用风险时,大多数银行也在尝试找到一种更为高效的数据处理方法,为银行风险评估、风险预测、是否接受贷款申请等提供决策依据。

然而,我国银行业的发展相比国外起步较晚,在信用风险管理和控制领域尚不成熟,许多国外的模型方法严格意义上来讲不太适用国内的市场环境,因此,结合社会主义市场经济的特点进行信用风险管控还需要进一步探索和研究。

大部分商业银行对客户信用进行评估的方法主要有专家系统、信用评分和一些概率模型。

本文从应用的角度出发,认为与其他方法相比,采用XGBoost机器学习算法更为理想,即建立一种默认的风险模型,对客户进行精准分类,使建立的模型具有针对性强和准确度高的特点。

但是商业银行在实际应用中却很难实现,原因在于缺乏相关的分类标准,也没有统一的分类准则作为参考,所以对客户进行分类的做法在实践中存在很大的难度。

在大量相关研究文献中也没有考虑怎样去解决这一问题,而本文旨在寻找一种科学的方法以便有效地解决上述难题。

本文基于中国某商业银行客户信贷记录数据集,运用拉普拉斯分层模型对客户信用风险进行预测研究。

本文主要贡献在于:(1)利用商业银行信贷客户群体存在差异的特点,采用XGBoost机器学习算法来选择分层特征,并结合多元特征的组合形式来预测客户的违约情况。

在更高维数据下,运用XGboost算法可以更高效、更快捷地选择分层特征,为商业银行在客户
信用风险评估的实践中提供新的思路和方法。

(2)在不同分层特征结构下依次对比拉普拉斯分层模型、单独模型、共同模型和随机森林四个模型的预测效果,同时建立模拟数据集来对拉普拉斯分层模型的性能进行验证。

因此,本文研究结论更加稳健可信,能为相关研究提供有益借鉴。

二、信用风险研究及评述
信用风险的研究并不是一个全新领域,早在20世纪60—70年代,学者们就从多个方面对其展开了研究,逐步提出了一些理论方法。

例如,从应用技术角度来看,依据一些专业人士的知识和经验进行风险评估并做出决策,俗称专家系统,其中应用比较广泛的就是5Cs系统;对客户的信用进行评分,依据评分的等级进行决策,这便是信用评分模型,也是应用比较多的一种评估模型(Kazi,2016)[1];另外,结合经济金融领域的计量方法,运用计量的理论结合金融知識对客户进行风险评估,开发了一系列的风险概率模型,如KMV、死亡率模型和生存分析方法等(Huang等,2010;Hassan等,2018;Duan等,2018)[2-4]。

截至目前,随着大数据技术深入人心,其广泛的应用和发展前景促使一些学者或工程人员开始运用统计理论、机器学习、深度学习的方法来对客户信用水平展开研究,如神经网络、逻辑回归、遗传算法、随机森林以及超参数优化和集成学习等方法(Yeh和Lien,2009;Ogundimu,2019;Gordini,
2014;Uddin等,2020;王重仁和韩冬梅,2019)[5-9]。

同时,也有研究人员从银行的内外部风险环境、宏观经济影响因素、数据分布特征、投资者异质信念和上市公司的股价波动等角度来对信用风险进行量化和评估(Duan等,2018;Twum等,2021;Abusharbeh,2020;刘颖和唐毓蔓,2020;周寿彬,2016;单双等,2020)[4,10-14]。

个人客户的信用风险评估大多也结合了上述的研究思路和方法模型。

许多学者也相应地做了一些研究,特别地,也采用了目前较为流行的一些统计理论和算法模型进行研究。

部分学者还利用特征衍生化、联邦学习等来对个人信用水平进行预测研究。

这些研究从不同层面、依据不同方法和理论基础做出了各自的贡献,推动了信用风险研究工作的进一步发展,为以后建立更为统一的风险模型提供了丰富的理论研究成果和参考价值。

虽然对信用风险相关领域的研究数不胜数,但依据数据特征将客户进行分层的想法在众多研究文献中很少涉及。

与此同时,客户差异化的特点要求对客户进行分类,而分类的结果与新的技术和方法相结合就可以建立较为准确的预测评估模型而非简单地建立线性组合模型或者在一些传统模型基础上进行适当修正。

本文主要针对个人信用风险预测来开展研究工作,试图寻找一种可以有效衡量个人客户是否存在违约的评估方法,建立一套可行的方法论。

因此,可以通过已经获得的商业银行客户信贷数据,结合拉普拉斯分层模型对客户信用进行评估和预测分析(Tuck等,2021)[15]。

先对客户进行分类,依据一些显著的特征来对客户进行分组,将不同的客户群体按照相似的特征属性进行划分,进而预测客户是否存在违约的可能性,分组使得预测的准确度会更高。

然而,分组的标准并不唯一,它随着数据结构的变化而有所改变,但这并不会影响模型的效果。

为了说明分层模型的优劣,文中不仅与其他模型(随机森林、共同模型和单独模型)进行了效果对比,而且通过过采样解决了原始样本标签类别不平衡的问题,从而建立了一个模拟数据集来检
验模型的好坏以及是否具有稳定性。

最后,根据预测效果可以确定什么样的分层特征是合适的,并据此建立相应的分层模型来进行信用预测。

三、变量选择与模型设定
(一)变量介绍
本文所获得的真實客户信贷数据集包括3万个客户样本数据,合计24个特征变量,每个变量代表客户的真实情况。

由于客户信息保密性的要求,无法获取客户的全部信息,但是丝毫不会影响方法的可行性。

本文旨在说明运用分层模型的方法有助于对客户信用进行更准确的评估。

本文建立的模拟数据集(4.6万个客户样本数据)也是在原始数据集基础上产生的,通过对小样本进行过采样得到,它的数据形式不变,只是与原始数据相比分布是不一样的。

表1详细展示了数据的结构及每个变量的含义和属性。

从如何选择分层特征的角度来看,依据数据的特征变量和违约情况,本文初步判断贷款金额和年龄是先要考虑的因素。

从贷款金额的分布图(见图1)可知,大多数客户的贷款额度主要是小额信贷,基本上属于个人和家庭消费贷款。

由于贷款的数额关系到客户的还款意愿和能力,与之相关的有利息率、期限等因素。

从整个客户的贷款年龄情况看(见图2),贷款客户以中年人为主。

30岁作为一个年龄界限,30岁之前的贷款需求是逐渐升高的,30岁以后的贷款需求逐渐降低。

结合现实情况可以认为,刚毕业的大学生在较长一段时期是依靠贷款来解决生活中的各种问题,随着能力的提升和收入水平的不断提高,贷款的需求自然会降低,因此,这种趋势的变化可能会对违约的发生产生显著的影响。

所以综上考虑将贷款金额和年龄作为分层特征是比较合适的。

(二)分层变量选择
拉普拉斯分层模型的应用需要预先设定分层特征变量,这是对样本进行分组的基础。

分组的目的是对样本数据进行精准预测,避免不同类型样本之间互相干扰。

分组的标准主要依据分层特征,从原始特征中进行筛选,选取对最后分类结果显著的特征变量作为分层变量。

当数据维度较低时,通过专业的知识和经验可以进行初步选择。

但是面临高维数据时更为提倡从数据本身的结构、分布特点出发进行选择,解决人脑不能对数据进行筛选的缺陷。

因此,本文采用的分层变量的提取方法为XGBoost机器学习算法,它可以实现分类预测,从数据内部结构、分布特点出发进行特征选择。

因在其算法内部已经对所有变量进行了排列和筛选,所以可以从中找出那些对分类结果显著的变量,从而建立模型所需要的分层变量。

由于XGBoost算法是一种提升树模型,因此,本文依次建立50棵、100棵、150棵和200棵树模型,分别得到每种树模型下的所有特征变量对最终分类结果的影响程度。

根据四种不同树模型下变量的贡献度情况,依次将每种树模型下前四个特征变量提取出来,出现频率较高的特征变量有[f0](贷款金额)、[f4](年龄)和[f11](账单金额),说明这三个特征变量对最终
分类的贡献较大,同时也说明先前对贷款金额和年龄进行的图表分析是合理的。

因此,将这两个特征变量作为后续分类预测重要的分层特征(见表2)。

(三)模型介绍
关注到一些数据具有([Z],[X],[Y])这种形式,通常情况下适用于分类预测和回归。

[Z]代表分层特征变量,是一种划分的标准或依据,一般[Z]可能由一个或者两个及以上特征变量
组成,如本文(贷款金额,年龄,账单金额);[Y]代表预测的目标值或者标签,是最终实现的回归或分类的结果,分类时[Y]一般情况下至少有两个标签;[X]是除了[Z]和[Y]以外的其他特征变量组成的特征矩阵,[X]的特征变量的数目不确定,可能很多,也可能为0。

存在([zi],[xi],[yi])[∈]([Z],[X],[Y]),[i=1,…,k],它是每一层的特征值结构变量。

[zi∈]Z是
Z中第[i]层的分层特征值;[xi∈X]是对应第[i]层的向量矩阵;[yi∈Y]是第[i]层的标签数组。

[k]是层数,它等于[Z]的每一个特征变量下的特征值个数的乘积,[k]的数目意味着整个分层模型中层结构的数量。

为了准确预测,尽可能地无限接近标签值,使得误差最小,模型中需要进行正则化项来防止过拟合。

拉普拉斯分层模型的函数表达式为:
[l(θzi)=i=1kj=1m(li(xzi,yzi;θzi)j+r(θzi))+L(θzi)] (1)
在表达式(1)中[l]代表着目标损失函数;[m]是第[i]层的样本数量;[θzi]是第[i]层需要拟合
的参数,模型的训练过程就是不断调整和优化[θzi],使损失函数向0接近;r是一种局部正则化,对参数进行惩罚;[L]是拉普拉斯正则化,从整体出发对参数进行惩罚。

局部损失函数[li]的表达式为:
[li(xzi,yzi;θzi)j=yziloghθzixzi+1-yzilog1-hθzixzi,i=1,…,k] (2)
局部损失函数表达式(2)中的h是sigmoid函数的形式,即有[hθzixzi=11+e-θTzixzi]。

由于本文的预测目标值是典型的二分类问题,因此,将逻辑回归损失函数作为局部损失函数,如果是回归问题可以采用最大均方误差损失函数。

选择L2范数作为局部损失函数的正则化项,[λ]作为惩罚参数,表达式如下:
[rθzi=λ2mθzi2] (3)
整体的正则化项度量模型参数的平滑性,对每层的参数进行惩罚,刻画层之间的相互关联,对于缺失层的参数通过加权的方式进行构建。

[Wij]是一个非负对称矩阵,[Wij]的变化导致模型发生改变。

当[Wij]无限接近0时,所有的参数都不相等,产生单独模型;当[Wij]接近无穷大时,所有的参数几乎相等,产生共同模型。

拉普拉斯正则化项表达式如下:
三、变量选择与模型设定
(一)变量介绍
本文所获得的真实客户信贷数据集包括3万个客户样本数据,合计24个特征变量,每个变量代表客户的真实情况。

由于客户信息保密性的要求,无法获取客户的全部信息,但是丝毫不会影响方法的可行性。

本文旨在说明运用分层模型的方法有助于对客户信用进行更准确的评估。

本文建立的模拟数据集(4.6万个客户样本数据)也是在原始数据集基础上产生的,通过对小样本进行过采样得到,它的数据形式不变,只是与原始数据相比分布是不一样的。

表1详细展示了数据的结构及每个变量的含义和属性。

从如何选择分层特征的角度来看,依据数据的特征变量和违约情况,本文初步判断贷款金额和年龄是先要考虑的因素。

从贷款金额的分布图(见图1)可知,大多数客户的贷款额度主要是小额信贷,基本上属于个人和家庭消费贷款。

由于贷款的数额关系到客户的还款意愿和能力,与之相关的有利息率、期限等因素。

从整个客户的贷款年龄情况看(见图2),贷款客户以中年人为主。

30岁作为一个年龄界限,30岁之前的贷款需求是逐渐升高的,30岁以后的贷款需求逐渐降低。

结合现实情况可以认为,刚毕业的大学生在较长一段时期是依靠贷款来解决生活中的各种问题,随着能力的提升和收入水平的不断提高,贷款的需求自然会降低,因此,这种趋势的变化可能会对违约的发生产生显著的影响。

所以综上考虑将贷款金额和年龄作为分层特征是比较合适的。

(二)分层变量选择
拉普拉斯分层模型的应用需要预先设定分层特征变量,这是对样本进行分组的基础。

分组的目的是对样本数据进行精准预测,避免不同类型样本之间互相干扰。

分组的标准主要依据分层特征,从原始特征中进行筛选,选取对最后分类结果显著的特征变量作为分层变量。

当数据维度较低时,通过专业的知识和经验可以进行初步选择。

但是面临高维数据时更为提倡从数据本身的结构、分布特点出发进行选择,解决人脑不能对数据进行筛选的缺陷。

因此,本文采用的分层变量的提取方法为XGBoost机器学习算法,它可以实现分类预测,从数据内部结构、分布特点出发进行特征选择。

因在其算法内部已经对所有变量进行了排列和筛选,所以可以从中找出那些对分类结果显著的变量,从而建立模型所需要的分层变量。

由于XGBoost算法是一种提升树模型,因此,本文依次建立50棵、100棵、150棵和200棵树模型,分别得到每种树模型下的所有特征变量对最终分类结果的影响程度。

根据四种不同树模型下变量的贡献度情况,依次将每种树模型下前四个特征变量提取出来,出现频率较高的特征变量有[f0](贷款金额)、[f4](年龄)和[f11](账单金额),说明这三个特征变量对最终分类的贡献较大,同时也说明先前对贷款金额和年龄进行的图表分析是合理的。

因此,将这两个特征变量作为后续分类预测重要的分层特征(见表2)。

(三)模型介绍
关注到一些数据具有([Z],[X],[Y])这种形式,通常情况下适用于分类预测和回归。

[Z]代表分层特征变量,是一种划分的标准或依据,一般[Z]可能由一个或者两个及以上特征变量
组成,如本文(贷款金额,年龄,账单金额);[Y]代表预测的目标值或者标签,是最终实现的回归或分类的结果,分类时[Y]一般情况下至少有两个标签;[X]是除了[Z]和[Y]以外的其他特征变量组成的特征矩阵,[X]的特征变量的数目不确定,可能很多,也可能为0。

存在([zi],[xi],[yi])[∈]([Z],[X],[Y]),[i=1,…,k],它是每一层的特征值结构变量。

[zi∈]Z是
Z中第[i]层的分层特征值;[xi∈X]是对应第[i]层的向量矩阵;[yi∈Y]是第[i]层的标签数组。

[k]是层数,它等于[Z]的每一个特征变量下的特征值个数的乘积,[k]的数目意味着整个分层模型中层结构的数量。

为了准确预测,尽可能地无限接近标签值,使得误差最小,模型中需要进行正则化项来防止过拟合。

拉普拉斯分层模型的函数表达式为:
[l(θzi)=i=1kj=1m(li(xzi,yzi;θzi)j+r(θzi))+L(θzi)] (1)
在表达式(1)中[l]代表着目标损失函数;[m]是第[i]层的样本数量;[θzi]是第[i]层需要拟合
的参数,模型的训练过程就是不断调整和优化[θzi],使损失函数向0接近;r是一种局部正则化,对参数进行惩罚;[L]是拉普拉斯正则化,从整体出发对参数进行惩罚。

局部损失函数[li]的表达式为:
[li(xzi,yzi;θzi)j=yziloghθzixzi+1-yzilog1-hθzixzi,i=1,…,k] (2)
局部损失函数表达式(2)中的h是sigmoid函数的形式,即有[hθzixzi=11+e-θTzixzi]。

由于本文的预测目标值是典型的二分类问题,因此,将逻辑回归损失函数作为局部损失函数,如果是回归问题可以采用最大均方误差损失函数。

选择L2范数作为局部损失函数的正则化项,[λ]作为惩罚参数,表达式如下:
[rθzi=λ2mθzi2] (3)
整体的正则化项度量模型参数的平滑性,对每层的参数进行惩罚,刻画层之间的相互关联,对于缺失层的参数通过加权的方式进行构建。

[Wij]是一个非负对稱矩阵,[Wij]的变化导致模型发生改变。

当[Wij]无限接近0时,所有的参数都不相等,产生单独模型;当[Wij]接近无穷大时,所有的参数几乎相等,产生共同模型。

拉普拉斯正则化项表达式如下:
三、变量选择与模型设定
(一)变量介绍
本文所获得的真实客户信贷数据集包括3万个客户样本数据,合计24个特征变量,每个变量代表客户的真实情况。

由于客户信息保密性的要求,无法获取客户的全部信息,但是丝毫不会影响方法的可行性。

本文旨在说明运用分层模型的方法有助于对客户信用进行更准确的评估。

本文建立的模拟数据集(4.6万个客户样本数据)也是在原始数据集基础上产生的,通过对小样本进行过采样得到,它的数据形式不变,只是与原始数据相比分布是不一样的。

表1详细展示了数据的结构及每个变量的含义和属性。

从如何选择分层特征的角度来看,依据数据的特征变量和违约情况,本文初步判断贷款金额和年龄是先要考虑的因素。

从贷款金额的分布图(见图1)可知,大多数客户的贷款额度主要是小额信贷,基本上属于个人和家庭消费贷款。

由于贷款的数额关系到客户的还款意愿和能力,与之相关的有利息率、期限等因素。

从整个客户的贷款年龄情况看(见图2),贷款客户以中年人为主。

30岁作为一个年龄界限,30岁之前的贷款需求是逐渐升高的,30岁以后的贷款需求逐渐降低。

结合现实情况可以认为,刚毕业的大学生在较长一段时期是依靠贷款来解决生活中的各种问题,随着能力的提升和收入水平的不断提高,贷款的需求自然会降低,因此,这种趋势的变化可能会对违约的发生产生显著的影响。

所以综上考虑将贷款金额和年龄作为分层特征是比较合适的。

(二)分层变量选择
拉普拉斯分层模型的应用需要预先设定分层特征变量,这是对样本进行分组的基础。

分组的目的是对样本数据进行精准预测,避免不同类型样本之间互相干扰。

分组的标准主要依据分层特征,从原始特征中进行筛选,选取对最后分类结果显著的特征变量作为分层变量。

当数据维度较低时,通过专业的知识和经验可以进行初步选择。

但是面临高维数据时更为提倡从数据本身的结构、分布特点出发进行选择,解决人脑不能对数据进行筛选的缺陷。

因此,本文采用的分层变量的提取方法为XGBoost机器学习算法,它可以实现分类预测,从数据内部结构、分布特点出发进行特征选择。

因在其算法内部已经对所有变量进行了排列和筛选,所以可以从中找出那些对分类结果显著的变量,从而建立模型所需要的分层变量。

由于XGBoost算法是一种提升树模型,因此,本文依次建立50棵、100棵、150棵和200棵树模型,分别得到每种树模型下的所有特征变量对最终分类结果的影响程度。

根据四种不同树模型下变量的贡献度情况,依次将每种树模型下前四个特征变量提取出来,出现频率较高的特征变量有[f0](贷款金额)、[f4](年龄)和[f11](账单金额),说明这三个特征变量对最终分类的贡献较大,同时也说明先前对贷款金额和年龄进行的图表分析是合理的。

因此,将这两个特征变量作为后续分类预测重要的分层特征(见表2)。

(三)模型介绍
关注到一些数据具有([Z],[X],[Y])这种形式,通常情况下适用于分类预测和回归。

[Z]代表分层特征变量,是一种划分的标准或依据,一般[Z]可能由一个或者两个及以上特征变量
组成,如本文(贷款金额,年龄,账单金额);[Y]代表预测的目标值或者标签,是最终实现的回归或分类的结果,分类时[Y]一般情况下至少有两个标签;[X]是除了[Z]和[Y]以外的其他特征变量组成的特征矩阵,[X]的特征变量的数目不确定,可能很多,也可能为0。

存在([zi],[xi],[yi])[∈]([Z],[X],[Y]),[i=1,…,k],它是每一层的特征值结构变量。

[zi∈]Z是
Z中第[i]层的分层特征值;[xi∈X]是对应第[i]层的向量矩阵;[yi∈Y]是第[i]层的标签数组。

[k]是层数,它等于[Z]的每一个特征变量下的特征值个数的乘积,[k]的数目意味着整个分层模型中层结构的数量。

为了准确预测,尽可能地无限接近标签值,使得误差最小,模型中需要进行正则化项来防止过拟合。

拉普拉斯分层模型的函数表达式为:
[l(θzi)=i=1kj=1m(li(xzi,yzi;θzi)j+r(θzi))+L(θzi)] (1)
在表达式(1)中[l]代表着目标损失函数;[m]是第[i]層的样本数量;[θzi]是第[i]层需要拟合
的参数,模型的训练过程就是不断调整和优化[θzi],使损失函数向0接近;r是一种局部正则化,对参数进行惩罚;[L]是拉普拉斯正则化,从整体出发对参数进行惩罚。

局部损失函数[li]的表达式为:
[li(xzi,yzi;θzi)j=yziloghθzixzi+1-yzilog1-hθzixzi,i=1,…,k] (2)
局部损失函数表达式(2)中的h是sigmoid函数的形式,即有[hθzixzi=11+e-θTzixzi]。

由于本文的预测目标值是典型的二分类问题,因此,将逻辑回归损失函数作为局部损失函数,如果是回归问题可以采用最大均方误差损失函数。

选择L2范数作为局部损失函数的正则化项,[λ]作为惩罚参数,表达式如下:
[rθzi=λ2mθzi2] (3)
整体的正则化项度量模型参数的平滑性,对每层的参数进行惩罚,刻画层之间的相互关联,对于缺失层的参数通过加权的方式进行构建。

[Wij]是一个非负对称矩阵,[Wij]的变化导致模型发生改变。

当[Wij]无限接近0时,所有的参数都不相等,产生单独模型;当[Wij]接近无穷大时,所有的参数几乎相等,产生共同模型。

拉普拉斯正则化项表达式如下:。

相关文档
最新文档