基于BP 神经网络的银行客户流失预测

2021-10-18 08:57时丹蕾杜宝军
科学技术创新 2021年27期
关键词:隐层人工神经网络神经网络

时丹蕾 杜宝军

(兰州交通大学,甘肃 兰州 730070)

1 背景介绍

近年来,随着支付宝、微信等第三方支付平台的流行和经济体制改革的深化,银行同业间的竞争出现了恶化的趋势,客户流失率的与日俱增也使得银行机构的经营变得紧张。其次,在“互联网+”盛行的21 世纪,互联网金融服务与金融产品犹如雨后春笋般层出不穷,加速了客户对银行机构的忠实度和依赖性的降低,如何处理客户流失问题俨然成了摆在各大银行面前的一大挑战。

随着市场竞争的加剧和银行规模经济效应的逐步下降,银行同业间的产品或服务差异越来越小,而对于银行来说,客户显然是最具有价值的资产和最大财富,越来越多的事实证明“以客户为中心”的银行往往能在市场中获得更大收益[1]。

2 问题综述

2.1 问题提出

伴随越来越明显的国际金融一体化的趋势以及全世界网络经济的不断进步,我国银行业面临着越来越大的挑战,与此同时,银行业的竞争也越来越激烈,如果商业银行想要持续健康发展,争取在这个大规模竞争趋势下的更大利润,就需要采用合理竞争的手段,留住理想客户,从而来增加企业的收益,这无疑对于各个银行来说都是至关重要的。同时,很多银行都会把过多的精力放在挖掘新型客户上,认为增加客户的数量,增大银行受众的规模就可以提高银行本身的利润效益,但是往往这样就会忽略了对于原有客户资源类型的分析,进而无法总结出现在客户的真实需求,从而造成大量客户流失的现象,在新客户转化为老客户后同样的问题再次出现。由此可以看出,对于银行客户流失进行有效的分析,留住老客户,并且不断增加新客户的数量,才能从根本上提高银行的竞争力,使得银行在现今激烈的竞争中争取一席之地。本文通过建立客户流失模型,预测客户流失情况,从而帮准银行调整服务和经营策略,给银行带来更大的效益[2]。

2.2 研究现状

对于银行客户流失案例的研究已经有非常多的先例,这方面的研究也涉及到了各种各样的研究方法,邓颖凡在对于大数据驱动下的用户行为分析中展开了客户细分和流失预测两个方面的研究, 同时还引入了纵贯其中的两大保障体系:“数据挖掘技术”以及“科学评估指标”来进行分析,其采用理论结合实践的方式同时解决了银行客户细分问题将自适应权重的双级聚类算法推进应用、深化和验证。[3]谢斌则主要进行了基于大数据挖掘的N 银行客户流失分析,分析N 银行基于大数据的客户现状分析, 基于大数据分析对目前N 银行的客户整体现状进行介绍并总结了贵宾客户个性化产品设计和营销、强化大数据开发与应用、提升客户体验、优化营销体系的营销启示。[4]而林睿,迟学芝则利用BP 神经网络对于银行客户流失问题进行分析,利用BP 人工神经网络网络稳定、学习能力强的特点,通过输入变量和输出变量之间的相关性分析,建立银行客户流失分析模型,以此获取即将流失的客户,以便银行做出经营决策,挽留有关用户,确保银行效益不受影响。[5]大部分的研究都是基于数据挖掘的基本方法,其分类的方式主要是基于客户的基本特征,本文的改进之处主要是对于神经网络模型进行进一步的运用。

3 模型研究方法介绍及模型建立

3.1 模型原理

3.1.1 多层感知机

多层感知机(MLP,Multilayer Perceptron)也被称作人工神经网络(ANN,Artificial Neural Network),其除了输入输出层,它中间可以有多个隐层,最简单的MLP 只含一个隐层,即三层的结构。

多层感知机层与层之间是全连接的。多层感知机最底层是输入层,中间是隐藏层,最后是输出层。

3.1.2 隐藏单元及ReLU 函数

大部分的隐藏单元可以描述为接受输入向量x,通过计算仿射变换z=wTx+b,然后使用一个逐元素的非线性函数g(z)。大多数隐藏单元的区别仅仅在于激活函数g(z)的形式。

