当前位置:首页 期刊杂志

基于LSTM 的用户离网预测研究

时间:2024-07-28

[林宁 张明一 陈德全 陈卓]

1 引言

在市场竞争日渐激烈的大环境下,国内运营商为提高产品创新性和业务多样性投入较多精力。但随着市场快速发展,加以近年来工信部出台《携号转网服务管理规定》的催化作用,用户离网即客户流失问题日益显著,引发运营商对运营模式的思考并提高制定客户挽留策略的重视程度[1]。

根据Verbeke 研究数据分析可知[8],在电信行业中每当用户的离网率降低5%,相对应地,运营商平均利润将会增加25~85%。同时,对于新用户入网的投入成本将明显高于老用户的维系成本[2,8]。因此运营商当前最为关心的重点问题是减少离网用户,用户维持也成为了目前较为热门的研究方向[9][10]。随着大数据信息技术的发展,算法的创新以及科学工具的普及,以大数据为驱动力的数据挖掘技术能够通过分析海量用户数据直达用户痛点。运营商可利用其所掌握海量用户数据,通过相关机器学习算法有效地挖掘出离网用户特征,并根据离网状况及时做出反应并制定挽留策略[3,10]。

众多研究学者对用户离网行为分析采取不同思路,分析方式也从早期的数据库联机分析处理(Online Analytical Processing,OLAP)分析,到大数据时代数据挖掘算法在用户离网预测中的应用。通过分析结果,对具有离网意向的客户制定并实施挽留策略,通过满足用户需求和提供福利等方法与企业客户维持良好关系,保持用户粘度[4]。目前的研究以传统的算法为主,逻辑回归、决策树、SVM 等方法,在众多分类算法中,决策树和SVM 是公认的具有较强泛化能力的算法,它们具有对数据质量要求不高、训练过程中关注错分样本和自带正则项防过拟合等优势[5,6]。基于深度学习算法的研究较少,主要集中于简单神经网络。简单神经网络具有层次结构特征,输入数据信息通过逐层获取和筛选可获得其特征表示,实现端到端学习[7]。但是在这种简单神经网络中,信息在每层神经元之间的传递是单向的,即只能由上一层传递给下一层,同时网络对样本的处理在每个时间点相互独立,无法持久有效地表示历史信息。虽然传统的循环神经网络(Recurrent Neural Network,RNN)为了使信息具有持久性进而引入对历史隐含信息的环状依赖,但实际训练过程中反而易出现长期依赖问题。Greff 等人提出的长短期记忆(Long Shortterm Memory,LSTM)神经网络通过引入三种门结构和细胞状态选择性地记忆过去的训练序列,并且细胞状态能够在处理过程中将较早时间点的有效信息传播到较后时间点的细胞中来保持良好的性能,这在一定程度上减轻了短时记忆带来的影响[11]。本文应用LSTM 神经网络模型进行用户离网预测,并对相关问题进行研究。

2 用户离网预测问题

与国内相比,国外对于用户离网的研究起步较早,如IBM 通过建立模型为运营商分析用户离网原因。通过使用模型,对特定的用户进行分类评估,预测用户离网的可能性。针对高价值用户,特别提出挽留策略,降低用户的离网概率。

由于国内多年电信业垄断,在三次电信业重组前,对于用户的行为及满意度并未有所重视。但随着电信业从完全垄断到引入竞争,各大运营商集中精力抢占市场。开始试探性建立简单的模型预测离网用户,并通过运营商的后台数据分析用户的业务使用情况,识别判断离网风险,每月或者按季度产生离网高风险用户名单并发送给业务维系部门进行挽留工作,针对部分高价值用户进行单独外呼等有针对性的挽留。

国内大部分运营商都已开展大数据业务的探索及研究,并成立了相关的研究中心,希望通过小规模的尝试,探索业务发展的可能性,并逐步推广,最终可能成立独立子公司单独运营。由于互联网企业OTT(Over The Top)业务的兴起,运营商传统业务正在逐渐衰退,因此需要充分挖掘用户价值,充分利用自身拥有的大量用户数据对用户进行离网分析及预测。本文通过对用户数据挖掘进行研究,尝试辅助运营商弥补自身在这此类应用研究中所存在缺陷,具有一定的现实意义。

用户离网预测既是一个预测问题,也是一个二分类问题。从性别、年龄、教育、在网时长、统计期间内最高单月通话时长、统计期间结束月份与开始月份相比通话时长增加数量、该用户通话时长趋势、电话公司营销的数量、统计期间内平均套餐类型等多种因素预测用户是否处于离网状态。用户是否离网分为两个状态,离网用1 表示,未离网用0 表示,因此是二分类问题,对于深度学习来说,则属于有监督学习,建模思路如图1 所示。本文基于用户相关信息来预测其是否离网,并通过引入深度学习经典算法LSTM,提升用户离网预测的准确性,从而为运营商制定挽留客户策略提供预警和参考。

图1 建模思路

3 用户离网预测问题建模

3.1 数据处理

