技术前沿
作者:Shruti Goyal
编辑整理:萝卜兔
信用风险是指银行向用户提供金融服务后,用户不还款的概率。信用风险一直是银行贷款决策中广泛研究的领域。信用风险对银行和金融机构,特别是商业银行来说,起着至关重要的作用,但是一直以来都比较难管理。由于技术的进步,很多银行想要开发强大模型来预测和管理信贷风险。
为了预测信用风险,提出了一些方法,具体应用什么方法取决于银行和金融机构的复杂性以及贷款的规模和类型。最常用的方法是判别分析(Discrimination analysis),这种方法使用有助于决策的评分函数(score function)而有些研究院由于其限制性假设而对判别分析的有效性表示怀疑。由于变量间的正态性和独立性,人工神经网络模型的建立克服了其它信用风险预测模型的缺点。
本文的目的是研究神经网络算法解决信用风险预测问题的能力,衡量一段时间内贷款申请的信誉度。将前馈神经网络算法应用于银行住房抵押贷款应用的小数据集,预测信贷违约。模型的输出将生成一个二进制值,作为分类器帮助银行识别借款人是否会违约(违约的概率)。本文将采用实证的方法,讨论两个基于神经网络的模型,使用住房抵押贷款申请模型的验证,并提供实验结果。
方法
2.1数据
数据来自于kaggle.com的850万条贷款数据。并从该数据集中随机抽取了60000条样本数据,并从80个属性中选择了适当的属性(包括数字选择整数以及和本文处理问题相关的一些属性)数据集由以下变量组成:
因变量(Dependent Variable)
loan_status(0 and 1); 如果借款人会违约,则投资将是不良的,如果借款人不违约,那他将能够偿还全部贷款。所以0表示借款人违约,1表示借款人不违约。
独立变量(Independent Variable)以下变量被视为独立变量:
oan_amnt, funded_amnt, emp_length, Grade, funded_amnt_inv, term, int_rate, instalment, annual_inc, issue_d and application_type
2.2 模型
在这项研究中,使用了经典的前馈神经网络。前馈网络由具有10个输入变量的输入层,7个隐藏层和具有一个表示分类器的神经元输出层组成。通过使用监督学习方式(反向传播算法)训练网络。该算法旨在优化神经元权重,使实际输出和期望输出之间的误差最小化。权重将通过更新函数更新,其中f是学习系数,是隐藏层的输出。算法将一直有效,直到误差足够小。
对于图3所示的神经网络算法,需要仔细选择参数,例如f的值,神经元的数量以及隐藏层的数量。在下图中,每个层和权重之间的连接由黑线表示,并且蓝线表示每个步骤中的偏差(模型的截距)。网络是一个黑匣子,训练算法可以在收敛时使用。此外,还从提取的数据集中为网络算法创建了一个随机样本,建立训练和测试数据集,分别用于训练和验证模型性能。
2.3实验结果
将10个归一化变量顺序排列作为网络的输入。网络的输出是一个分类器,它产生0和1。首先,要检查数据是否缺少数据点值,有没有数据丢失,是否有必要修复数据集。输入的相关矩阵如下图:
数据集训练完成之后,在测试数据集上进行测试。要根据其它输入计算输出,已使用计算功能。想网络层中添加了7个隐藏层,并创建了模型,生成了以下结果矩阵:
总共计算了6765次,直到误差函数的结果小于默认阈值(0.01)。在实现经典前馈算法之后,采用0.01学习率的反向传播算法实现了另一个模型。经典前馈算法和反向传播算法具有相同的错误率,由此看来,经典模拟不如反向传播算法。
最后,用线性回归函数glm比较两种算法的准确性,如果回归函数的预测值大于0.5,则返回结果为1,否则为0。精度是通过引入错误分类误差来计算的,混淆矩阵也是如下图来计算的:
为了突出比较,线性回归和神经网络的均方差如表3所示。从表中可以看出,两个过程的均方差大致相同,因此两个过程都在做相同的工作。MSE的偏差取决于训练和测试分割。
结论
本文使用了人工神经网络和线性回归模型来预测信用风险,数据都是kaggle.com上提供的贷款数据。两个系统的效果都比较好,人工神经网络的准确率为97.67575%。除了对信用风险进行预测,还可以进行更多的工作,比如对债券公司发行的债券进行评级,用户信用评分等等。
参考链接:
https://www.datasciencecentral.com/profiles/blogs/credit-risk-prediction-using-artificial-neural-network-algorithm
网友评论