(College of Information Engineering,China Jiliang University,Hangzhou 310018,China)
DOI: 10.6043/j.issn.0438-0479.201910024
备注
航空业的竞争愈发激烈,高效且准确的客户忠诚度预测模型有利于提高企业竞争力.针对航空数据集存在严重分类不平衡、特征维度多等问题,提出了客户忠诚度预测模型.该模型基于自适应粒子群优化(APSO)算法得到多数类优化样本子集,使用卷积神经网络(CNN)提取得到的平衡数据集特征,将自动得到的特征向量作为随机森林(RF)算法的输入,构建客户忠诚度预测模型.实验结果表明,该方法预测性能优于其他预测模型,可以更好地预测客户忠诚度.
As the competition for customers' patronage in the aviation industry becomes increasingly fierce,an efficient and accurate customer loyalty prediction model is conducive to improving corporate competitiveness.Aiming at the problem of severe classification imbalance and the high feature dimension,we propose a prediction model of customer loyalty.In this algorithm,a majority of optimized sample subsets is obtained by an adaptive particle swarm optimization algorithm(APSO),and then the balanced data set is extracted using the convolutional neural network(CNN).Finally,the automatically obtained feature vector is used as the input of the random forest(RF)algorithm to construct the customer loyalty prediction model.Experimental results show that the proposed model performs more satisfactorily than other prediction models do,and that it can predict the customer loyalty situation more accurately than others can.
引言
随着社会经济的迅猛发展,航空市场竞争压力越来越大,客户流动也越来越快.关注客户的发展态势,提高客户的忠诚度,减少不忠诚客户数量的流失已成为企业提高竞争力的重要保障.通过建立高效精准的客户忠诚度预测模型,对于可能是不忠诚客户,航空公司给予相应优惠以及时挽留,降低航空公司损失,具有重要的现实意义.
在过去10年,利用机器学习算法对客户态势进行预测已应用于各个领域.朱琦等[1]采用优化的随机森林(RF)算法在电信行业客户数据集上进行了预测分析.马文斌等[2]构建了基于深度学习算法的电信客户行为预测模型,与逻辑回归、决策树等算法对比,实验结果显示该模型拥有较好的预测能力.Amin等[3]提出利用粗糙集和遗传算法相结合提取电信流失数据中最有用信息的方法.Vafeiadis等[4]提出支持向量机(SVM)与AdaBoost算法组合的模型对电信客户流失数据进行预测,从准确率和F1值两个方面证实了模型的有效性.Idris等[5]基于Ch-GPAB模型对电信客户数据进行了建模和预测分析.李洋[6]运用神经网络算法对移动客户进行分析,验证了该预测模型的有效性和优越性.林鹏飞等[7]搭建深度神经网络(DNN)模型对大规模在线开放课程(MOOC)学习者的数据进行预测,研究结果表明:DNN算法可以更好地拟合学习行为与成绩之间的复杂相关性,提高预测的精准性.
当前航空业的客户预测研究较少,黄兴全[8]基于聚类算法将客户分为3个聚类簇,再使用贝叶斯网络算法对航空客户数据进行忠诚度预测.由于现实航空客户数据量大、非忠诚客户占比不均衡、特征维度高等特点,需先对进数据行特殊处理,再进行数据分类才更易获得理想的结果.故本研究从优化不平衡样本子集和提取高维特征两方面入手,提出了基于自适应粒子群优化(APSO)算法的不平衡航空客户数据质量优化模型.原始数据预处理后采用基于APSO算法的样本子集优化方法得到平衡数据,利用卷积神经网络(CNN)模型,再将倒数第二个全连接层提取的特征向量输入至RF算法,输出客户忠诚度预测值.
1 预测模型方法介绍
本研究选取的数据集来源于kaggle的美国航空乘客数据,每个客户有22维特征,共129 881个客户,忠诚客户和不忠诚客户的数量分别为106 167和23 714,不忠诚客户数据占总数据量的18.26%,数据集存在严重的不平衡性.考虑到不平衡数据集对RF算法预测准确率有较大干扰,且传统的特征处理方式有一定的人为因素,选取的特征无法保证预测的准确性,所以本研究采用APSO欠采样方法消除数据的不平衡性,并使用CNN算法提取更有效的特征,最后使用RF算法定位忠诚客户(模型结构如图1所示).
1.1 数据预处理现实场景中的客户数据常常会出现异常值(如年龄)和缺失值,且机器学习算法无法对描述性属性进行处理,因此本研究需要对数据进行预处理,做法如下:
1)将缺失值设为每列数据的众数.
2)将描述性属性转化为数值型属性,如将性别“男”“女”转化为“0”“1”.
3)采用标准差归一化(Z-score标准化)判断异常值,当归一化的绝对值大于阈值时则该值为异常点,并删除异常点相应的行.
4)对所有数据同时进行Z-score标准化,将数据限制在同一量级,使得数据之间有可比性.数据x经Z-score标准化后的归一化绝对值为:
Z=|(x-u)/σ|,(1)
其中u和 σ分别表示为x的均值和标准差.
1.2 APSO算法粒子群优化(PSO)算法存在寻优速度慢、收敛精度不高且搜索结果波动较大等缺点[9].由于本研究的数据集量大,若采用常规PSO算法容易陷入局部最优,所以本研究采用APSO算法提高寻优能力.即利用式(2)优化样本子集,采用自适应惯性权重wp(取值一般为常数)改变速度vi,j,以平衡搜索全局性和收敛速度[10]:
vi,j(t+1)=wpvi,j(t)+c1r1(pbesti-xi,j(t))+
c2r2(gbesti-xi,j(t)),(2)
其中,xi,j为粒子的当前位置,c1和c2分别为自我和社会认知学习因子,pbesti指当前的个体最优解,gbesti指整个粒子群的当前最优解,r1和r2为(0,1)之间的随机数.
wp=wmax-p/(pmax)(wmax-wmin),(3)
其中,wmax和wmin分别为最大和最小惯性权重,p为当前迭代次数,pmax为预设的最大迭代次数.
APSO欠采样流程如图2所示,为方便描述将忠诚客户样本定义为多数类,非忠诚客户定义为少数类.具体步骤如下:
1)经过3折交叉验证将不平衡数据集分为训练集与验证集.
2)随机初始化粒子的速度和位置,每个粒子位置的维度为训练集中多数类样本的个数m,每个粒子的位置可用pi={I1,I2,…,Im}编码表示,当Ii表示第i个样本被选为训练模型,则Ii=1,反之,则Ii=0.被选中的多数类样本和少数类样本合并得到的数据集用于训练模型,然后用第j个验证集来验证模型.APSO算法中利用AUC(area under curve)作为每个粒子的适应度,然后将粒子当前的适应度与之前最好的适应度比较,如果粒子当前的适应度优于之前的最好适应度则更替适应度值,并记录最优位置,根据最后一次迭代选出优化样本子集.
3)合并每次交叉验证记录的种群信息,记录每个粒子的最优样本子集.
4)重复步骤2)~3),直到3折交叉验证执行完成.
5)对于多数类样本,根据样本被选中频率高低选出n个优化的多数类样本子集与少数类样本合并.
6)得到平衡数数据集.
基于APSO优化的欠采样的伪代码见附录(http:∥jxmu.xmu.edu.cn/upload/html/20200615).
1.3 CNN+RF模型CNN模型已广泛用于图像处理、语音识别和分类领域[11-12],由输入层、卷积层、池化层和全连接层等神经网络层组成,其中卷积层和池化层通常交替组成,是最关键的网络层.第一层卷积层可能提取到的都是一些低级的特征,随着卷积层数的增加,可以提取到更高级的特征.池化层在保证输出特征为主要特征的基础上,降低了输出特征的维度,可加快模型训练速度并减少模型的过拟合.
因为本研究选取的数据集输入维度为1×22,所以采用一维CNN模型.将航空客户数据输入一维CNN模型进行训练,经过经2个卷积层和池化层交替运算后(如图3所示),得到越来越少且更有效的特征之后,分别加上激活函数增加非线性,连接扁平化层得到一维特征向量,再连接全连接层(图3中未画出)得到最终的特征向量.最后将CNN输出的训练集和验证集作为RF算法的输入,得到忠诚度客户预测模型,预测客户的类型.
RF算法是若干个决策树(DT)组成的强分类器,可有效地降低泛化误差和避免过拟合问题.每个决策树均为二叉树,树之间没有关联性,输出的结果由每个决策树决定,某一类被选择的次数最多,则该类为最后的输出结果.因此选用RF算法可提高预测性能.CNN+RF结构如图3所示.
Nc和M分别为卷积核大小和数量,Np为池化核大小,l为步长.
相比于Sigmoid激活函数,ReLU激活函数的计算效率更快,可减少参数之间的相互依赖性,防止过拟合,因此本研究中神经网络层采用的激活函数均为ReLU,计算公式如下:
CNN+RF模型使用交叉熵损失函数计算损失,使用Adam作为优化器,通过模型的预测结果与真实结果的差异值指导模型是否需要继续优化,经过多次迭代,趋于稳定后达到最优解.
2 实 验
实验基于Python语言编写,其中CNN使用Keras框架实现,计算机处理器为2.6 GHz Intel Core i7.
2.1 参数设置因为APSO算法的初始粒子种群越大,寻优效果越好,但是粒子种群太大会影响寻优速度,所以将APSO粒子个数设为100,迭代次数设为20; 又因c1和c2越大,局部搜索能力越强,故c1与c2均设为2; wmax和wmin的取值
参考文献[13],分别取1.2和0.9.
2.2 实验结果分析本研究从准确率A、精确率P、召回率R、F1得分、AUC值(SAUC)5个方面对本
研究提出的客户忠诚度预测模型进行评估.从图4可以看出,基于不同传统机器学习算法在原始数据集的分类性能中,整体的性能指标值均偏低,其中RF的准确率高于林楚泉等[14]使用的DT算法,但是低于逻辑回归(LR)和K近邻(KNN)模型.但由于实验数据不平衡,预测的大多是忠诚客户的类别,所以不能只用准确率作为模型的评价指标.相比于其他3种机器学习算法,RF模型的SAUC和F1的值更高,说明RF模型处理高维数据将表现出相对较好的预测性能.
对比CNN+RF模型和RF模型,可以发现,由于原始数据集存在高维度特征,且数据严重不平衡,采用CNN提取特征能有效地提高RF的预测性能.相对于RF模型,CNN+RF模型的A、P、R、F1和SAUC分别增加了13.93,14.96,12.37,11.99和13.65个百分点.
表1显示数据是否经过欠采样时CNN+RF模型的对比结果.相对于基本数据预处理,当数据使用随机欠采样时,CNN+RF模型的准确率略低,AUC值从83.65%上升至88.39%,F1从85.39%上升至89.66%,实验显示经过随机采样后的模型更有效,但效果不佳.相对于随机欠采样,当数据使用APSO欠采样后,CNN+RF模型的A、SAUC、F1分别提高了9.47,9.18和7.89个百分点.实验表明基于APSO欠采样的数据集质量更好.
这是由于欠采样方法可以处理不平衡数据的分布,其中随机欠采样只是通过随机地选择多数类的样本直到满足多数类和少数类的样本个数平衡,而APSO欠采样则通过频率列表筛选得到多数类中最优的样本子集与少数类组合生成平衡数据集.
表2显示了经过APSO欠采样优化多数类样本集和CNN提取特征(APSO+CNN)后,分别采用RF、LR、DT和KNN模型进行分类,所有模型的A、P、R、SAVC和F1评价指标均有所提高.其中RF模型的性能最好,A、P、R、SAUC和F1分别达到97.83%,97.59%,97.51%,97.57%和97.55%.这是因为RF算法是基于决策树的集成学习算法,预测结果通过多个决策树投票,相比于其他3种学习方法,可以尽量避免数据中不好的样本,降低过拟合情况,提高预测准确性.
表2 基于不同机器学习算法的对比结果(APSO+CNN)
Tab.2 Comparison results based on different machine learning algorithms(APSO+CNN)为了验证本研究模型在其他领域的适用性,选取由法国电信运营商Orange公司提供的电信客户数据集,包含46 328个非流失用户和3 672个流失用户,流失用户占比为7.3%,且有260维特征,该数据集也存在严重不平衡和高维特征等问题.该数据集中有211个属性存在空值,其中删除对应的数据全为空的18个属性,其他属性中的空值采用众数插入,并用Z-score 标准化处理异常值,将70维非数值型属性转化为数值属性.将本研究的APSO+CNN+RF模型应用于该数据集,并与汪明达等[15]搭建的Ada_DB混合模型、Gaeg等[16]的DT、贝叶斯和支持向量机(SVM)模型进行对比.从表3可以看出,本研究模型的AUC值最大,说明该模型可以大大地提升客户预测性能.
表3 本研究模型与已存在模型的SAUC值对比
Tab.3 SAUC comparison between the model in this study and the existing model3 结 论
针对数据集存在特征维度多且分类不平衡的问题,本研究提出的航空客户忠诚度预测模型CNN+RF模型,相比于RF模型,具有很好的预测性能.不平衡的数据集经过APSO欠采样处理后,使得CNN+RF模型的预测性能进一步提升.实验结果显示本研究模型的A、F1得分、AUC值的效果表现最好,整体性能优于其他预测模型,适用于客户忠诚度预测领域.
关于航空客户忠诚度预测,有些问题还需进一步考虑,如分析异常数据以提升预测性能.此外对于样本数据量大时,模型训练时间较长,减少模型训练时间也是今后的研究内容.
- [1] 朱琦,朱正键,陈伦楷.基于随机森林算法的客户流失模型[J].电信快报,2019(4):19-21.
- [2] 马文斌,夏国恩.基于深度神经网络的客户流失预测模型[J].计算机技术与发展,2019,29(9):76-80.
- [3] AMIN A,ANWAR S,ADNAN A et al.Customer churn prediction in telecommunication sector using rough set approach[J].Neurocomputing,2017(237):242-254.
- [4] VAFEIADIS T,DIAMANTARAS K I,SARIGINNIDIS G,et al.A comparison of machine learning techniques for customer churn prediction[J].Simulation Modelling Practice and Theory,2015(55):1-9.
- [5] IDRIS A,IFTIKHAR A,UR REHMAN Z.Intelligent churn prediction for telecom using GP-AdaBoost learning and PSO undersampling[J].Cluster Computing,2019(22):7241-7255.
- [6] 李洋.基于神经元网络的客户流失数据挖掘预测模型[J].计算机应用,2013,33(S1):48-51.
- [7] 林鹏飞,何秀青,陈甜甜,等.深度学习视阈下MOOC学习者流失预测及干预研究[J].计算机工程与应用,2019,55(22):254-264.
- [8] 黄兴全.民航旅客忠诚度预测研究[D].天津:中国民用航空学院,2018.
- [9] 张鑫,邹德旋,肖鹏,等.自适应简化粒子群优化算法及其应用[J].计算机工程与应用,2019,55(8):250-263.
- [10] LU H J,DU B J,LIU J Y,et al.A kernel extreme learning machine algorithm based on improved particle swam optimization[J].Memetic Computing,2017,9(2):121-128.
- [11] LEI X Y,Pan H G,HUANG X D.A dilated CNN model for image classification[J].Ieee Access,2019(7):124087-124095.
- [12] TORFI A,IRANMANESH S M,NASRABADI N,et al.3D convolutional neural networks for cross audio-visual matching recognition[J].IEEE Access,2017(5):22081-22090.
- [13] SHI Y H,EBERHART R.A modified particle swarm optimizer[C]∥IEEE Conference on Evolutionary Compu-tation.Piscataway:IEEE,1998:69-73.
- [14] 林楚泉,彭鸿鑫,陈育兴,等.基于ID3算法的航空客户流失模型[J].大学教育,2013(23):70-72.
- [15] 汪明达,周俏丽,蔡东风.采用混合模型的电信领域用户流失预测[J].计算机工程与应用,2019,55(24):214-221.
- [16] GAEG N,LAKHINA P,MEHTA G.Classification of churn,upselling and appetency for KDD cup 2009[J].KddCup,2009(7):213-217.