银行客户贷款行为数据挖掘与分析
银行客户贷款行为数据挖掘与分析
在新时代下,消费者的需求结构、内容与方式发生巨大改变,企业要想获取更多竞争优势,需要借助大数据技术持续创新。本文分析了传统商业银行面临的挑战,并基于knn、逻辑回归、人工神经网络三种算法,对银行客户的贷款需求进行分析。最后,使用KMeans聚类算法进行客群分析,绘制出雷达图、t-SNE散点图、柱状图,多方面展现客户贷款行为。
前言
1、研究背景
银行主要业务包括:资产业务、负债业务、中间业务。其中资产业务主要是指贷款业务,并且它也是银行目前主要的收入来源。同时,随着互联网金融的兴起,一些客户向线上交易方式转移,国有银行的垄断地位开始动摇,其原因主要是这些互联网金融机构利用大数据、云计算、区块链、人工智能、物联网等技术,将其应用在很多应用场景中,包括智能投研、智能投顾、智能客服、智能营销、智能风控、银行云等,这些技术的作用不只是扩大客户的融资需求,还可以用于风险控制、项目评估等方面,达到利益与风险相均衡的状态。为扭转这一局面,传统银行业开始转型升级,与互联网领域融合,优化盈利模式。
2、影响客户贷款需求的因素
⑴客户基本信息
分析贷款客户的年龄、婚姻状况、教育水平、职业等特征,针对这些客户的特征进行分类,对每一类客户群体做出不同的营销方案。
如图1-1、1-2所示,从年龄上分析,进入银行办理业务的客户年龄大多集中在25-65岁之间,而具有贷款需求的客户的年龄分布与之相一致,同时,贷款客户占银行客户总人数的16.03%,说明贷款业务有很大的市场潜力,可以通过一些措施来激发客户的贷款需求。
图1-1 银行客户的年龄分布图
图1-2 贷款百分比饼图
如图1-3所示,从职业上分析,银行客户的职业大多集中在蓝领、银行人员、服务业从事人员、技术人员,而职业为蓝领的客户贷款可能性最大。
图1-3 银行客户的职业分布图
如图1-4所示,从受教育水平上分析,大部分银行客户的受教育水平处在中等、高等教育水平,有一小部分客户的受教育水平未知。
图1-4 客户受教育水平的分布图
如图1-5所示,从婚姻状况上分析,各种情况的人数占比都差不多,其中,已婚和离婚的客户人数较多。
图1-5 银行贷款客户的婚姻状况分布
⑵业务情况
与业务情况相关的因素,主要包括与客户的交流方式、交流次数、客户的账户平均余额,通过对这一方面的分析,可以制定出贷款方案,以更大程度的满足客户需求,同时,通过对客户交易情况的了解,将信息推送限制在一定范围内,给客户带来银行交易的愉悦感,增强与客户之间的信任。
如图1-6、1-7、1-8所示,从账户平均余额上分析,客户的贷款金额较小,大多集中在0-3000元之间,高端客户资源稀少。从与客户办理业务时的交流方式上分析,大部分客户使用手机进行信息咨询。从交流次数上分析,与客户的交流次数大多集中在1-5次之间。
图1-6 银行客户的账户平均余额分布
图1-7 客户交流方式分布
图1-8 交流次数分布图
数据预处理
1、筛选有效特征
如图1-9、1-10所示,由于原始数据的列数过多,考虑到在构建模型阶段可能会浪费很多的时间,因此,我们用逻辑回归分析方法对数据进行筛选,删除不必要的列,最后筛选出job、material、education、balance、housing、contact、previous、loan这几列,经过评估,模型的平均正确率为0.8438。
图1-9 原始数据
图1-10 筛选后数据
2、连续型数据的处理
如图1-10所示,使用info()方法来查看每一列的数据类型,其中,balance、previous这两列属于连续型数据。这类数据的处理方法是通过绘制箱线图,查看是否存在异常值,如果存在,需要利用describe()查看该列的均值,用均值替换掉异常值。
3、离散型数据的处理
构造如下函数来处理离散型数据,首先要查看所在列中的值的种类数,并创建一个连续的数组,然后将该列的所有数据用数据进行替换,并将数据类型转成int64。
4、处理后的数据
数据预测方法
对银行客户的贷款需求做分析,需要用到分类算法,我们将使用knn、逻辑回归分析和人工神经网络三种算法来构建模型,并对模型进行评估,计算每种算法的准确率。
1、knn
(1)实现原理
Knn是一种基于已有样本进行推理的算法,通过对已有训练样本集和新进的未知样本做比较,找到与未知样本最相似的k个样本。最后通过对这k个样本的类标号投票得出该测试样本的类别。
(2)步骤
- 对离散数据做one-hot编码,将编码后的数据与连续型数据进行拼接,并对该数据统一做归一化处理,保证所有列对预测结果的影响程度都相同。
- 编写函数,根据测试集准确率与训练集准确率的比值,选定n-neighbors参数的值。
- 预测并得出测试集准确率与训练集准确率。通过计算得出,测试集准确率为0.8368,训练集准确率为0.8482。
(3)评估
如图2-1、2-2所示,通过构建混淆矩阵的方式对模型进行评估,其中,对无贷款需求的客户判定的准确率为85%,对有贷款需求的客户判定的准确率为24%,总体准确率为84%,证明预测结果有效。
图2-1 KNN混淆矩阵
图2-2 KNN评估报告
图2-3 KNN预测结果
(4)预测
贷款客户主要集中在蓝领、管理者、技术人员中,且客户的教育水平普遍都很高。
图2-4 KNN预测结果
2、逻辑回归
(1)实现原理
逻辑回归是根据输入值域对记录进行分类的统计方法。它是将输入值域与输出字段每一类别的概率联系起来。一旦生成模型,便可用于预测。对于每一记录,计算其从属于每种可能输出类的概率,概率最大的类即为预测结果。
(2)步骤
- 划分测试集与训练集。
- 使用RandomizedLogisticRegression筛选特征
- 进行预测并计算准确率。通过计算得出,测试集准确率为0.8403,训练集准确率为0.8461。
(3)评估
如图2-3、2-4所示,通过构建混淆矩阵的方式对模型进行评估,其中,对无贷款需求的客户判定的准确率为84%,召回率100%;对有贷款需求的客户判定的准确率为0%,总体准确率为84%。
图2-3 逻辑回归混淆矩阵
图2-4 逻辑回归评估报告
3、人工神经网络
(1)实现原理
在人工神经网络算法中,对损失函数用梯度下降法进行迭代优化求极小值的过程使用的是BP算法。BP算法由信号的正向传播和误差的反向传播构成。首先,将信号从输入层传递至输出层。若实际输出与期望输出不一致,则进入误差反向传播阶段,将误差反向传递,获得各层的误差信号,对误差做调整。通过反复执行信号的正向传播和误差的反向传播操作,直至输出误差达到期望值,或进行到预定的学习次数为止。
(2)步骤
- 对离散数据做one-hot编码,将编码后的数据与连续型数据进行拼接,并对该数据统一做归一化处理,保证所有列对预测结果的影响程度都相同。
- 划分训练集和测试集。
- 采用GridSearchCV来进行参数调整实验,对solver、hidden_layer_sizes两个参数的值进行调整,找出最佳参数组合。
- 预测并计算准确率。通过计算得出,测试集准确率为0.9997,训练集准确率为0.9998。
(3)评估
图2-5 人工神经网络评估结果
三种算法之间的比较
(1)逻辑回归:该算法的数据处理过程较为简单,并且在构建模型的时候不能输入参数进行设置,因此需要手动划分训练集和测试集。
(2)人工神经网络:该算法内部带有很多方法,可以对数据进行one-hot编码、归一化等处理,排除特殊数值对结果的影响,还能进行参数调整,找到最佳参数组合,因此,在这三种算法中,人工神经网络算法的拟合度最高。
(3)Knn:在预测前需要对数据进行处理,排除特殊数值对结果的影响,同时,该算法在构建模型的过程中可以指定参数,尤其是n-neighbors,这个需要我们自行编写方法来找到n-neighbors的最佳值。
图2-6 三种算法预测结果对比
KMeans聚类客群分析
1、将每个特征值归一化到一个固定范围
2、开始聚类
3、预测并绘图
(1)雷达图
图3-1 雷达图
(2)t-SNE散点图
图3-2 t-SNE散点图
(3)柱状图
图3-3 客户账户余额分布
图3-4 客户职业与教育水平分布
结论
如图2-5所示,在这三种算法中,人工神经网络算法的拟合度最高。通过模型评估发现,每个算法对于无贷款需求的判定准确率较高,而对于有贷款需求的判定准确率较低。
图2-5 三种算法评估结果对比