整流线性单元(Rectified Linear Unit, ReLU)是隐藏单元极好的默认选择。许多其它类型的隐藏单元也是可用的。整流线性单元使用激活函数g(z)=max{0,z}。在z=0 处不可微。这意味着相比于引入二阶效应的激活函数来说,它的梯度方向对于学习来说更加有用。

3.1.3 softmax 激活函数

Softmax 函数常在神经网络输出层作为激活函数,将输出层的值通过激活函数映射到0-1 区间,从而将神经元输出构造成概率分布,用于多分类问题中,Softmax 激活函数映射值越大,则真实类别可能性越大,下面先给出Softmax 函数计算公式:

本文模型建立采用深度前馈网络模型,首先对于数据标签进行处理,标签取1 代表客户流失,标签取0 代表正常客户。输入层到第一隐层的结构,第一隐层256 个神经元,使用sigmod函数,并且使用截断正态分布,为了避免过拟合采用了漏失的操作,第一隐层到第二隐层的结构同样包含256 个神经元,并且采用sigmod 函数,第二隐层到输出层的的结构中,将输出层设置成两个神经元并且使用softmax 函数作为输出函数。

3.1.4 反向传播算法

反向传播算法在众多算法中应用较为广泛,通常运用反向传播算法来训练人工网络,在这方面该算法十分有效。该算法主要应用的思想是:首先将训练集获取的数据传播到ANN 的输入层,然后就是通过隐藏层的计算,最后到达输出之后完成整个算法的传播,输出一个算法计算的结果,上述描述的就是ANN 前向传播的过程,一般情况下,输出结果和实际结果一般存在误差,在算法完成后误差往往会很难处理,因此我们要对误差提前进行计算,而后该误差从输出层向隐藏层反向传播,最终传播到输入层,这就是反向传播的关键,同时误差也是我们不断调整参数的依据,通过对于误差大小的计算和判断,我们不断对参数调整,而后重复以上的步骤不断进行迭代和拟合,一直到收敛为止。

3.2 客户流失分析

TNS 之前对于中国银行业进行调查,主要针对的是北京、上海已经广州三个发展较好的城市,调查的内容主要是1500 名零售银行客户以及900 名信用卡用户,根据调查结果可以看出,目前中国银行业的客户维系系数是低于全球平均水平的,由此可以看出,在老客户保留以及客户分析发展方面,我国在各方面还有待提高,并且根据调查可以发展,我国商业银行的客户流失率竟然高达30%,在现今社会高速发展之下,我们可以猜测银行客户流失的原因是多方面的,如何把握住老客户,有效对于客户的流失率进行降低已经成为现今银行业发展最为重要的问题,只有针对银行客户流失这一现象提出根本性的改革措施,才能保证我国银行业在全球更加具有竞争力。为了达到这一目的,银行需要建立客户分析模型,这个模型的作用主要归结于以下两个方面:

(1)通过对客户数据的分析,探究客户信息中的关键因素和客户流失之间的必然关系, 在这种关系的基础上对于客户流失的原因进行有效分析,同时提出改变这个状况的根本性措施。

(2)对可能会流失的客户进行预警,提前采取相关措施。

3.3 在客户流失分析中应用BP 人工神经网络

BP 人工神经网络是Rumelhart 和McCelland 为首的科学家小组在1986 提出的一种神经网络算法,这是一种按照逆传播算法训练的多层前馈网络,在众多的神经网络算法中,该算法的应用相对十分广泛,这是由于该算法本身具有自适应和学习能力强的特点,因此该算法在一些分析中应用起来十分方便快捷,并且能得到相对准确的分析结果,在对于客户流失的分析中,引入这一个算法,对于获取的样本数据进行学习和分类,从而建立客户流失模型,分析客户的特点,抓住客户的关键特征,把握客户的喜好和心态,从而在完成对于客户偏好进行分类的同时,对于银行业如果避免客户过度流失提出有效的措施,来提高银行的竞争力,保证银行的长远发展。

3.3.1 数据获取

数据主要包括行号、地理位置、性别、客户ID、年龄、收入估计、产品数量、信用积分、开户时长、有无信用卡、是否活跃、是否流失(即目标变量)。显然其中行号、客户Id、姓氏对流失情况的分析预测意义不大,可以忽略,其余字段可分为分类变量和数值变量,在数据处理环节再做变换等操作。另外,剔除少量异常数据。本文测试集选取8150 个,训练集选择1000 个。建立多层感知机模型,利用训练集对于模型拟合准确度进行训练,并且利用测试集对于模型的训练能力进行测试。

