基于RandomForest的取消酒店预订应用研究

来源 :赤峰学院学报·自然科学版 | 被引量 : 0次 | 上传用户:apple321lg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
   摘 要:酒店行业迅速发展的同时,存在专业人才短缺、缺乏成熟的管理模式和临时取消率高等问题。本文以Kaggle酒店取消预订数据集为研究对象,对原始數据进行预处理,再利用Lasso方法进行特征重要性排序,将特征提取后的数据作为RandomForest训练模型的输入进行预测,并且通过与XGBoost、LightGBM、DecisionTree等7种主流算法进行对比实验,结果表明本文方案在accuracy、recall、f1_score、AUC四种性能指标上优于对比模型。采用SHAP模型对已建立的价格模型进行解释,同时通过XGBoost, RandomForest的特征重要性排序,识别影响取消预订的关键因素是押金类型、预订时长以及预定渠道。
   关键词:机器学习;取消预订模型;酒店行业;Randomforest模型;SHAP值
  中图分类号:TP391  文献标识码:A  文章编号:1673-260X(2021)06-0015-08
   随着经济的快速发展和各种交流活动的日益频繁,我国旅游行业与酒店行业得到了迅速发展。《2019年中国旅游业统计公报》显示,到2019年末,全国星级饭店10130家,平均房价378.55元/间夜,同比增长6.3%;平均出租率56.7%,同比下降1.3%;每间可供出租客房收入214.65元/间夜,同比增长4.9%;每间客房平摊营业收入40424.51元/间,同比增长5.4%[1]。众所周知,预订是现代酒店管理中一个重要的环节。顾客提前预订,是希望抵达酒店时就有满足其要求的客房,其目的是便于顾客的行程安排[2]。随着互联网的普及,使得提前预订更加便捷。但预订好客房的顾客可能会到了规定的日期而没有到店,或者临时取消预订,致使酒店预留的客房无法销售而造成损失[3]。目前学术界对于酒店行业的关注主要集中在用户行为[3-5]、竞争环境[6-8]、管理系统[9-11]、预订价格[12,13]等方面,针对建立取消酒店预订模型方面的相关研究相对较少。目前针对取消率及影响因素方面的研究,主要集中在交通[14,15]领域,缺乏针对酒店行业的相关研究。因此,在酒店行业专业人才短缺、缺乏成熟的管理模式、临时取消率高等问题的背景下,亟须建立科学规范的预测模型,这对于规范并提高酒店的智能化管理水平、提高酒店入住率并增加酒店收益等方面,都具有重要的促进意义。
  1 研究概述
   本文的核心是利用RandomForest模型解决酒店行业中预订取消的问题。熊伟以深圳大梅沙京基喜来登度假酒店为例对取消预订的酒店顾客预订行为进行了研究,结果显示,整体上取消预订的顾客以男性商务顾客居多。顾客大多为临时的行程取消或更改而取消预订,且性价比和顾客对酒店的信任度对此有一定影响[3]。龙凡认为我国经济型酒店还处于成长阶段,市场竞争虽然还未达到激烈状态,但消费者人群已经形成,并认可经济型酒店的存在,行业还有较大增长的潜力[6]。李昕提出了基于WLAN的酒店餐饮管理系统的设计方案,并通过对关键技术实现过程的具体描述,得出了嵌入式可视化软件的理想设计模式[9]。李东娟借用配对样本检验方法对我国酒店在线预订价格竞争进行实证研究。结果表明,酒店官网销售价格比相应的在线中介代理价格偏低,经济型酒店对中介代理的依赖程度比国内其他类型酒店要低,其官网价格具有一定的市场竞争力[12]。针对取消预订预测方面,研究者基于不同视角构建了不同的预测模型进行了相关研究。刘玉洁基于贝叶斯网络建立了延误波及模型,探讨了相关航班中,进港延误和航班取消对离港延误的影响。研究发现,进港延误对离港延误的波及现象在不同情况下的程度有差异[13]。李纯柱利用XGBoost算法对航班取消事件进行了预测。实验结果表明XGBoost分类器的性能优于基准模型,f1_score值为0.9695[14]。Agustin J提出一种仅使用13个独立变量就可以预测酒店预订取消的方法,除了采用遗传算法优化的人工神经网络外,还应用了机器学习技术,实验结果表明准确率高达98%[15]。Nuno Antonio将8家酒店的物业管理系统的数据与多个来源(天气、假日、事件、社会声誉和在线价格)的数据结合,并使用机器学习可解释的算法开发预订取消酒店的预测模型。研究结果显示,在实际的生产环境中,由于使用这些模型而提高了预测准确性,可以使旅馆经营者减少取消的次数,从而增加对需求管理决策的信心[16]。
   在以上相关研究中,本文与Agustín J和Nuno Antonio的研究内容较为接近,都是利用机器学习方法建立预测模型,但是本文与他们的研究不同之处在于Agustín J和Nuno Antonio采用的均为黑箱机器学习模型,这使得建立的预测模型缺乏可解释性,为了解决这一问题,本文通过引入SHAP模型,能够对影响取消预订的因素进行分析,为酒店行业改进服务质量提供了决策参考。
  2 模型与方法
  2.1 问题分析
   设X为酒店预订特征集合(酒店类型、到达时间、入住人数、最终预订状态等信息),Y为是否取消,给定训练数据集为D={(x1,y1),(x2,y2),…,(xs,ys)},其中xi=(xi(1),xi(2),…,xi(p))为输入实例,p为特征个数,i=1,2,…,s,s为样本个数。将训练样本进行异常值处理、数据标准化等特征工程处理后,将样本输入到RandomForest模型中进行计算。随机森林是基于Bagging框架下的决策树模型,建立的是多个决策树,即通过结合多个弱学习器,从而达到强学习器的效果[17]。随机森林包含了很多树,每棵树给出分类结果,每棵树都有生成规则。
   (1)如果训练集大小为N,对于每棵树而言,随机且有放回地从训练中抽取N个训练样本,作为该树的训练集,重复K次,生成K组训练样本集。
   (2)如果每个特征的样本维度为M,指定一个常数m?垲M,随机从M个特征中选取m个特征。    (3)利用m个特征对每棵树尽最大可能的生长,并且没有剪枝过程。
   随机森林的分类算法流程如图1所示:
  2.2 SHAP的原理
   在樣本量足够大的前提下,通过RandomForest算法可以训练出预测精度较高的分类模型,但是RandomFoest与传统的线性模型相比,在模型的可解释性上,几乎是一个黑箱模型。为了解决这个问题,本文采用SHAP值对模型中影响取消预订的因素进行解释分析。SHAP是由Lundberg和Lee[18]于2017年提出,用于增强XGBoost等模型的可解释性。
   假设第I个样本为xi,第I个样本的第j个特征为xij,模型对该样本的预测值为yi,整个模型的基线为ybase,那么SHAP value服从以下等式:
   yi=ybase+f(xi1)+f(xi2)+…+f(xip),  (1)
  其中f[(x)ij]为xij的SHAP值。RandomForest传统的feature importance只能反映出特征的重要程度,但并不清楚该特征是如何影响预测结果的。SHAP value最大的优势是SHAP能反映出每一个样本特征的影响力,而且还指出影响的正负性。
  3 特征工程
  3.1 数据概况
   本文选取Kaggle竞赛Hotel booking demand(https://www.kaggle.com/jessemostipak/hotel-booking-demand)作为研究的数据源,该数据集包括酒店的基本信息,其中是否取消预订作为输出标签值。数据集总量为119390,特征总数为32。原数据集所含特征的均值和方差如表1所示。其部分特征如图2所示,不论是城市酒店还是度假村,5月至9月是入住旺季(68.7%);城市酒店的取消预订集中在4月至6月,而度假村在6月、8月及9月的取消次数较多。
  3.2 特征工程
   (1)异常值处理 预测建模需要对数据进行异常数据剔除和缺失数据处理,如图3所示。在119390个初始样本中,剔除lead_time大于500、stays_in_ weekend_nights大于6、stays_in_week_nights大于10、adults大于4、children大于8以及babies大于8的异常样本,剩余118489个样本。
   (2)缺失值处理及数据编码 缺失数据的处理按照特征的属性区别对待,对children用众数填充;对country采用字符串unknown填充;因company缺失90%,故选择剔除该变量。对meal、market_segment、distribution_channel、reserved_room_ type、assigned_room_type、customer_type、reservation _status等特征进行独热编码;对country、hotel采用标签编码。
   (3)相关性分析 目标变量(is_canceled)与lead_time、required_car_parking_spaces、total_of_ special_requests、deposit_given等变量的相关系数较高,说明以上变量的变动可能对目标变量产生较大影响,如图4所示。
   (4)特征转换 添加新变量family、deposit、total_customers以及total_nights。family的取值为:当adults大于0且children大于0时,取1,其他取0;deposit的取值为:当deposit_type为No Deposit且为Refundable时,取0,其他取1。
   (5)Lasso特征选择 在实际的工作中,Lasso的参数λ越大,参数的解越稀疏,选出的特征越少。本文采用交叉验证方法计算模型的RMSE,然后选择RMSE的极小值点,从而确定参数λ的值。特征的重要程度如图5所示,最终选取特征为61个。
  4 实验结果及讨论
  4.1 算法评价指标及超参数配置
   本文以accuracy(正确率)、precision(精度)、recall(召回率)、f1_score作为预测模型的评价函数。其计算公式如(2)-(5)。
   首先介绍几个常见的模型评价术语,假设分类目标只有两类,计为正例(positive)和负例(negative)分别是:
   (1)True positives(TP):被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数。
   (2)False positives(FP):被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数。
   (3)False negatives(FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数。
   (4)True negatives(TN):被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。
   正确率(accuracy) 正确率是最常见的评价指标,即被分对的样本数除以所有的样本数,通常来说,正确率越高,分类效果越好。
   精度(precision) 精度是精确性的度量,表示被分为正例的示例中实际为正例的比例。
   召回率(recall) 召回率是覆盖面的度量,度量有多个正例被分为正例。
   f1-score是对精度和召回率的调和平均。
   本文中所有对比算法的超参数配置如表2所示。
  4.2 与其他主流机器学习模型的对比分析
   8种算法的预测评价指标结果如表3所示。以RandomForest算法为例,将处理完毕后的数据以70%的训练数据,30%的测试数据作为数据切分方案,各算法超参数配置,最终利用70%的数据训练得到模型,并在30%的验证数据集上预测最终详细结果。    从表3及图6中的详细数据可以看出,总体上8种算法的性能对比结果是:RandomForest效果最佳,precision值为0.884,recall值为0.798,f1得分为0.838,AUC值达到0.868。StochasticGradientDescent效果最差。其中,在precision指标上,随机森林能够达到0.884,其次是XGBoost,值为0.851。而逻辑回归在precision指标上只达到了0.786。其他算法的precision值均在区间[0.80,0.87]内。在recall指标上,RandomForest与其他8种算法之间的差距比较明显,SVC的recall值只有0.506,而决策树、RandomForest分别能够达到0.800、0.798,其他算法的recall值均在区间[0.60,0.70]内。在f1_score指标上,RandomForest的值可以达到0.838,而逻辑回归以及StochasticGradientDescent的值只有0.697。其他7种算法的f1_score值均在区间[0.70,0.80]内。在AUC指标上,RandomForest算法与其他算法之间的差距并不明显,AUC值均在区间[0.75,0.88]内。
   综上所述,RandomForest在3个评价指标上误差都小于其他7个算法,预测效果最为理想。比较8个算法的预测效果可以看出:(1)在预测效果上,RandomForest比其他算法预测效果好,三个指标均为最优,这表明本文的指标体系是有效的,深入挖掘影响取消酒店预订的因素可以更加准确地预测顾客是否会取消预订。(2)基于非线性的XGBoost、LightGBM算法比线性回归、决策树的预测效果好,这表明数据集往往表现出复杂的非线性关系并含有一定程度的噪声数据,所以使用基于非线性关系的模型可以获得较好的预测效果,但与此同时也会增大模型的复杂度。(3)基于集成方法的RandomForest、XGBoost算法预测效果较好,其原因在于RandomForest作为一种集成方法,其通过了结合多个弱学习器达到一个强学习器的效果。研究结果表明:在Lasso特征选择的基础上,通过RandomForest分类可以合理地预测顾客是否会取消酒店预订,而且RandomForest方法在模型的推广泛化上具有一定优势。
  4.3 模型超参数调优及模型收敛分析
   Randomforest中的超参数总共有19个,主要分为Bagging的框架参数(如booster、oob_score等)、决策树的参数(如max_features、max_depth等)。本文在参数调优过程中采用网格参数搜索技术(GridSearchCV)并以accuracy为评价指标,以表现最优的Randomforest模型为训练集,选择以n_estimators、max_depth、min_samples_split、min_samples_leaf四个对模型性能影响最大的参数为主,参数的搜索空间及第一轮调优结果如表4所示。
   (1)先确定n_estimators,把n_estimators设置成100,其他参数使用默认参数,使用GridSearchCV函数进行网格搜索确定合适的n_estimators。(2)找到合适的迭代次数后使用GridSearchCV函数对模型的其他三个主要参数进行网格搜索自动寻优。使用5折交叉验证的方法来选择参数,即每次将训练数据集分成5份,轮流将4份用于训练集训练剩下1份用于测试集测试,每次试验都会得到相应的accuracy值,最后将5次测试分数的均值作为最后的accuracy值。参数最终选择为n_estimators、max_depth、min_samples_split、min_samples_leaf的结果为:200、8、5、3。相比未调参的结果0.884(precision值),调参后为0.925(precision值),优化效果比较显著。
   如图7所示,Randomforest与其他模型学习曲线对比,其中图7(a)-(d)分别表示Randomforest、DecisionTree、XGBoost以及LightGBM的學习曲线。从图7中可以发现各算法的拟合效果相差较大,可以看到除DecisionTree、RandomForest外,其他两种算法随着样本量的增加,模型都趋于逐步收敛,而DecisionTree、RandomForest的测试集与交叉验证集性能存在较大差距。Randomforest、XGBoost、LightGBM分别在样本量为30000时,模型就取得了较好拟合效果,并随着样本量的逐步增加,交叉验证的性能也逐渐趋于稳定。从拟合趋势上看,随着样本量的不断增大,XGBoost与LightGBM模型能够达到更优的拟合效果,但XGBoost在测试集上的稳健性相比LightGBM更为出色。
  4.4 基于SHAP的模型解释分析
   图8显示了整个模型的特征重要度,该图根据要素对影响取消预订的因素重要性对其进行排序。可以看到country(顾客来源)、total_of_special_requires(其他特殊需求数)、deposit_given(押金类型)、required_car_parking_spaces(需要停车位数)、market_segment_Online TA(网上预订)、lead_time(提前预订时长)、previous_cancellations(提前取消次数)等特征的差异对模型的影响较显著。整体来说,前20个特征对模型产生的正面影响的占多数。具体而言,country对模型产生的正面影响较大,即country值越大,SHAP value的值也越大,红色区域集中于SHAP value大于0的部分,蓝色区域集中在SHAP value小于0的部分;与之产生相同影响的时deposit_given,该值越大,SHAP value的值也越大。而total_of_special_requires(其他特殊需求数)对模型产生的负面影响较大,即红色区域聚集于SHAP value小于0的部分,蓝色区域聚集于SHAP value大于0的部分,说明该值越大,SHAP value越小。    经过XGBoost、RandomForest的训练后,可以得到每个特征的重要性指标。表5为两种算法特征重要性对比。
   通过表5及图9观察发现,经过XGBoost、RandomForest训练后,排名10的特征重要度并不完全相同。结合数据集的特征重要度排序,可以得出影响取消预订的关键因素是deposit_type(押金类型)、country(客户来源)、lead_time(提前预订时长)、market_segment(预订渠道)、adr(入住总人数)以及reserved_room_type(预留房型)。具体而言,deposit_type若为No default(无保证金),取消预订的概率越高是肯定的;若lead_time(提前预订时长)越大,取消预订的概率越高。取消的原因可能是顾客无法控制的,例如计划变更、疾病、事故或天气。然而,由于顾客的行为,取消也可能发生,例如找到价格更优惠的酒店,找到位置更好或更理想的酒店,寻找一家服务设施更好的酒店。
  5 结论
   酒店行业发展迅速,研究者对其的关注主要集中在用户行为、竞争环境、管理系统、预订价格等方面,针对建立取消酒店预订模型方面的相关研究相对较少,并且已有工作中采用的均为黑箱机器学习模型,缺乏模型的可解释性。所以,本文以kaggle酒店取消预订数据集为研究对象,研究了基于RandomForest算法对酒店预订场景下预测是否取消的问题。首先,对原始数据进行预处理,再利用Lasso方法进行特征提取;其次,将特征提取后的数据作为RandomForest训练模型的输入进行预测;并且通过与XGBoost、LightGBM、DecisionTree、SVC、LogisticRegression、Adaboost以及SGD等7种主流算法对比实验,证明了RandomForest算法的有效性。最后,采用SHAP模型对已建立的价格模型进行解释,同时通过XGBoost, RandomForest的特征重要性排序,识别出影响取消预订的关键因素是押金类型、预订时长以及预定渠道。下一步工作可以考虑加入更多特征(如位置、天气状况、酒店星级、价格等),进一步提升模型的预测精度。
  参考文献:
  〔1〕国家旅游局.2019年中国旅游业统计公报[EB/OL].https://www.sohu.com/a/403183779_168 029?_trans_=000014_bdss_dkygcbz,2020-06-20/2020-11-20.
  〔2〕江浩.饭店预订业务应更有作为[J].商业研究,2006,49(07):103-105.
  〔3〕熊伟,蓝文婷.基于no-show和取消预订的酒店顾客预订行为研究——以深圳大梅沙京基喜来登度假酒店为例[J].旅游研究,2012,4(03):51-59.
  〔4〕孙文龙.一种基于用户行为特征的个性化酒店推荐模型[J].电子世界,2014,36(24):469-469.
  〔5〕Falk M, Vieru M J. Modelling the Cancellation Behaviour of Hotel Guests[J]. Social ence Electronic Publishing, 2018, 30(10):3100-3116.
  〔6〕龙凡.我国经济型酒店行业竞争环境分析[J].商业经济研究,2008,27(012):101-103.
  〔7〕冯小伟.激烈竞争环境下的经济型酒店创新经营[J].河北联合大学学报(社会科学版),2014,14(1):57-60.
  〔8〕邹林辰.基于SSM的酒店管理系统开发[J].科学技术创新,2020,24(32):55-56.
  〔9〕李昕,孟祥福,刘玥.基于WLAN的酒店餐饮管理系统的实现[J].微计算机信息,2007,23(06):17-18,31.
  〔10〕丁蕾锭,兰海翔,卢涵宇,祁小军,薛安琪.餐饮酒店信息管理系统设计与实现[J].电脑知识与技术,2019,15(25):152-154.
  〔11〕尚天成,吴雪,刘培红,等.酒店客房价格影响因素研究进展[J].天津大学学报:社会科學版,2017,19(01):1-6.
  〔12〕李东娟,熊胜绪.我国酒店在线预订价格竞争的实证研究[J].旅游学刊,2011,26(12):37-41.
  〔13〕刘玉洁,何丕廉,刘春波,等.基于贝叶斯网络的航班延误波及研究[J].计算机应用,2008,44(17):242-245.
  〔14〕李纯柱,刘博,卢婷婷.基于XGBoost算法的航班取消问题研究与预测分析[J].民航学报,2020, 4(05):117-122.
  〔15〕Agustín J. Sánchez-Medina, Eleazar C-Sánchez. Using machine learning and big data for efficient forecasting of hotel booking cancellations[J]. International Journal of Hospitality Management, 2020, 89:102546.
  〔16〕Nuno Antonio.Big Data in Hotel Revenue Management: Exploring Cancellation Drivers to Gain Insights Into Booking Cancellation Behavior[J].Cornell Hospitality Quarterly. 2019, 60(04):298-319.
  〔17〕BREIMAN L. Random forests[J]. Machine Learning, 2001,45(01):5-32.
  〔18〕Lundberg S M, Lee S I. A unified approach to interpreting model predictions[C]// Advances in neural information processing systems. 2017:4765-4774.
其他文献
[目的/意义]社会化商务以其独特的技术功能为支持,开创了社交与购物相融合的全新商务情景,从技术解释视角探究可供性对社会化商务用户购买意愿的内在作用机理,有助于深入挖掘
摘 要:采用文献计量学方法对近二十年来国内水足迹研究文献特征进行分析,总结此领域近期研究方向及梳理知识结构,为相关研究提供参考。检索CNKI平台关于水足迹的相关文献,利用CiteSpace软件生成水足迹领域相关文献的作者、研究机构和关键词的共现图谱并进行分析。证明研究热点是绿水足迹、水资源生态足迹等领域。   关键词:水足迹;知识图谱;可视化分析  中图分类号:F062.2;TY211.1 文献标
[目的/意义]大数据环境下公共数字文化服务云平台的设计与构建为公共数字文化体系建设提供了理论框架与支撑平台,对创新服务方式、提升服务质量、改善公共文化服务发展现状起
摘 要:医学生作为将要从事医务工作的群体,对于发展医疗卫生事业、促进我国医疗水平的提高至关重要。医学生不仅需要学习专业的临床技术,更需要提高人文素质,对于医学生的死亡教育也显得更加重要。开展死亡教育既是专业医学知识学习的需要,也是医学生未来职业的要求。本文通过论述死亡教育的内涵及其必要性,分析死亡教育存在的问题,并针对问题提出相应的解决措施。   关键词:医学生;死亡教育;系统化  中图分类号:G
[目的/意义]基于高校数据生命周期,从科学数据利用视角出发,深入探讨社会科学数据的基本特征,可为我国政府和数据管理机构优化社会科学数据管理提供一定的现实依据.[方法/过
[目的/意义]政府信息资源是我国信息资源的重要组成部分,通过探析政府信息资源主动推送服务模式,有助于缓解信息过载和资源闲置问题,提高政府信息资源利用率.[方法/过程]以政
[目的/意义]从主题时态的角度,构建主题时态关联的科学领域研究演化的识别方法,为研究人员精准把握领域发展轨迹和科研创新提供参考.[方法/过程]提出基于主题时态关联的领域
摘 要:5G时代的到来,互联网的应用更为广泛,大学生的阅读模式也更多地倾向于数字化。从纸质阅读到现在的电子阅读和数字化阅读,大学生的阅读模式和阅读习惯呈现碎片化趋势。如何把控好阅读习惯,让大学生能更多地汲取知识,避免娱乐成为年轻一代的主流,是现在所要面对并解决的问题。本论文对于现在大学生的阅读习惯进行问卷调查,了解大学生在互联网背景下的阅读模式,权衡网络阅读和纸质阅读的关系,提出合理化建议,使其能
摘 要:哈木尔图案是蒙古族传统标识图案之一,具有祥和顺意的寓意,从古沿传至今被广泛应用在公共和私人空间。博物馆是能够充分彰显当地文化特色的场所,哈木尔图案在博物馆及其他室内空间中应用造型和装饰以排列为主,较为单一。本文通过对哈木尔图案的历史渊源及寓意的分析,从生态和艺术设计理念入手,运用光与影、虚与实的室内空间设计方法,丰富哈木尔图案在当代博物馆室内空间设计体系多元化,为哈木尔图案在博物馆室内空间
[目的/意义]通过多视角探讨国内外LIS领域高被引论文研究的异同,为国内LIS领域发展提供有益参考,为完善国内图书情报学科的内涵建设提供思路.[方法/过程]基于文献计量和社会