基于BP神经网络的电信用户流失预测研究

基于BP 神经网络的电信用户流失预测研究
摘要:针对电信运营商用户流失问题,运用了BP 神经网络(BPNN )算法,建立了电信用户流失预测模型。模型的训练
结果表明,在该应用场景下,基于BP 神经网络建立的数据模型具有较好的准确率及可靠性。详细设计了BP 神经网络模型的的每个模块,并给出了BPNN 正向传播建立过程以及反向传播更新权重参数、偏置项的过程。对比了BPNN 与常用的机器学习算法RF ,KNN ,SVM 在准确率与召回率等指标方面的性能。实验证明,通过BPNN 数据模型的应用,可以有效对用户流失做出预测,提高电信行业运营效率。
关键词:神经网络;智能电信;用户流失;预测模型中图分类号:TP183文献标识码:A 文章编号:2095-0438(2021)11-0148-04
(巢湖学院信息工程学院安徽合肥238000)
王小超
张勇
∗∗∗第41卷第11期绥化学院学报2021年11月Vol.41
No.11
Journal of Suihua University
Nov .2021
收稿日期:2021-05-28作者简介:王小超(1988-),男,安徽巢湖人,巢湖学院信息工程学院助教,硕士,研究方向:机器学习;张勇(1983-),男,安徽巢湖人,巢湖学院信息工程学院副教授,博士研究生,研究方向:图像处理。基金项目:安徽省高校省级自然科学研究重点项目(KJ2019A0682);巢湖学院学科建设质量提升工程立项建设项目(kj20xycs02)。
随着移动通信技术的快速发展,电信运营商的用户数量急剧增长,通信市场竞争日益激烈。通过利用电信应用系统产生的数据,建立预测模型,对可能出现流失的用户做出较为准确的预测,对于减少用户的流失,提高通信运营商的运营水平,有着较高的应用价值[1]。
本文以实际的电信应用数据为研究对象,采用了BP 神经网络算法,研究了电信用户流失问题。通过训练数据建立了数据模型,通过对模型的优化,最终得到了实际可用的数据模型,有效对电信用户流失做出预测。
一、算法选择
该问题实际属于一个二值分类问题,即建立模型的目标是预测一个用户的流失或未流失。解决二值分类问题的算法较多,常用的算法有支持向量机SVM 、随机森林RF 算法、K 近邻算法等。
通过初步的模型评估,随机森林与支持向量机SVM 效果相当,KNN 算法分类效果较差,而神经网络的效果较好。因此,本文在算法选择上,采用了BP 神经网络算法,该算法具有应用广泛、泛化能力强、准确率高等特点。
二、BP 神经网络算法
BP(back propagation)神经网络是应用最为广泛的神经网络,是一种按照误差反向传播的方式训练数据的多层前馈神经网络。典型的BP 神经网络模型如图1
所示。
图1BP 神经网络模型
148
BP 神经网络模型经历了正向传播和反向传播两个
过程。
(一)正向传播。以图1两层神经网络为例,在正向传播
时,神经网络按照一下方式计算各层输出:
H=ø(XW 1+b 1)O=HW 2+b 2
其中ø表示激活函数,常用的激活函数有sigmoid 函数、ReLU 函数,tanh 函数。求得输出结果后计算误差函数E 。
(二)反向传播。首先考虑输出层与中间层之间的权重w 2jk 的调整。若各层都使用激活函数sigmoid 时,误差E 对连
接权重w 2jk
求导结果是:
接下来对输入层与中间层之间的连接权重w 1ij 求导,计
算结果如公式所示:
这样就可以根据各层的梯度更新w 2jk 和w 1ij ,偏置项的更新过程类似。
三、建立预测模型防止用户流失、保留现有用户对于电信运营商降低运营成本、提高收益具有现实意义。建立较为精准的预测模型,运营商可以对可能出现流失的用户进行预测,通过增大政策引导来留住用户。整个模型建立过程,需要经历5个阶段:数据预处理,定义BP 神经网络结构,在训练集上训练模型,
为提升模型效率进行调参,最后进行评估模型。
(一)数据字段。该模型的数据采用中国移动真实的公开数据集,每条数据包含18个特征,但不是所有的特征都与用户流失相关,去除个人客户ID 字段后,用于建立模型的有17个特征,其中churn 是标签字段。具体特征值如表1所示。表1用户流失相关属性
字段名称subscriberID gender AGE edu_class incomeCode duration peakMinAv peakMinDiff
posTrend negTrend 字段含义
个人客户ID
性别年龄
受教育程度
用户居住区域平均收入代码在网时长
统计期间内最高单月通话时长
统计期间结束月份与开始月份相比通话时长增加数量
该用户通话时长是否呈现出上升态势:是=1该用户通话时长是否呈现出下降态势:是=1
curPlan avgplan
posPlanChange negPlanChange
nrProm prom call_10086
churn
开始时套餐类型:1=200;2=300;3=350;
4=500分钟
统计期间内平均套餐类型统计期间是否提高套餐:1=是统计期间是否降低套餐:1=是
电信公司营销数量最近一个月是否被营销过:是=1统计期间是否拨打10086
是否流失:1=流失(二)数据预处理。
1.数据清洗。数据的清理过程主要是清除噪声和删除
不一致的数据,而缺失值、噪声和不一致性都会导致不正确的数据,从而影响到数据的质量。数据清理的目标要完成数据的缺失值处理、光滑噪声数据并能够识别离点,纠正数据中出现的不一致[2]。本文中对缺失值采用均值中位数填
充的方法进行填充。对于离点,
通过数据可视化方式进行聚类,为避免离点对模型造成不利影响,需要将离点做删除处理。
2.数据规范化。数据规范化在神经网络分类中的作用
尤为重要,规范化就是赋予所有的属性相同的权重,当不同
特征的值域差异较大时,必须要完成数据规范化,这里采用的是最小-最大规范化方法,将每个特征的值域映射到[0,1]
区间上。具体方法如下:3.数据平衡。数据不平衡时,可能会造成预测结果的偏向。在分类问题中,
主要考虑样本在不同分类上大致是均衡的。如本实验的样本数据流失用户数比非流失用户数要少
得多,这样会使得训练得到的模型在预测时会偏向于非流失[3]
。为解决数据不平衡的问题,
并尽可能多的保留样本数据,采用了上采样的方式解决,即流失用户的样本集生成与非流失的样本集相同数量的样本。4.数据集划分。在训练模型时,需要将整个的样本数据
集划分成训练集和测试集,测试集用于最终的模型测试评
估,而训练集用于模型的建立。在建立模型时,为测试模型
训练时的效果,还应从训练集中取出一定比例的样本构成验证集,以便在训练过程中测试模型的效果。根据数据集大
小,确定训练集和测试集比例,本文训练集与测试集按照7:3
划分,训练集中的验证集按照交叉验证的方式划分。
(三)建立BP 神经网络模型。模型建立是该问题的核心部分,应综合考虑数据样本集的情况和实际问题的目标,选
择合适的模型,使用训练集对模型进行训练,使得模型能够
反映数据之间的内在关系[4]。建模的过程是一个反复迭代
的过程,通过反复调整参数得到合适的数据模型。1.确定模型,构建两层模型。为了提高精度,可以通过
增加网络的隐藏层的层数或者增加隐藏层神经元个数两种
方式实现。考虑到模型复杂度以及时间效率,本文采用了两
层的BP 神经网络模型,包含了1个输入层,1个隐藏层,1个
149
输出层,采用该两层模型实现电信用户流失预测模型。
BP 神经网络模型建立需要经过反复迭代,先正向传播计算各层输出,再通过计算误差E ,反向传播不断更新各层的权重参数与偏置项。BP 神经网络模型的训练流程如图2所示。
图2BPNN 训练流程先通过初始化的权重参数,偏置项以及学习率等超参数建立模型结构,执行神经网络正向传播过程,得到前向计算的输出,通过计算期望输入r 和网络实际输出y 计算最小二乘误差函数E 。以该误差函数E 为目标函数,模型的训练目标就是让实际的计算输出与期望输出接近,即E 值趋近于0。因此,模型的训练过程就是不断调整各层的权重参数W ,使得最小二乘误差函数E 趋近于0
重型地中海贫血。r n 表示第n 个样本的期望输出值,y n 表示个样本的网络
实际输出值。
2.参数设置。隐藏层结点个数n h :采用下面常用的经验
值计算方法得到隐藏层结点个数,n i 表示输入层节点数为
16,n 0表示输出层节点数为2,在实验阶段将m 从1调整到10,根据实际的测试结果调整隐藏层结点个数。初始值取m
=1,计算得到隐藏层结点个数为5
学习率Ƞ:学习率Ƞ的设置比较关键,学习率过小,收敛过程较慢,消耗大量的模型训练时间,学习率过大,每次权值参数修正也增大,可能会造成收敛过程的跳跃,可能会收敛到一个非最小值点,甚至不收敛。为了选取合适的学习率,每次迭代时学习率不是固定的,学习率依赖于上一次的迭代的学习率,整体逐渐递减。学习率Ƞ经验值一般取0.01到0.8之间,本文初始的学习率Ƞ设置为0.1。
3.网络训练过程。正向传播过程:根据规划的BP 神经模型结构,输入层采用W 1x 1+b 1线性函数计算,在隐藏层使用
目前最为流行的ReLU 函数ReLU =max(0,W 1x 1+b 1)作为激活函数,该函数提供了一个简单的非线性变换,且具有很好的可导特性,便于在反向传播时计算梯度。输出层使用线性函数W 2x 2+b 2得到输出,正向传播过程如图3
所示。大地水准面精化
图3正向传播过程
在计算损失函数值时,还应考虑正则化惩罚项,本文使用L2类型的正则化惩罚项,因此最终的的损失值loss 计算如下:
loss=data_loss+
reg_loss
data_loss 是使用了softmax 函数的交叉熵损失,
其中表示第i 个样本的预测值y (i)取到真实值r i 的概率,reg_loss 是L2正则化损失函数,reg 是惩罚因子,表示惩罚的力度。
反向传播过程:为了更新W 1,b 1,W 2,b 2参数,反向传播就是计算梯度的过程,从最后的损失函数反向逐层求导。首先对softmax 函数反向传播求导,符号d 表示求导:
系统检测
dscores =正确分类概率值-1
再对W 2x 2+b 2线性计算中的各个参数求导。符号×表示
矩阵乘法,下面公式同样。dx 2=dscores×W 2dw 2=dscores×x 2db 2=dscores 接着对ReLU 函数求
导,因为RelU=max(0,x),求x 求导,若x>0,导数为1,若x<=0,导数为0。因此Relu 求导如下:drelu=dx
drelu[x<=0]=0
最后对W 1x 1+b 1反向求导。dx 1=drelu×W 1
dw 1=drelu×x 1
db 1=drelu 完成反向传播,后更新权值参数,更新参数时使用Adam 优化算法,
更有效地更新网络权重。m=b1*m+(1-b1)*dx v=b2*v+(1-b2)*dx^2W+=-learning_rate*m/sqrt(v)五、算例分析
(一)模型准确率。基于以上算法训练的BP 神经网络模
型,在验证集和测试集上测试模型的分类效果。实际测试的结果如图4所示。从如图4(a )图中可以看出,执行了10次epoch 后模型准确率趋于稳定,以100作为一次batch_size 迭代计算,打印了损失函数与迭代次数的关系图,当迭代次数超过50次时,损失函数趋于收敛。从图4(b )图可以看出,最终验证集的模型准确率达到88.3%,
测试集的模型准确率达
150
到了84.8%,具有较高的准确度,且没有出现过拟合问题。
图4BPNN模型预测结果
(二)召回率。为验证预测电信用户流失的准确率,采用模型准确率在当前场景下不是非常合适。该问题只需考虑用户实际流失的情况,当预测用户会流失实际情况也流失了,表明预测正确。而当预测用户不会流失,没有采取任何的措施,实际情况用户流失了,这时电信公司就会产生损失。这就表明,即使模型分类的准确率很高,也可能会出现大量用户流失被预测成非流失,造成损失。因此采用召回率recall值衡量模型准确率更为合适,即recall=TP/(TP+FN)。其中,TP表示预测会流失实际也流失的数量,FN表示预测非流失实际流失的数量。recall取[0,1]之间的值。图5为模型在测试集上的混淆矩阵,计算召回率:
recall=TP/(TP+FN)=393/(78+393)=83.4%以召回率评估模型,仍然具有较高精度。
图5BPNN测试集的混淆矩阵
(三)算法对比。将BP神经网络模型,与SVM,RF,KNN 算法在测试集上的预测结果进行对比,结果如表2所示,由结果可知,从准确率指标上看,BP神经网络模型的准确率最高达到了84.8%,SVM与RF模型准确率相当,而KNN算法的精确度较低。从召回率指标上看,BPNN仍然具有较高的精度,预测集上达到了83.4%。而SVM,RF算法虽然模型准确率较高,召回率的精度却并不高,KNN算法的召回率效果较差。
本文采用的BP神经网络算法经过反向误差传播更新模型参数,能够使得模型的构建更加准确,通过调节正则化惩罚项,激活函数,学习率,隐藏层深度,隐藏层节点数等超参数,可以具有更优的用户流失预测准确度。
表2各算法评估结果对比
算法
BPNN
SVM
RF
KNN
准确率(accuracy)
84.8%
82.4%
81.3%
72.7%
召回率(recall)
83.4%
第六届cctv模特大赛78.6%
78.9%
69.6%
四、结语
本文开展了基于BP神经网络算法的电信用户流失预测应用研究,结果表明:BPNN模型训练结果在准确率方面表现出。
BP神经网络算法相比于SVM,RF,KNN等算法,通过调参可以训练得到更加准确的预测模型,在实际的用户流失预测中具有更高的模型准确率与召回率。
典当管理办法本文中仅基于BP神经网络算法建立了用户流失的预测模型。实际上,影响电信用户流失的原因较为复杂,分析的内容除了预测模型外,还应涉及用户分组,流失用户特征分析等方面[5]。为达到更好的分析效果,可进行用户分组,对样本数据进行聚类分析,计算每个组中用户流失的比重,到流失率最高的分组,还可以开展流失用户特征分析,对流失用户做因子分析,到重要的影响特征,对具有容易流失特征的用户做体验改善方案[6]。这样通过多方面的数据分析,有助于模型进一步的优化,支撑电信运营商的运行决策。
参考文献:
[1]王志阳.基于客户洞察的电信数据挖掘研究[D].济南:
山东大学,2017.
[2]孙碧颖.基于神经网络算法构建电信用户流失预测模
型的研究[D].兰州:兰州大学,2016.
[3]程慧.运营商挖掘大数据价值的7种模式[J].中国电信
业,2013(2):34-5.
[4]姜晓娟,郭一娜.基于改进聚类的电信客户流失预测
分析[J].太原理工大学学报,2014(4):532-536. [5]盛昭瀚,柳炳祥.客户流失危机分析的决策树方法[J].
管理科学学报,2005(2):23-28.
[6]应纬云,覃正,赵宇,等.SVM方法及其在客户流失预测中的应用研究[J].系统工程理论与实践,2007(7):105-110.
[责任编辑郑丽娟]
a)
b
国际民航组织)
151

本文发布于:2024-09-22 09:47:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/413143.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:流失   模型   用户   预测
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议