考虑到运营商用户样本基数越大,实验结果将更具有代表性,本文在数据选择时选取了以中国移动用户作为代表的样本数据。本文考虑性别、年龄、教育、在网时长、统计期间内最高单月通话时长等18 个因素,所考虑因素较多,运用算法进行计算时首先需要将相关因素进行数据量化,具体的处理方法如表1 所示。

表1 用户离网相关影响因素的数据量化

一个用户具有以下数据特征:用户ID 为39244924,已流失,性别男,年龄45 岁,硕士,年收入52 万,7 年在网时长,飞信用户,统计期间内最高单月通话时长214.5 分钟,统计期间结束月份与开始月份相比通话时长减少119 分钟,该用户通话时长呈现出下降态势,电话公司营销0 次,最近一个月未被营销过,统计时间开始时套餐类型为第3 档最高通话350 分钟,统计期间内平均套餐类型为第3 档套餐,统计结束时和开始时套餐无变化,统计期间未降低套餐,拨打10086 次数为1 次,进行数据量化的指标为[用户ID,流失,性别,年龄,教育,收入,在网时长,飞信,统计期间内最高单月通话时长,统计期间结束月份与开始月份相比通话时长增加数量,该用户通话时长是否呈现出上升态势,该用户通话时长是否呈现出下降态势,电话公司营销的数量,最近一个月是否被营销过,统计时间开始时套餐类型,统计期间内平均套餐类型,统计结束时和开始时套餐的变化,统计期间是否提高套餐,统计期间是否降低套餐,拨打10086 的次数],进行数据量化后为[39244924,1,1,20,0,21,5,0,274,-371,0,1,2,1,3,2,2,1,0,1]。

数据量化后,数据预处理过程如表2 所示,模型读取数据集,取第一列为索引,第二列作为目标值,然后将删除这两列后的数据作为模型的输入。将数据集按4:1 的比例分为训练集和测试集,在实际训练过程中,对训练样本进行随机切割,按3:1 的比例得到训练集和验证集,验证集的作用为在每次训练评估模型的泛化能力,防止过拟合。对于深度学习而言,要对同一数据集进行多次训练,每次训练时训练集和验证集包含的数据均不同,以提高模型的泛化能力。测试集用以展示最终训练的模型的泛化能力。

表2 数据预处理过程

3.2 模型的选择与设计

本文引入经典深度学习算法LSTM 与常用的传统机器学习算法决策树进行对比,以展现LSTM 算法在离网预测问题中具有更好的性能。

本文决策树采用算法为分类与回归树(Classification And Regression Tree,CART)算法,其分类与回归树本质是一样的,构建过程都是逐步分割特征空间,预测过程都是从根节点开始一层一层的判断直到叶子节点给出预测结果。CART 分类树的切分点的依据是基尼(GINI)指数,GINI 是介于0 和1 的数字,其中0 代表完全相等,而1代表完全不等,GINI 指数越小,模型中的样本被分错的概率越小,模型的性能越好。在CART 算法中,把一个随机样本在其子集上被分错的可能性用GINI 纯度来表示。GINI 不纯度可以用该样本被选中的概率乘以被分错的概率。当某个节点的所有样本在同一个类时,GINI 不纯度为0。在此次分类问题中,根据数据因素数量分为18 个类,当前样本点属于上一层某个因素的概率为Pk,则GINI 指数的计算方法如公式(1)所示。

如果样本集合年龄根据某个年龄段特征A 被分割为20 到30 岁的特征D1,10 到20 岁的特征D2两个部分,那么在特征A 的条件下,集合D 的GINI 指数计算如公式(2)所示。

决策树的示意图如图2 所示,某层特征因素根据公式(1)计算的GINI 指数大小决定该特征是否能够成为此节点的子节点。数据集D 根据特征A 可形成多种分类,根据公式(2)可计算出每一类的GINI(D,A)值,根据GINI 指数计算结果的最小值决定分类。基于此,可通过GINI 指数来确定某个特征的最优切分点。以GINI 指数最小为目标,根据公式(1)和公式(2)不断迭代形成最终的决策树。

图2 决策树分类示意图

神经网络是由大量简单的神经元连接组成的复杂网络,是一个高度非线性动力学系统,能描述人脑系统的很多基本特征和实际物理世界的各种现象。LSTM 神经网络是一种特殊的RNN 网络,该神经网络设计出来是为了解决长依赖问题。该神经网络由 Hochreiter 和Schmidhuber于1997 年引入[12],并由被多次改进和普及来解决了各种各样的问题,直到目前还被广泛应用。

LSTM 通过一个记忆门和一个遗忘门来有选择性决定丢弃无用信息,保留有用信息,因此可以更好的捕捉到较长距离的依赖关系。如图3 所示,LSTM 模型是由t 时刻的用户离网的影响因素χt,细胞状态Ct,临时细胞状态C%t,隐层状态ht,遗忘门ft,记忆门it,输出门Ot组成。根据前一时刻的隐藏层状态ht-1和用户离网的影响因素χt计算遗忘门的值ft、记忆门的值it和临时细胞状态的值C%t,如公式(3)~(5)所示。

图3 LSTM 基本单元

