1. 引言
在线旅游(OTA,全称Online Travel Agency)是一种在互联网平台上进行的以旅游产品购买和旅游服务预订为主要内容的消费模式。OTA的各个平台都会推出一些具有特色的旅游产品和活动,并具有消费群体年轻化、旅游消费质量化的特征,这些特征可以为消费者提供个性化的服务,并对他们的出游和目的地决策产生积极的影响。多数消费者已形成了经常浏览在线旅行社平台的习惯,较高的用户粘性将会带来较多的旅游商机。当前,携程、同程、去哪儿网三家公司占据了国内在线旅游市场的主导地位。在激烈的竞争中,各个在线旅游平台都将注意力集中在了用户流量和市场份额上,各个旅行社通过提高服务质量、丰富产品等方式,推出满足消费者各种不同需求的产品 [1] 。
近几年来,由于我们的消费理念发生了改变,线上旅游消费逐渐占据了大部分人的生活方式,对OTA产品的研究日益受到国内外学者的重视。国外学者更多地从网站和用户两个视角,对网站的建设、历史销量、以及购买决策这几个方面展开了深入的研究。我国在旅游电子商务领域的研究起步较晚,更多的是从用户接受行为等方面来探讨,很少从技术运用的角度来探讨旅游电子商务。在研究方法方面,国内学者使用的大多是经验研究,其中大多为描述性研究。国外对电子商务的研究,更多的是结合多种处理方法,并辅以过程跟踪、文本挖掘等技术来进行数据收集,从而使得结论更有说服力 [2] 。
有关OTA的研究,多数集中于顾客评论对其交易量的影响,包括评论的内容、数量等 [3] ,相对单一化;此外,现有研究多关注于影响因素,缺乏对在线旅游产品建立预测模型。所以,本文对在线网站(携程旅游网)的数据进行了挖掘,采集从南京出发到国内华东、华南、华中、华北、西南、东北和港澳台这七个目的地的不同路线的各项数据信息,使用真实的数据,选取对OTA产品历史销量有影响的因素,构建更加合理、更加有效的算法模型,从而可以更加准确地对线上旅游产品的销售进行预测。更深层次地归纳出了旅游消费者的某些偏好,同时为在线旅游网站与旅行社提出了有效的建议 [4] 。
2. 数据来源及预处理
2.1. 数据来源
本文在携程网站中利用八爪鱼采集器爬取了以南京作为出发地,时间为2023年6月,旅游目的地分别为华东、华南、华中、华北、西南、东北和港澳台7个大区的在线旅游产品的详细数据信息,其中数据信息包括销量、旅行社评分、旅程天数、旅程类型、产品评分、点评数量、产品售价、目的地、产品优惠、服务承诺这10个变量。从携程网站中共爬取了4375个在线旅游产品的数据,删除重复数据以及异常数据后得到容量为3099的有效样本。将上述除销量外的9个自变量归为如下5个类别。
(1) 价格信息:即各产品的标出价格。
(2) 用户反馈:包括旅行社的评分、产品的评分和点评数量三个方面。
(3) 行程特色信息:包括旅程的天数、旅程的类型和目的地类型三个方面。
(4) 优惠活动信息:包括暑期特惠、暑期早鸟特惠、精致小团和限时促销。
(5) 服务保障信息:有无购物、无自费、成团保障、攻略完备、亲子甄选、自选酒店、免费接送、提前2天免费退、立即确认和赠取消险十类。
2.2. 数据预处理
由于携程网站上的一些旅游产品条目缺少一些参数性信息,或在数据爬取时出现错误,导致原始数据中出现了一些需要处理的无用数据。原始数据中有287条信息缺失10个参数中的3个以上,由于各旅行产品随机且独立,且就样本总量而言比例较小,故直接删去整条记录。另外有989条重复数据,所以也删去整条记录,留下3099条有效信息。对于旅程天数、产品评分、点评数量、产品价格的缺失数据,使用均值法进行插补填充。最后,对数据进行了一致性检验,通过对原始资料的分析,并未发现显著的异常值,因此最终得到3099个有效样本。
2.3. 数据变换
数据变换是指将数据从一种表达形式转变为另一种的过程,主要目标是把数据转换成便于分析的形态。针对不同的分析模式,在数据类型上有不同的要求。本论文以OTA旅游商品的历史销售数据为因变量,其他9个变量为自变量,为了提高模型的精度,首先对其中的部分变量进行转换。
(1) 产品价格:根据第一四分位数(2060.5元)和第三四分位数(4614.5元),将产品售价划分为低、中、高三种价位,以便进行描述性统计分析。
(2) 旅程天数:根据第一四分位数(4天)和第三四分位数(6天),将旅程在4天以下的设为短期,将4至6天之间的设为中期,将6天以上设为长期。
(3) 旅行社评分:根据第一四分位数(4.7分)和第三四分位数(4.9分),将旅行社划分为三个档次,其中4.7分以下的为一般,4.7分~4.8分的为普通,4.9分及以上的为优秀。
(4) 产品评分:为了确保该变量的可行性和便于分析,将产品评分划分为5分、4.6分~4.9分、4.5分及以下这三个档次。其中,产品评分主要集中在5分,共1342条数据,占比43.3%,其次为4.9分,共有758条数据。
(5) 点评数量:按照第一四分位数(3条)和第三四分位数(52条),将点评数量划分为少、中等、多三种。
(6) 产品优惠:产品优惠以字符串形式呈现,共包括四个水平,将该产品所含有的产品优惠水平用“1”表示,未含的则标注为“0”。
(7) 服务承诺:服务承诺以字符串形式呈现,共包括十个水平,将该产品所含有的服务承诺水平用“1”表示,未含的则标注为“0”。
3. 研究方法
3.1. 定序回归
回归分析是一种用来分析因变量
与自变量
是否具有相关关系以及分析相关程度的常用方法。而定序回归是一种回归分析方法,其因变量
为定序变量,自变量
则是一般的解释变量 [5] 。
当模型中假定随机误差服从logistic分布时定序回归又称Logit定序回归。假设定序变量
由
个类别构成,下面给出Logit定序回归方程的表达式:
(1)
其中,
为
类别的累积概率函数。
若
独立于
,有:
(2)
其中,
为常数,若
与
不独立,有:
(3)
其中,
为系数。当
时,
代表在固定数值
的条件下,在高次序一端出现的累计概率函数随的
增长而增加,反之亦然。
3.2. 随机森林
随机森林(Random Forest) [6] 是一种基于集成学习的分类与回归算法。它以决策树为基本单位,在每个子集上构造多个决策树,通过bootstrap重采样产生不同的样本子集。在构建决策树时,随机森林从全部特征中随机选择一部分特征进行节点分裂。最后,通过采用众数表决法或取平均法来得出最终的预测结果。在随机森林的构建过程中,首先使用行抽样法对样本进行抽样,这可能导致有重复抽样的情况出现。然后进行列采样,通过使用完全分裂采样数据构造决策树,以确保叶节点无法再进一步分裂。这种随机性的引入有助于减少过拟合的风险,并提高模型的泛化能力。
4. 数据建模
4.1. 线上旅游产品历史销量的定序回归模型
构建Logit定序回归模型,对关键变量进行提取。首先将历史销量以四分位数为节点转化成有序变量,并将各分类变量数值化,具体的变量赋值情况如表1。
Table 1. Ordered regression model variable assignments
表1. 定序回归模型变量赋值情况
对于经过处理的有序变量数据集,我们建立了一个Logit定序回归模型,并对该模型进行广义似然比检验,表2中列出了相应的检验结果。从表2中可以看出,P值(Pr)为0,这意味着整个模型的显著性非常高,即在Logit定序回归下,至少有一个自变量对因变量(销量)有显著的影响。
Table 2. Logit sequencing regression generalized likelihood ratio test results
表2. Logit定序回归广义似然比检验结果
接下来,对每个自变量的显著性展开讨论。在Logit定序回归下,进行每个自变量显著性的假设检验,使用R语言构建定序回归全模型,并在表3中呈现定序回归全模型的单因素方差分析结果。
Table 3. One-way ANOVA results of the whole model of ordered regression
表3. 定序回归全模型单因素方差分析结果
结果说明在0.05显著水平下,旅行天数、旅游类型、产品评分、点评数量、产品价格、精致小团、限时促销、成团保障、提前2天免费退这9个变量是显著的。由以上研究发现,所选择的变量的确可以对网上旅行产品的销售做出某种解释。但总体来看,整个模型的构建过于复杂,去除不显著的变量,可以使模型得到简化和改善。采用逐步回归的方法,依据AIC信息统计量,建立Logit定序回归模型,表4展示了模型结果。
Table 4. Results of Logit ordered regression AIC model
表4. Logit定序回归AIC模型结果表
从上表可以看出,定序回归AIC模型中的自变量包括目的地类型、旅游类型、产品评分、点评数量、产品价格、旅行社评分、精致小团、限时促销、无购物、攻略完备、立即确认、赠取消险这12个变量,这些显著变量即为影响产品销量的关键因素,也将用于后续的建模分析当中。
进一步对Logit定序回归模型所筛选出的12个关键变量展开相关性分析,并绘制出相关热力图,如图1所示。
Figure 1. A heat diagram of the correlation between variables
图1. 各变量之间的相关关系热能图
4.2. 在线旅游产品销量的随机森林预测模型
本文使用定序回归筛选出的关键变量,建立随机森林模型作进一步的分析和预测,表5为RF模型的变量说明。
Table 5. Description of random forest model variables
表5. 随机森林模型变量说明
整个操作步骤如下:
(1) 在Pycharm编辑器中导入处理后的数据导入,并存储为Dataframe格式,最后以7:3的比例划分训练集和测试集,其中训练集包含1859数据,测试集包含1240条数据。
(2) 在训练集上,使用Random Forest Regression函数训练随机森林模型,随后在测试集上进行测试,最后对参数进行调整,得到最优参数的随机森林模型。
(3) 采用十折交叉验证法,验证模型结果,并计算出随机森林模型的准确率。
表6为使用网格搜索法之后得到的随机森林模型的各个参数。
Table 6. Random forest parameter settings table
表6. 随机森林参数设置表
采用调参后构建的随机森林模型对销量进行预测,并计算精确率、召回率、准确率及f1-score来衡量模型的性能、评估不同类别的预测结果。具体结果如下图2所示。
Figure 2. Random forest prediction results
图2. 随机森林预测结果
使用sklearn.metrics中的confusion matrix函数绘制随机森林分类器的混淆矩阵,结果如图3所示。
Figure 3. Random forest model confusion matrix
图3. 随机森林模型混淆矩阵
图中轴上的“0”“1”分别代表“低销量”和“高销量”,根据混淆矩阵图可以得到,随机森林模型对于实际为低销量样本存在部分预测失误,对于实际为低销量且预测为低销量的样本和实际为高销量且预测为高销量的样本有更高的预测精确度,误分类样本数较少。
4.3. 与其他分类器(决策树)进行对比
ROC (Receiver Operating Characteristic)曲线是用于评估二分类模型性能的一种常用工具。它展示了二分类模型在不同阈值下的真阳性率(True Positive Rate,也称为灵敏度)和假阳性率(False Positive Rate)之间的关系。ROC曲线越靠近左上角,说明模型的性能越好。除了ROC曲线,我们还可以使用曲线下的面积(Area Under the Curve, AUC)值来衡量模型的性能,AUC的取值范围在0到1之间,它越接近1,表示模型的预测准确性越高。
将上述数据集在决策树分类器上实现,采用AUC评价指标对决策树模型和随机森林模型的分类效果进行对比。其中决策树模型的ROC曲线如图4左图所示,随机森林模型的ROC曲线如图4右图所示。
Figure 4. Decision Tree Model ROC Curve (Left) Random Forest Model ROC Curve (Right)
图4. 决策树模型ROC曲线(左)随机森林模型ROC曲线(右)
从图4中的AUC值来看,随机森林模型的AUC为0.9749,接近于1。相较于决策树模型(AUC = 0.9190),随机森林模型显示出更高的预测精度,能够更好地区分正例和负例样本,具备更出色的分类性能。
5. 结论与讨论
本文使用八爪鱼采集器对携程旅行网的在线旅游产品的相关信息进行收集,利用用Logit定序回归的方法,筛选出影响产品历史销量的12个关键因素。结合筛选出的关键因素,分别使用决策树模型和随机森林模型对产品销量进行预测,经参数调优后,随机森林模型的AUC为0.9749,相较于决策树模型(AUC = 0.9190),预测精度更高,能够更好地区分正例和负例样本,具备更出色的分类性能。
随机森林模型虽然在本文中展现了出色的预测性能,但仍存在一些不足之处。首先,随机森林模型在处理高维稀疏数据时可能会面临困难,因为其基本单位决策树在这种情况下往往无法发挥较好的表现。其次,由于随机森林是一种集成学习方法,其中包含多个决策树,因此模型的建立和训练过程相对较慢,对大规模数据集的处理可能存在一定的挑战。未来研究可以进一步探索如何提升随机森林模型在高维稀疏数据下的性能,例如引入特征选择方法或对决策树进行优化。此外,可以考虑结合其他机器学习技术或深度学习模型,以构建更强大的集成模型,从而进一步提升预测精度。
参考文献