3.3.2 数据预处理

由于获取的银行客户数据属性变量比较多, 并且各个属性变量之间存在着不可公度性和矛盾性,另一方面,各属性变量的量纲、数量级和指标类型也不完全相同。以上两个方面的存在都会对于我们的分析结果以及模型的建立产生影响,因此为了避免上述情况的发展, 在建立模型以及评价时要将训练样本的向量归一化处理,使网络的训练样本的值都位于[0,1]范围内,从而使得模型能够建立的更加完善,分析结果更加准确。在预先处理方面我们一般都是采用最大最小函数的方法, 获取神经网络的输入值,并且期望输出的值0 或1,建立两种可能的情况,如果样本数据中客户没有流失,输出为0,否则为1。

3.3.3 模型的建立

搭建模型, 使得模型包括10 个输入单元, 存在1 个输出单元。具有非线性函数的逼近的特点是BP 人工神经网络一个重要特征,通过测算我们可以发现只含有一个隐藏层的BP 网络就可实现模型的建立, 所以模型的建立无需过于复杂,根据模型中输入层数据的取值范围, 模型中在每个隐含节点和输出节点的值都是用Sigmoid 转移函数计算获得。

3.3.4 BP 神经网络训练过程

对于BP 人工网络进行训练,我们将训练的样本分为两类,训练集和测试集,第一隐层256 个神经元,使用sigmoid 激活函数,使用截断正态分布,标准差为0.1,对256 个节点偏置进行初始化,第一隐层到第二隐层的结构,第二隐层同样256 个神经元,使用sigmoid 激活函数,第二隐层到输出层的结构,输出层两个神经元,使用softmax 输出,输出节点的偏置也要初始化,输出层使用概率化函数,使得每个输出都在0-1 之间,并且加和等于1。

3.3.5 结果分析

epoch:0 train_acc:0.74 test_acc:0.50006133 loss:0.60425085

epoch:50 train_acc:0.74 test_acc:0.50006133 loss:0.57326245

epoch:1000 train_acc:0.74 test_acc:0.50006133 loss:0.5732621

epoch:9950 train_acc:0.806 test_acc:0.637747 loss:0.50620866

epoch:10000 train_acc:0.807 test_acc:0.6390968 loss:0.5060288

本文将训练集每50 为以小组,打乱顺序并且不断进行迭代和训练,根据训练结果可以看出,经过该模型的训练,测试集和训练集的准确率均不断提高,损失值一直不断减少,由此可以看出该模型的建立是合适的。

将训练结果转化为图像体现的形式,可以看出,随着迭代次数的增加,损失和准确度的结论和之前完全一致。

图1 结果线形图

4 结论

本文将人工神经网络技术应用于银行客户流失分析预测,不仅建立了基于人工神经网络的客户流失分析模型, 并对模型中的关键问题进行分析和处理;关键属性变量的选取, 数据处理、流失模型建立分析、人工神经网络的训练过程等进行了重点研究, 通过测试结果我们可以看到这个模型对于客户流失进行分析是非常可行的。通过对于模型结果的观察使得银行决策者能够及时了解客户流失情况发生,从而制定相应的经营决策,挽留有关的用户,确保银行效益不受影响。

对于银行业,利用Python 技术中的神经网络分类方法建立预测客户流失模型来支持决策是最直接且较为理性的选择。本文通过对客户流失数据的探索与预处理来建立基于Python 的BP 神经网络模型,目的在于对于模型的优良性以及对于银行客户的分类训练情况进行进一步的探索。

猜你喜欢
隐层人工神经网络神经网络
基于RTD可编程逻辑门的n变量函数实现算法
一种自适应确定隐层节点数的增量半监督超限学习机算法
基于递归模糊神经网络的风电平滑控制策略
基于人工神经网络的Ni-ZrO2纳米镀层耐腐蚀性能预测
一种深度梯度提升回归预测模型
神经网络抑制无线通信干扰探究
人工神经网络实现简单字母的识别
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
基于神经网络的中小学生情感分析
基于Q-Learning算法和神经网络的飞艇控制