Statistics and Application 统计学与应用, 2020, 9(4), 582-592
Published Online August 2020 in Hans. http://www.hanspub.org/journal/sa https://doi.org/10.12677/sa.2020.94062
User Credit Risk Prediction Model based on Big Data
Jingwen Hu, Xiao Liu, Zhe Feng
School of Mathematical Science, Tongji University, Shanghai
Received: Jul. 16, 2020; accepted: Jul. 28, 2020; published: Aug. 5, 2020
th
th
th
Abstract
Credit risk is the main risk of bank operation and affects the development of bank. It is necessary to establish credit risk prediction model to help banks avoid risks and reduce losses. In this paper, 80,000 pieces of thousand dimensional data of a commercial bank are taken as the research object, and the method of “group principal component” is used to preprocess the data of thousand dimen-sional variables. Then, the credit risk prediction model is established by using Logistic regression and random forest respectively. The analysis results of the two models show that the customer’s credit card level, occupation, value level, basic information of personal business, deposits and for-eign current holdings have great influence on predicting the probability of default. The area under the curve of logistic regression model is 0.847, and the prediction accuracy is 75%; the area under the curve of the random forest model is 0.848, and the prediction accuracy is 85%. Compared with previous studies, the prediction accuracy of the two models is significantly improved. In practical application, the two models can be combined with each other to give full play to their advantages.
Keywords
Credit Risk, Principal Component Analysis, Logistic Regression Model, Random Forest Model, High Dimensional Data
基于银行大数据的用户信用风险预测模型
胡竞文,刘 潇,冯 哲
同济大学,数学科学学院,上海
收稿日期:2020年7月16日;录用日期:2020年7月28日;发布日期:2020年8月5日
摘 要
信用风险是银行经营的主要风险,影响银行的发展,有必要建立信用风险预测模型,帮助银行规避风险、
文章引用: 胡竞文, 刘潇, 冯哲. 基于银行大数据的用户信用风险预测模型[J]. 统计学与应用, 2020, 9(4): 582-592. DOI: 10.12677/sa.2020.94062
胡竞文 等
减少损失。本文以某家商业银行的八万条千维数据作为研究对象,采用“分组主成分”的方法对千维变量进行降维的数据预处理,运用Logistic回归和随机森林建立信用风险预测模型。两种模型的分析结果显示,客户的信用卡级别、职业、价值等级、个人业务基本情况、存款及本外币持有额情况对违约风险预测的影响较大。Logistic回归曲线下面积为0.847,预测准确率为75%;随机森林曲线下面积为0.848,预测准确率为85%,相较于以往的研究,两个模型的预测准确率都有明显提高。实际应用时,两种模型可以相互结合,充分发挥二者的优越性。
关键词
信用风险,主成分分析,Logistic回归模型,随机森林模型,高维数据
Copyright ? 2020 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0). http://creativecommons.org/licenses/by/4.0/
Open Access 1. 引言
银行经营的过程会面临许多风险,其中信用风险是主要风险。信用风险的涵义是,因为债务人未能按合约执行义务,或信用质量改变,给债权人带来损失的可能性。信用风险会给银行带来直接或间接的经济损耗、增加管理成本、降低资金利用率[1]。因此,建立风险预测模型,根据客户数据信息,预测是否可能违约,有助于银行控制风险、减少损失、保证收益。
信用风险预测模型一直被持续而广泛地研究,信用风险预测研究的主要模型如表1。
Table 1. Main models of credit risk prediction 表1. 信用风险预测研究的主要模型
非线性模型
广义线性模型
机器学习模型
线性判别分析模型
(Linear Discriminant Analysis, LDA)
Probit回归模型 (Probit Regression) Logistic回归模型 (Logistic Regression)
神经网络模型 (Neural Networks, NN) 支持向量机模型
(Support Vector Machine, SVM)
决策树模型 (Decision Tree) 随机森林模型 (Random Forest)
非参数模型 样条回归模型 (Spline Regression Models)
核回归 (Kernel Regression) 局部多项式回归 (Local Polynomial Regression)
例如,庞素琳[2]等用线性判别分析方法建立企业信用评价模型,对我国2000年106家上市公司进行分析,选取4个指标,预测准确率达到95.28%。迟国泰[3]等基于某商业银行1231笔小企业贷款数据,选取81个指标,用Probit模型建立债信评级模型,预测准确率达到60%。Milad Malekipirbazari [4]等基于社交借贷平台的数据,选择23个变量,用随机森林、SVM、Logistic等模型预测信用风险,预测准确率随机森林88%,SVM47%,Logistic49 %。Sidney Tsang [5]等用神经网络、决策树等模型,针对4000个欺诈行为数据,选择10个变量进入模型,准确率分别达到84.7%、96.7%。陈为民[6]根据客户消费行
DOI: 10.12677/sa.2020.94062
583
统计学与应用
胡竞文 等
为数据,使用多元自适应样条回归建立信用欺诈监测模型,用长沙某银行的2000条信用卡数据做实证研究,每个客户有15个属性,预测准确率达到83.91%。
这些模型较易理解,能较准确地预测违约状态。然而,已有的运用这些模型进行风险预测的研究,多基于数据量一万以内、变量不超过100的数据,对于数据结构复杂的高维数据,讨论并不充分。而在处理大批量的高维数据时,这些模型都存在各自的缺点。实际数据中,解释变量与违约状态可能并非线性或广义线性关系,广义线性模型无法处理非线性数据,容易欠拟合,一般准确率不高。机器学习模型虽然能较准确的预测违约状态,却不能得出相应的显示表达式,可解释性较差[7]。进一步,与传统的机器学习算法相比,神经网络、支持向量机在数据样本很多时运算效率较低;单个决策树模型相比于随机森林模型精确度较低。非参数模型虽然灵活且强大,但往往需要更多的数据、更长的训练时间,而结果是更容易过拟合,解释性更差。
本文基于一份我国2019年某家商业银行的客户信息数据,这份数据包含80,000条数据,986个变量,近千维的数据在已有的文献中是鲜有存在的,如果直接使用上述模型方法,不仅可能由于算法过于复杂无法得出模型结果,进入模型的变量过多还会导致模型的稳定性很差,可能引发“维度灾难”[8]。数据是建立模型的基础,对于高维复杂数据,数据预处理是提高模型稳定性、提高模型拟合精度的重要环节。因此本文首先对原始数据进行筛选、转换,通过主成分分析、重编码等方式,大大降低数据维数。结合数据样本的变量类型以及样本大小,决定采用Logistic回归和随机森林算法构建信用风险预测模型,为银行控制信用风险提供科学依据。本文的模型方法适应大样本,稳定性好、可推广、运算效率高。同时,模型对信用风险的预测效果好,结果显示两种模型预测准确率分别达到75%和85%,相较于张婷婷(2017)用Logistic回归模型评估个人信用评分,预测违约状态准确率为67.62% [9],张亚琴(2019)基于集成学习的方法研究信用风险预测,随机森林模型预测准确率为77.1% [10],本文建立的模型预测准确率提高。且Logistic回归模型与随机森林模型相结合,既发挥Logistic回归的可解释性优势,也发挥随机森林的高准确率优势。
2. 数据概述
本文所分析的数据是来自某家商业银行的客户信息[11],共包含80,000条数据,986个变量,其中数值型变量944个,字符型变量42个。数值型变量经整理后,根据含义划分为17组,见表2,字符型变量见表3。
Table 2. Numerical explanatory variable 表2. 数值型解释变量
变量名称 个人业务基本情况 存款及本外币持有额
柜台业务 网银业务 电话业务 手机银行业务 网络银行业务 自助设备业务 乐收银POS机业务
变量个数 110 91 112 88 71 60 20 68 48
变量具体情况
77个连续型,32个离散型,1个取值常数 55个连续型,21个离散型,15个取值常数 65个连续型,41个离散型,6个取值常数 46个连续型,30个离散型,12个取值常数 24个连续型,25个离散型,22个取值常数
34个连续型,26个离散型 14个连续型,6个离散型
40个连续型,16个离散型,12个取值常数 30个连续型,14个离散型,4个取值常数
DOI: 10.12677/sa.2020.94062
584
统计学与应用
胡竞文 等
Continued
本行POS机业务 它行POS机业务
其他业务 大额业务 信用卡业务 定期存款业务 理财产品业务 基金业务
40 40 22 32 26 20 33 63
25个连续型,10个离散型,5个取值常数 27个连续型,10个离散型,3个取值常数
14个连续型,6个离散型
4个连续型,4个离散型,24个取值常数 10个连续型,10个离散型,6个取值常数
13个连续型,7个离散型 26个连续型,7个离散型
49个连续型,12个离散型,2个取值常数
Table 3. Character explanatory variable 表3. 字符型解释变量
变量名称 客户号 开户机构 证件类型 性别 客户价值等级
职业 是否型变量 持有标志型变量
变量个数
1 1 1 1 1 1 21 15
变量具体情况 8位字符 4位编码 4位编码 取值1、2 取值A、B、C 取值1-5
包括是否有欧元账户、是否有澳元账户、是否薪资理财等 包括持有活期产品标志、持有定期存款标志、个贷标识等
3. 建模方法
本批数据变量数量庞大,不仅大大增加了计算的负担,而且信息重复导致变量间存在共线性,对后续建立模型分析会造成严重后果。因此,首先对数据预处理,在较完整保留原始变量所含信息的基础上进行降维,同时尽量消除变量间的共线性。
使用SAS软件进行统计分析。把违约状态作为响应变量,取值为1表示可能违约,取值为0表示不会违约,以经过预处理的变量作为指标,划分数据集为训练集和测试集,分别建立Logistic回归模型和随机森林模型。最后,在测试集应用两种模型预测违约可能,用受试者工作特征(receiver operating characteristic curve, ROC)曲线下面积(area under the curve, AUC)和预测准确率比较两种模型的预测效果。
3.1. 数据预处理
3.1.1. 对数值型变量进行分组主成分分析
运用主成分分析法对数值型变量降维,该方法在保证一定方差贡献率的情况下,既能实现降维,还能消除变量间的相关性。但是如果对所有944个变量做主成分分析,会存在两个问题:一、计算损耗巨大,需要对8万条数据求944 × 944的相关系数矩阵,并进行特征根分解,计算量过于庞大;二、可解释性差,每一个主成分都是944个原始变量的线性组合,变量混杂严重,主成分缺乏可解释性。
因此,考虑牺牲一定的变量不相关性,增强主成分的可解释度和计算效率,采用“分组主成分分析”
DOI: 10.12677/sa.2020.94062
585
统计学与应用
胡竞文 等
的方法进行变量降维处理。具体来说,由于之前已将944个数值型解释变量根据变量名进行了分组,那么有理由认为不同组的变量之间的相关性较微小,而组内变量的相关性较明显,因此考虑在每个变量分组内进行组内变量的主成分分析,最后选取主成分替代该类别的原始变量,不仅大大降低了计算量和混杂性,而且也容易解释主成分的含义。 3.1.2. 对字符型变量进行筛选
根据变量含义,以及对部分变量使用proc freq做相关性分析,通过删除、整合重编码的方法,对字符型变量进行筛选。
3.2. Logistic回归预测模型
① 划分数据集、抽样:从80,000个数据中,按照正例数据(可能违约)、负例数据(不会违约) 2:1的比例抽取20,000个数据作为训练集,其余数据作为测试集。② 在训练集上构建Logistic函数:用proc logistic,用class语句将字符型分类变量按照其取值个数编码,设置哑变量,将设置好的哑变量以及主成分作为模型的输入自变量。利用逐步回归的方法选择变量,进出模型的显著性水平分别设置为0.05和0.15。③输出结果:输出模型系数的估计值,以及测试集中每个数据违约概率的估计值。
3.3. 随机森林预测模型
使用proc split以及proc surveyselect构建随机森林。① proc split构造决策树:设置特征选择准则为基尼系数(Gini),每个内部节点的最大分支树为5,最大深度20,每个叶节点的最小规模为50,目标变量为违约状态,将生成的评分规则输出为外部txt文件。② 划分数据集:按照3:1的比例划分训练集和测试集。③ 抽取变量和样本:使用proc suveryselect为每一棵树随机抽取30个数值型变量、6个字符型变量、约10%负例数据和80%正例数据,利用宏循环反复调用打分文件。④ 构造森林,打分预测:最终构建出随机森林,对测试集进行打分和预测,将所有树输出的预测概率值的平均值,作为最后的预测结果输出。
3.4. 验证模型
对测试集数据,使用SAS官网上提供的rocplot宏包,绘制ROC曲线[12],得到AUC面积;同时可选择最优截断点,由最优截断点预测用户的违约状态,用proc freq得混淆矩阵,进而得到预测准确率。通过AUC面积和预测准确率评价模型预测的优劣。
预测准确率=正确预测到的正例数
实际正例总数4. 数据结果分析
4.1. 变量预处理
对数值型和字符型变量分别进行预处理,986个原始变量(944个数值型+42个字符型)最终保留142个(123个数值型+19个字符型),大幅降低维数,为后续建立模型做准备。 4.1.1. 数值型变量
944个数值型变量,删除所有取值为常数的变量后,还剩832个,按照变量含义可分为17组,使用proc princomp对每组变量分别进行分组主成分分析,保证累积方差贡献率在70%左右,最终总共从原始变量中挑选出123个主成分,作为后续预测模型的指标。表4展示变量处理前后的情况。
DOI: 10.12677/sa.2020.94062
586
统计学与应用
基于银行大数据的用户信用风险预测模型



