融合深度学习与集成学习的用户离网预测①
梁 晓1,  洪 榛2
1
(中国电信股份有限公司 浙江分公司 企业信息化事业部, 杭州 310001)2(浙江工业大学 信息工程学院, 杭州 310023)
通讯作者: 梁 晓摘 要: 随着国内通信市场逐渐饱和, 电信运营商之间的竞争日趋激烈. 用户流失预测已成为电信运营商最关注的问题之一. 本文提出一种基于多模型融合的方法创建用户离网预测模型. 首先, 将原始训练数据经过有放回采样和正负样本平衡得到多份不同的训练数据; 然后, 利用多份不同的训练数据使用集成学习与深度学习算法训练得到多个基础模型; 最终, 将多个基础模型进行融合形成高层模型. 实验结果表明, 融合模型在各类用户测试集上的表现均优于基础模型, 具有实际生产应用价值.
关键词: 用户离网预测; 深度学习; 集成学习; 融合模型
引用格式:  梁晓,洪榛.融合深度学习与集成学习的用户离网预测.计算机系统应用,2021,30(6):28–36. /1003-3254/7957.html
Churn Prediction Based on Fusion of Deep Learning and Ensemble Learning
LIANG Xiao 1, HONG Zhen 2
1(Enterprise Information Division, Zhejiang Branch, China Telecom, Hangzhou 310001, China)
2
(College of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China)
Abstract : As the China’s communication market has been saturated over time, the competition among telecom operators is becoming increasingly fierce. Churn prediction of customers has turned into one of the most concerns for telecom operators. This study proposes a method based on multi-model fusion to create a churn prediction model of customers.First, through bootstrap sampling and positive-negative sample balancing, multiple training datasets are obtained from the original training data. Then, base models are trained by these datasets with ensemble learning and deep learning algorithms. Finally, the base models are merged into a high-level model. The experimental results prove that the fusion model performs better than all base models in the test datasets, with a practical value for production.Key words : churn prediction of customers; deep learning; ensemble learning; fusion model
随着互联网与通信技术的快速发展, 国内通信市场已经趋于饱和, 通信运营商之间的竞争异常激烈. 用户离网已成为运营商重点关注的问题之一. 因此, 创建一个性能优异的用户离网预测模型预测用户离网, 及时发现具有较高离网概率的用户, 并制定有效的挽留策略, 这对通信运营商来说具有重要意义.
在众多分类算法中, 决策树算法效率高、简单易实
现, 能够可视化决策规则, 业务解释性较强, 因此, 非常适合用户离网预测, 被广泛应用于各类用户离网预
测场景中[1]. Logistic 回归、Bayesian 网络、人工神经网络、支持向量机等算法也被学者用于用户离网预测[2–6],都获得了一定的成果, 创建了具有优秀预测性能的单一模型. 然而, 由于分类算法通常都具有不稳定性的问题, 在实际生产应用过程中, 训练数据集轻微的变化就
计算机系统应用 ISSN 1003-3254, CODEN CSAOBN
E-mail: Computer Systems & Applications,2021,30(6):28−36 [doi: 10.15888/jki.csa.007957] ©中国科学院软件研究所版权所有.
Tel: +86-10-62661041
① 基金项目: 浙江省自然科学基金(LY20F020030)
Foundation item: Natural Science Foundation of Zhejiang Province (LY20F020030)
收稿时间: 2020-10-09; 修改时间: 2020-11-16; 采用时间: 2020-11-24; csa 在线出版时间: 2021-06-01
能够造成模型性能的显著差异, 模型预测鲁棒性和泛
化能力均较差, 不能满足实际生产应用的要求. 因此,有学者将集成学习算法(如: Random Forest、GBD
T等)应用于用户离网预测, 在提升模型稳定性和预测准确率方面都取得了较大的进步[7,8]. 近年来, 各类新型梯度提升树算法层出不穷, 最具有代表性的为: XGBoost、LighGBM和CatBoost, 它们在各类机器学习竞赛中表现优异. 本文提出一种基于多分类器融合的方法创建用户离网预测模型, 该方法将应用XGBoost、LighGBM、CatBoost、深度神经网络以及随机森林分别创建多个分类器, 并将多个分类器进行融合, 以利用多个分类器之间的互补性有效提升用户离网预测效果.
1  模型算法介绍
1.1  基于批规范化的深度神经网络DNN-BN
深度学习通过建立具有层次结构的神经网络对输入信息进行逐层提取和筛选, 从而自动获得数据的特征表示, 最终实现端到端学习. 深度神经网络(Deep Neural Network, DNN)是由一组受限玻尔兹曼机构成的层次神经网络[9], 其网络结构如图1所示, 包括: Input层、Hidden层和Output层. Input层负责接收样本数据, Output层负责生成预测结果, 相邻层神经元之间采用全连接, 位于同一层中的神经元之间不存在连接. DNN被广泛应用图像识别、语音识别等领域中,并拥有良好的表现.
图1    DNN网络模型
批规范化(BN)本质上解决了深层网络难以训练的弊端[10]. 随着层次的增多, 信号的正向传播和梯度的反向计算会越来越大或越来越小, 导致梯度消失或梯度爆炸等问题. 为了解决上述问题, BN将过小或过大的信号进行归一化. 即首先对输入进行白化预处理:
ε
1+ε
式(1)中, E(x)指其中一批输入x的平均值; Var(x)为该批次数据的方差; 是极小的正数, 为了确保分母不等于零. 对于深层网络, 在每个单元输出后都可加上一层BN, 使得单元输出信号的每一维特征均值为0, 标准差为, 但这样做会降低每个单元的表达能力. 为了提升模型的表达能力, 加入“比例和平移(scale and shift)”操作
, 即:
α,β
α=
Var(x)+ε,β=E(x)
式(2)中, 参数随着网络中每层的迭代训练而得到更新学习, 当时, BN也就能够还原最初的输入, 如此可使BN层智能地更新参数, 在改变信号的同时也可以保持原输人, 不仅提升了模型的表达能力, 而且使信号在深层网络里更好地传递, 加速网络收敛. 在训练阶段, 每个批次数据的均值和方差都不同, 采用滑动平均的方式记录并更新均值和方差.在测试阶段, 可直接调用最后一次修改的均值方差进行测试.
1.2  LightGBM算法
Microsoft在2016年开源LightGBM, 它是基于决策树的梯度提升集成学习框架. 与基于决策树的传统集成学习方法相比, LightGBM的训练速度更快、效率更高、内存使用率更低、模型效果更好、支持并行学习[11,12].
LightGBM主要有以下特点:
(1) Histogram优化
LightGBM将连续型数值特征的每一个特征值划分到一系列离散的域中(bins), 摒弃了传统的预排序思路, 如图2所示. 以浮点型特征为例, 一个区间的值会被作为一个桶, 然后用这些以桶为精度单位的直方图来做. 通过这样的方法, 有效简化了数据的表达, 而且降低了内存使用率. 此外, 直方图还带来了一定的正则化的效果, 可以平滑异常数据, 避免模型过拟合, 使其具有良好的泛化性.
图2    Histogram优化流程
2021 年 第 30 卷 第 6 期计算机系统应用
(2) Leaf-wise生长方法
为了提升模型的预测效果, LightGBM采用Leaf-wise (按叶子)生长方法, 如图3所示. 相比较于XGBoost 中
的Level-wise (按层)生长方法, Leaf-wise生长方法效率更高. 使用Leaf-wise生长方法, 能够有效降低训练误差. 然而, 仅使用Leaf-wise生长方法很容易得到深度较大的树, 从而出现过拟合现象. 因此, 深度限制被添加到Leaf-wise生长方法中.
图3    Leaf-wise和Level-wise节点展开方式比较
(3)类别型变量支持
传统的集成学习算法一般不能直接处理类别型变量, 需要先将类别型变量通过One-Hot编码等方式转化为数值型变量, 这种处理类别型变量的方法往往效率较低. LightGBM通过在决策树算法上添加了对类别型变量的决策规则, 能够实现类别型变量的直接输入,无需再对类别型变量进行转化.
1.3  CatBoost算法
CatBoost是由俄罗斯公司Yandex开发的一种新型梯度提升树算法, 于2017 年7月宣布开源, CatBoost 算法的设计初衷是为了更好的处理类别特征[13]. 在传统GBDT中, 处理类别特征的方法是用类别特征对应标签的平均值来替换. 在决策树中, 标签平均值将作为节点分裂的标准, 此方法被称为Greedy Target-Based Statistics (TBS), 用公式表示为:
式(3)中, x i,k表示第k个特征的第i类值, 分子表示第k个特征的第i类值对应的标签值的和, 分母表示第k个特征的第i类值的数量.
该方法有一个明显的缺陷, 即: 通常特征比标签包含更多的信息, 如果强行用标签平均值来表示特征的话,
当训练数据集和测试数据集数据结构和分布不一样的时候会出现条件偏移问题. CatBoost改进 Greedy TBS的方式是添加先验分布项, 从而有效减少噪声和低频率数据对于数据分布的影响[14]. 用公式表示为:
α
式(4)中, P是添加的先验项, 通常是大于0的权重系数, 其余参数与式(3)一致.
2  融合深度学习与集成学习的用户离网预测模型
本文采用一种融合多个模型的方法创建最终的离网用户预测模型, 方法过程如图4所示. 首先, 由原始训练数据经过有放回随机抽样和正负样本平衡后得到5份不同的训练数据, 并将每份训练数据随机切分成数量相等的两份(如: 将训练数据集i切分为训练数据集i_a和训练数据集i_b, 其中, i=1,2,3,4,5); 然后, 通过训练数据集i_a分别使用CatBoost、LightGBM、XGBoost、随机森林、DNN-BN训练得到不同的基础模型; 最后,将训练数据集i_b分别输入基础模型, 得出输出结果,并将该结果作为输入, 把训练数据集i_b的标签作为训练目标, 使用逻辑回归算法训练得到高层模型. 评估模型时, 将测试数据输入融合模型得到用户离网概率, 离网概率值大于0.5的用户判为离网用户, 反之, 离网概率值小于0.5的用户判为非离网用户.
DNN-BN需要搭建如图5所示网络结构, 具体包括: 1个Input层、3个Hidden层以及1个Output层. DNN-BN使用全连接层提取特征, 并结合BN层来帮助深层网络更好地传递信息. 本文使用Keras实现深度神经网络.
预测用户是否离网是典型的二分类问题, 因此, Loss函数选用Cross Entropy. Adam是一种能自适应选择学习率的优化算法, 在计算学习率用于更新参数时, 综合考虑当前梯度和历史梯度, Adam计
计算机系统应用2021 年 第 30 卷 第 6 期
算效率高, 对内存需求少, 对超参数不敏感, 应用于大规模数据及参数的场景中能取得较好的效果, 因此本文选择Adam作为优化算法. 为避免神经元权重无法更新, 出现梯度为0的情况, 激活函数使用LeakyReLU (alpha=0.05); 最终, 通过Sigmoid函数输出用户离网概率.
图4    融合模型创建流程
正则化降低准确率
图5    DNN-BN网络结构图
3  模型实验与评估
本文选取浙江省某大型城市电信公司的手机用户为研究对象, 手机用户指该用户使用电信公司的手机业务而没有使用电信公司的其他业务, 如: 宽带、网络电视等. 由于用户数量较为庞大, 需要将研究目标聚焦在质量较高且相对较为活跃的公众市场用户上, 因此,需要剔除行业客户、商业客户、校园客户等非公众市场客户和入网时长低于6个月的用户.
为了预测用户在未来一段时间内的离网倾向, 在定义数据的时间范围时, 需要在模型输入训练数据的时间和模型输出预测结果的时间之间增加一段间隔,因此, 用户数据的时间范围包括: 观察分析期、维系期和
预测期, 如图6所示. 观察分析期是指用户产生通信行为信息、消费信息等数据的时间范围, 即模型训练所需输入数据的时间窗口; 预测期是模型输出用户离网标识的时间; 维系期位于预测期与观察分析期之间,当模型预测到某个用户在预测期有很大离网倾向时,公司营销人员可以充分利用维系期去对潜在离网用户采取维系和挽留措施. 本文将训练集数据时间跨度界定为2019年5月至2019年9月, 其中, 观察期为: 2019年5月至2019年7月, 该时间范围内, 用户数据如: 近3个月通话总次数、通话总时间、近3月新增积分等经过计算后作为建模需要的用户属性; 2019年9月用户离网数据作为模型预测的目标数据, 即作为预测期数据输入模型. 另外, 本文将测试集数据时间跨度界定为2019年7月至2019年11月, 其中, 观察期为: 2019
2021 年 第 30 卷 第 6 期计算机系统应用
年7月至2019年9月, 预测期为2019年11月.
对于用户离网的定义, 根据业务经验, 以下3类用户基本可以判定为离网, 分别为: 缓冲期和预测期内,主动拆机的用户; 缓冲期和预测期内, 连续两个月出账金额为0元且通话时长为0秒的用户; 截止到预测期,欠费双向停机超过30天的用户. 本文根据以上口径标准为样本数据打上“是否离网”标签, “离网”为1, “非离网”为0.
最终, 经过数据筛选和数据处理, 选取2019年5月浙江省某城市电信公司的1812 311户手机用户为训练样
本用于训练模型; 选取2019年7月该市电信公司的1841 950户手机用户为测试样本, 用于评估模型.另外, 根据业务经验, 用户的付费类型和套餐类型不同,通信行为和消费习惯会存在较大差异, 因此, 本文将用户分为后付费畅享、后付费非畅享、预付费畅享、预付费非畅享4类, 并针对每类用户分别进行建模. 表1为4类用户的离网人数和离网率统计情况.
M 月
维系期
预测期
观察分析期
M+1月M+2月M+3月M+4月
图6    用户数据时间范围选择
表1    各类用户的离网情况统计
类别
训练集测试集
总人数离网人数离网率总人数离网人数离网率
后付费畅享170 74016690.009 775184 20618850.010 233后付费非畅享240 95324550.010 189228 40826480.011 593预付费畅享752 25313 0560.017 356808 64013 1600.016 274预付费非畅享648 36515 4800.023 875620 69613 9490.022 473用户总数1812 31132 6600.018 0211841 95031 6420.017 179
3.1  特征选择
电信公司经过多年的数据积累已经获取了较为全面的用户特征信息, 这些特征信息可以归纳为8大类,分别为: 用户基本信息, 如: 用户年龄、性别、等级、在网时长等; 用户消费信息, 如: ARPU值、近三月ARPU 均值等; 用户产品信息, 如: 套餐名称、套餐大类、套餐协议到期时间等; 用户服务信息, 如: 近三月投诉次数、投诉类型等; 用户通信行为信息, 如: 通话次数、通话时长、主被叫比例、上网流量等; 用户互联网应用信息, 如: APP使用情况等; 用户社交圈信息, 如: 社交圈大小, 社交圈本网用户占比等; 用户终端信息, 如:终端品牌、终端型号、终端价格等. 根据业务经验, 初步选取8大类特征信息中134个特征制作成用户宽表.用户宽表制作完成后, 数据量依然较为庞大, 并且存在部分与用户离网相关性不大特征, 需要通过一定的方法将这些特征进行过滤, 保留与用户离网相关性较大的特征, 从而保证后续建模的效果.
(1)基于Pearson相关系数的特征选择
使用Pearson相关系数可以衡量每个特征与标签变量的线性相关性, 其计算方法如下:
σx,σy
式(5)中, x和y表示两个特征变量, Cov(x,y)表示协方差, 表示标准差; r(x,y)表示Pearson相关系数, 其取值范围为[−1,1], 其中, 0 表示线性不相关, 其值越接近1则是正线性相关性越大, 越接近−1则是负线性相关性越大.
通过上述方式计算特征变量与离网标签之间的线性相关性, 对与目标变量不相关的特征或相关性弱的特征予以排除. 使用scipy.stats包中的Pearson或者sklearn.feature_selection包中的f_regrssion, 均可以实现Pearson相关系数的计算. 本文计算得到每个特征与离网标签特征的相关性系数和P值后, 将与离网标签特征相关性小于0.001的特征进行过滤, 过滤特征的名称、相关性系数以及P值如表2所示.
表2    基于Pearson相关性系数的过滤特征列表
字段名称相关性系数P值
性别0.00010.889本地流量使用0.000 190.868
短信超出量0.00050.623
套餐名称0.00070.519
(2)基于卡方检验的特征选择
卡方检验是一种基于卡方分布的假设检验方法[15].本文采用卡方检验来确定特征变量是否与离网标签目
计算机系统应用2021 年 第 30 卷 第 6 期

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