随机森林模型在客户流失预测中的缺陷
贾承瑞
(海南大学管理学院,海南海口570228)
摘要:本文基于某酒店平台的脱敏用户大数据,利用Python编程对源数据进行挖掘和分析,发现在常用机器学习算法中总体准确率最高(8&3%)的随机森林模型(Random Forest,RF),在特征体中的预测效果存在缺陷,即在测试集中实际流失率为极值与中间值(0%、50%、100%)的流失体预测性能较好,平均误差率在1%以下;而在其余流失体(10%〜40%以及60%〜90%)中预测效果较差,平均误差率高达12.5%以上。通过进一步计算发现,总体预测率稍差餉支持向量机(Support Vector Machine,SVM)学习模型在某些细分体中反而具有更高的预测性能,平均误差率在7%以下。综合两类学习模型在不同体中的优势,可进一步将总体预测的准确率提高至92.3%。该研究结果对于酒店行业具有非常重要的启发意义。相关企业在构建客户流失预警模型时应根据不同的用户体使用不同的机器学习方法来提高预测的性能;或结合多种方法构建混合预测模型从而更好地理解消费者行为,进行容户关系管理。
关键词:酒店客户;流失预测;随机森林;特征体;机器学习;Python
中图分类号:F714文献识别码:A文章编号:2096-3157(2021)04-0009-03
—
、弓[言
随着信息技术的高速发展,客户对产品或服务的信息获取越来越充分,顾客的需求也因此更加多样化。尤其伴随着“互联网+”的兴起,客户对产品有了更多的选择,激烈的市场竞争,使得客户流失已经成为许多企业不可避免的问题山。如何在众多竞争者中脱颖而出,尽可能降低客户的流失率,成为各大企业经营者必须思考的问题。
本研究以某酒店平台的用户数据为基础,利用Python 对数据进行挖掘和分析,首先利用传统机器学习算法中Ac-curacy值最高的随机森林算法出影响酒店客户是否流失最重要的10个因素;随后利用该组影响因素将用户分为11个体,采用机器学习中的交叉验证方法,每次抽取1组作为测试集,其余10组作为训练集,从而计算每个体中的预测流失率(pred_prob)和实际流失率(true_prob),对比两者的差异得出误差率(err_rate)o从而发现随机森林算法在true_prob为极值和中间值时,预测效果较好;而在true_prob 为10%〜40%和60%〜90%的体中预测效果较差。使用Accuracy稍低的支持向量机算法重新计算该类中间体后,却有较好的预测效果。
二、数据和变量
1.数据收集和清洗
本研究数据全部来自某酒店预定网站2016年5月15日〜2016年5月21日一周内的网络订单用户数据。为保护用户隐私,数据经过脱敏处理,和实际商品的订单量、浏览量、转化率等有一些差距,但是不影响此研究的分析。影响因素包括酒店和用户两部分,主要有当前酒店历史用户转化率(cr)、当前酒店可订最低价格、24小时内是否访问订单填写页、用户决策习惯、近7天用户历史订单数、24小时内登陆时长、用户消费能力指数、价格敏感指数等共计51项相关变量。数据清理后,有效数据共计24286条。
2.描述性分析
在进行数据建模前要对所有变量进行描述性分析。表1给出主要变量的解释说明。在后续的建模分析中,本研究以均值加减3倍标准差作为识别异常值的标准,如果取值在这个范围之外,被认为是异常值,在建模分析中予以删除。
表1流失用户主要变量描述性分析结果
变量变量络称均值中位数标准差decisionhabit_u ser决策习惯:以用户为单位观察决策习惯 4.473 5.38 historyvisit_7o rdernum近7天用户历史订单数 1.891 1.58 historyvisit_totalordernum近1年用户历史订单数23.111427.16 hotelcr当前酒店历史cr 1.08 1.070.04
ctrip_p rofits客户价值 5.66 1.9512.97 ordercanceledprecent用户一年内取消订单率0.330.280.31 landhalfhours24小时内登陆时长9.34 4.3215.48 ordercanncelednum用户一年内取消订单数291.3214.01569.03 commentnums当前酒店点评数1391.32718202&28 staiprefer星级偏好69.2470.317.32
churn?客户是否流失
arrival入住日期
iforderpv_24h24小时内是否访间订单填写页
d访问日期
本研究的因变量是客户是否流失,是一个典型的0—1变量。流失定义为,用户在浏览酒店网页后未产生订单。而客户是否流失在源数据的churn列已经给出了相应的判别
全国流通经济9
值,0为流失,1为非流失。经过统计分析可知,该酒店平台的流失率维持在50.06%左右,主要变量的描述性分析结果如表1。从表中可以初步得到,流失用户在一年内的订单/取消订单数的标准差较大,决策习惯较不稳定。
random在python中的意思三、流失预测模型
1.随机森林模型建立
随机森林(Random Forest,RF)是一种基于Bagging的集成学习方法,可以用于分类和回归问题。它由多个决策树构成,树的构建遵从CART策略,并不进行剪枝凶。
首先要将自变量中的字符串转化成布尔逻辑值(0-1),并删除掉一些无用的属性。由于要将随机森林算法与其他非概率型机器学习算法进行比较,所以在Python中使用StandardScaler函数将每个特征标准化为大约1.0到一1.0的范围,来实现归一化。
在构建模型时,调参是极为重要的一个步骤,只有选择最佳的参数才能构建一个最优的模型。而参数的值可以通过交叉验证的方法,逐个来验证。我们将数据集随机分为11组进行交叉验证,将每一组都当做一次测试集,其余10组当做训练集,这样循环11次。通过传入的模型,训练11次,最后将11次结果求平均值。通过此种方法避免过拟合,同时为每个观测数据集生成预测。
根据随机森林算法中各特征值的信息增益率高低,对自变量的重要程度进行排序,可以得到排名前五的影响因素分别为commentnums、historyvisit_totalordernum,landhalf-hours^hotelcr和iforderpv_24h。
2.评价指标
准确率的定义是,对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。也就是损失函数是0—1损失时测试数据集上的准确率。我们使用内置的scikit-learn 函数来构建混淆矩阵。混淆矩阵是一种可视化分类器预测的方式,用一个表格来显示特定类的预测分布。x轴表示每个观察的真实类别,而y轴对应于模型预测的类别。
为了比较随机森林在常用机器学习算法中的性能,引入LR、GB、SVM、KNN等模型进行性能比较。可以得到各算法的总体准确率分别为,LR最低,为61.2%;GB、SVM和KNN算法的准确率分别为70.7%、72.4%、80.4%;RF最高,为88.2%。
3.特征体分析
有时我们并不关心变量的值,而是关心变量的分布和变量之间的条件概率。随机森林就是一种概率模型。一般来说,输出概率要比输出决策结果更有说服力。在Python中根据预测概率分布对源数据进行切分,生成11个组体,分别计算各体的预测流失率(pred_prob)和实际流失率(true _prob),对比两者的差异得出误差率(err_rate)。得到的概率分布情况如表2所示,可以明显看出true_prob为极值和中间值时,预测效果较好,平均误差率在1%以下;而在其余流失体(true_prob为10%~40%或60%~90%)中预测效果较差,平均误差率高达12.5%以上。由此说明,总体准确率最高的随机森林算
法,在特征体预测中存在缺陷,对某些特定体的预测误差率很低,而对另外一些体的误差率很高,存在改进空间。
表2特征体的概率分布
组编号pred_prob成员数true_prob误建率103075000130.0013
2012803001390.0861
3022085004890.1511
4031799014060.1594
5041554026580.1342
6051500048130.0187
7061527066990.0699
8071651086190.1619
9082076094700.1470
10092803099070.0907
1113412099850.0015
四、模型修正
从表2中可以明显看出随机森林模型的缺陷。为了对比不同机器学习模型的预测概率,在此部分引入一致性/标定度(Calibration)和区分度(Descrimination)的概念。
1.标定度和区分度
标定度的意思是,评价模型预测值的数值大小和实际事件发生概率的大小是否一致。假设我们这个模型已经能够很好地区分开“酒店客户流失”和“酒店客户未流失”两类,并且某名客户恰好属于“客户流失”这一类,但是还想进一步分析,在这一类里,是不是模型的预测值越大,该客户就越容易流失呢?由此定义,如果模型的预测值越大,真实发生概率越大的话,就表明标定度越好。即标定度的值越低,说明模型的特征体误差率越小。常用的衡量标准为拟合优度检验。
区分度的意思是,在模型的预测值上,能不能到一个截点,把酒店客户流失和酒店客户未流失,这两类客户区分开来,如果模型区分的两类客户和真实情况越吻合,说明模型的区分度越高,最理想的状态就是通过模型区分的“客户是/否流失”的这两组人=真实情况中“客户是/否流失”的这两组人,那么这
个模型的区分度就是1。常用的衡量指标为ROC曲线下的面积(AUC值)。
2.算法对比
从表3中可以看出,采用两项指标进行重新评价后,可得随机森林虽然在区分度值中仍具有优势,但标定度却为最低。而支持向量机模型(Support Vector Machine,SVM)在标定度中表现优异,仅有0.0016,说明将其用于某些特征体中的预测可以取得较小的误差率。
10全国流通经济
表3不同算法指标得分
算法类别Calibration Error Discrimination
SVM0.00160.0678
GB0.00170.0859
KNN0.00230.0443
RF0.00720.0845
3.混合模型
由上述结论分析,进一步尝试使用RF-SVM混合模型。本文使用两步预测法,先使用SVM算法进行第一次预测,然后使用RF算法进行特征值的降维进行第二次预测,从而进一步提升结果准确性。混合模型的ROC曲线下与坐标周围成的面积(AUC值)得到进一步提升,即区分度值变大;总体预测的准确率也上升至92.3%。
五、结论
客户流失作为客户生命周期管理的重要阶段,一直是学术界和工业界的研究热点。如何准确地预测客户的流失倾向,已成为客户管理关系研究的重要问题。准确率作为预测模型中最常用的评估度量指标之一,常常用来评价预测模型分类能力的优劣。而本研究发现单一的准确率评价指标不能准确说明某些特征体的客户趋向。
以某酒店平台的用户数据为基础,利用Python对数据进行挖掘和分析,首先利用传统机器学习算法中Accuracy 值最高的随机森林算法出影响酒店客户是否流失最重要的10个因素;随后利用该组影响因素将用户分为11个体,采用机器学习中的交叉验证方法,每次抽取1组作为测试集,其余10组作为训练集,从而计算每个体中的预测流失率(pred_prob)和实际流失率(true_prob),对比两者的差异得出误差率(err_rate)…从而发现随机森林算法在true_ prob为极值和中间值时,预测效果较好;而在true
_prob为10%〜40%和60%〜90%的体中预测效果较差。而通过Calibration和Descrimination的两项指标进行进一步测评,Accuracy稍低的支持向量机却具有最高的Calibration值,说明中间体使用SVM算法会具有更好地预测效果。最后,结合RF和SVM算法在Python中构建出两步综合模型,将预测准确率进一步提升至92.3%。
本研究仍存在继续探讨的空间:①本文仅基于某酒店平台的用户数据分析了RF算法的缺陷,而该缺陷是否具有普遍性,是否同样存在于其他领域用户流失的预测中,有待进一步验证;②本次研究对用户数据中的日期类特征值进行了删除,实际情况中,酒店的预订率很大程度上会受到节假日、工作日等特定日期的影响,包含日期的酒店用户数据流失分析有待进一步探讨;③用户数据的特征值可以用主成分分析法进行降维,能否构建出特征值之间的线性表达式,从而进一步解释影响酒店客户流失的原因;④RF和SVM算法是否存在其他的融合方法,从而进一步提高预测的准确率。参考文献:
[1]Hadden J,Tiwari A,Roy R,et al.Computer assisted
customer churn management:State一of一the一art and future trends[J],Computers&Operations Research, 2007,34(10):2902〜2917.
[2]Breiman L,Friedman J H,Olshen R A,et
al.Classification and regression trees.Wadsworth& Brooks[J].Cole Statistics/Probability Series,1984. [3]Nie G,Rowe W,Zhang L,ei al.Credit card churn fore
casting by logistic regression and decision tree]J].Expert Systems with Applications,2011,38(12):15273〜15285.
[4]Vafeiadis T,Diamantaras K I,Sarigiannidis G,et al.A
comparison of machine learning techniques for customer churn prediction[J],Simulation Modelling Practice and Theory,2015,55:1〜9.
[5]De Bock K W,Van den Poel D.An empirical evaluation
of rotation一 based ensemble classifiers for customer churn prediction]J].Expert Systems with Applications, 2011,38(10):12293〜12301.
[6]Masand B,Datta P,Mani D R,et al.CHAMP:A proto
type for automated cellular churn prediction EJ].Data Mining and Knowledge Discovery,1999,3(2):219〜225.
E7]Provost F J,Fawcett T,Kohavi R.The case against accuracy estimation for comparing induction algorithms
[C]//ICML.1998,98:445〜453.
[8]Chen Z Y,Fan Z P,Sun M.A hierarchical multiple ker
nel support vector machine for customer churn prediction using longitudinal behavioral data[J].European Journal of operational research,2012,223(2):461〜472.
[9]Jamil S,Khan A.Churn comprehension analysis for tele
communication industry using ALBA[C]//2016International Conference on Emerging Technologies(ICET).
IEEE,2016:l〜5.
口0]周静,周小宇,王汉生.自我网络特征对电信客户流失的影响[J].管理科学,2017,30(5):28〜37.
[11]张晓滨,高峰,黄慧.基于客户细分的容户流失预测研
究[J].计算机工程与设计,2009,(24):5755〜5758.
作者简介:
贾承瑞,海南大学管理学院硕士研究生;研究方向:物流与供应链管理。
全国流通经济11
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论