其中:ht-1为前一时刻的隐藏层状态,σ为sigmoid函数,W为模型权重,b为偏置项,tanh 为tanh 函数。

当前时刻细胞状态Ct由记忆门的值it,遗忘门的值ft,临时细胞状态的值C%t和上一刻细胞状态Ct-1计算得到,如公式(6)所示。输出门的值Ot和当前时刻隐藏层状态ht的计算如公式(7)和公式(8)所示。上一刻细胞状态Ct-1表示历史训练学到的信息,临时细胞状态C%t表示当前训练学到的信息,通过遗忘门ft和记忆门it控制上一刻细胞状态Ct-1和临时细胞状态C%t的权重,从而有选择的遗忘部分历史信息或者记忆新的信息,生成当前时刻细胞状态Ct,并结合输出门Ot生成隐藏层状态ht,Ct和ht当做下一个LSTM 单元的输入,从而实现参数的传递以及解决长依赖问题。

本文设计的LSTM 模型如图4 所示,输入为性别、年龄、教育、在网时长等18 个因素,采用50 层的LSTM基本单元,每个单元的输出使用线性整流函数(Rectified Linear Unit,ReLU)作为激活函数,ReLU 函数如公式(9)所示,用以实现模型的非线性化,然后使用16 层的全连接层,激活函数为ReLU,增强模型的非线性程度。

图4 设计的LSTM 模型

输出层的激活函数为sigmoid 函数,如公式(10)所示,其将输出值限制在[0,1]范围内,在本算法中,训练完成后的模型进行预测时,将大于等于0.5 的值视为离网,将小于0.5的值视为未离网,输出值O(x)如公式(11)所示。

损失函数L(O)为二值交叉熵,通过预测值和标签y计算损失函数L(O),如公式(11)所示,以降低损失函数L(O)为目标函数,利用梯度下降算法进行迭代,本文选用的梯度下降算法为RMSProp(Root Mean Square Prop)。

其中:y是标签(1 或0),O是预测值。

4 算法验证

本文选取准确率,精确率、召回率以及调和平均数F1 值作为衡量机器学习模型的性能度量的指标,有时精确率和召回率会产生矛盾,因此选择调和平均数F1 值用以综合考虑精确率和召回率两个指标。本文利用3463 条数据,其中训练集,验证集和测试集的比例为6:2:2,首先利用决策树算法进行训练和测试,所得结果如表3 所示。

表3 决策树计算结果

然后利用设计的LSTM 算法进行计算,RMSProp 优化算法学习率为0.01,该算法有两个需要调节的超参数epoch 和batch size,epoch 代表数据集被训练的次数,batch_size 指更新梯度需训练的数据量。首先将epoch 设为200,考虑batch_size 的影响,考虑值为2,4,8,16,32,所得batch size 与F1 值的关系如图5 所示。

图5 batch size 与F1 值的关系

如图5 所示,batch size 取4 时F1 值比较高,考虑epoch 的影响,将epoch 设置一个比较大的值,通过分析迭代过程中训练集和验证集的损失(loss)曲线来确定一个较好的epoch 值,选择epoch 为1000 时,所得结果如图6 所示。

图6 训练过程损失曲线

从图6 可以看出,随着epoch 的增加,训练集的损失值稳步下降,但是验证集的波动比较大,在epoch 为400 左右时,验证集的损失值接近稳定的最低点,epoch超过400 后,验证集的损失值呈上升趋势,说明训练使得LSTM 模型呈现过拟合的状态。因此选取epoch 值为400,batch size 值为4,所得结果如表4 所示。

表4 LSTM 计算结果

在机器学习的计算结果中,测试集的结果体现的是模型的泛化能力,因此测试集的结果更能体现算法的性能,对比表3和表4,LSTM模型相比于决策树,准确率、精确率、召回率、F1 值等各项指标均有较大的提升。

5 结论

文章通过设计LSTM 深度学习模型,与传统机器学习算法决策树算法进行对比,验证了LSTM 模型应用于用户离网预测问题的有效性。文章利用3 463条数据,包含性别、年龄、教育、在网时长、统计期间内最高单月通话时长等18 个因素,并将因素进行数据量化,便于算法计算,将训练集,验证集和测试集的比例划分为6:2:2,然后针对用户离网预测问题设计决策树和LSTM 模型,用准确率、精确率、召回率、调和平均数F1 值四个参数衡量模型的性能。对于LSTM 模型,通过计算分析确定两个超参数epoch 为400 和batch size 为4。两个模型的测试集预测结果显示,LSTM 在准确率、精确率、召回率、调和平均数F1 值等四个指标均优于决策树,因此利用LSTM 进行用户离网预测具有一定的应用价值。

本文验证了在离网预测问题上LSTM 比决策树具有更好的性能,但是本文考虑的18 种影响因素,每种影响因素对于用户离网预测精度的贡献未知,因此下一步研究方向为利用深度学习算法计算每种影响因素的贡献量,剔除次要影响因素,保留主要影响因素,可以减少模型的复杂度,并且可以向运营商展示导致用户离网的主要原因,辅助运营商有针对性的调整策略。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!