1. 引言
随着GDP不断的增长,越来越多的人们在节假日愿意将时间用来旅游。旅游业快速发展的同时弊端也逐渐暴露,一些知名景区游客数量在节假日暴涨,导致景区生态环境遭到破坏、更有甚者造成不可估量的人身财产损失。比如最近在国外发生的梨泰院踩踏事件,造成了重大的人员伤亡和受伤事件。因此,控制各景区游客数量对景区发展有重大的作用 [1] 。
随着我国信息科技的快速发展,在“互联网+”的背景下,人们可以足不出户便可以了解各大景区的详情。旅游的售票方式发生了改变,线上预定售票变成了主流,以及线下售票的数据都上传到景区管理系统中。并且互联网具有实时性,这比用缺乏及时性的传统数据更好,可以防止因重大事件而引起景区游客数量预测的不准确性。比如此次疫情对旅游造成了巨大的冲击,如果用往期数据分析游客数量并不能起到好的预测结果 [2] 。
2. 前期准备
2.1. 数据可视化与分析
首先本文先将所给的数据进行可视化,得到如下折线图见图1,其中横坐标为时间,纵坐标为游客人数。
观察图1折线图,自2004年起到2021年本文可以发现游客人数增多了,如果以年为单位划分看数据,发现数据受时间影响,比如2006年游客人数持续下滑,2007到2013之间游客人数处于较稳定的波动状态,2014年到2021年之间游客人数持续下降。同时可以看出游客人数在年份之间具有联系,大致呈现出一致的趋势,故采取LSTM通过往期数据对未来进行预测。
2.2. LSTM模型介绍
本文观察到所给的数据是时间序列数据,普通的深度神经网络模型如FCN、CNN虽然能够处理输入的时间序列信息,但很难从时间中获取序列间的依赖关系。循环神经网络(Recurrent Neural Network, RNN)是一类专门用于处理序列数据的网络。但容易产生梯度消失、梯度爆炸的问题,于是本文采用优化后的LSTM网络模型来处理数据,这是一种改进之后的时间递归神经网络,适用于处理和预测时间间隔较长的长期事件,解决了RNN无法处理长距离的依赖的问题。相比与传统RNN,LSTM网络增加了遗传门、输入门、输出门与细胞状态,使其可以很好地处理长序列数据。本文采用了LSTM模型,其中输入特征维数为2,隐藏层维度为4,输出特征维度为1,在LSTM模型由两个RNN和一个全连接层组成。
2.3. 与ARIMA模型的对比
ARIMA模型将自回归模型、移动平均模型和差分法结合,得到的差分自回归移动平均模型 ARIMA(p,d,q),其中d是需要对数据进行差分的阶数。模型的基本原理是在将非平稳时间序列转化为平稳时间序列的过程中,将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型,本质上只能捕捉线性关系,不能捕捉非线性关系 [3] 。因此需要时序数据是稳定的,或者通过差分化之后是稳定的,如果不稳定的数据,将无法捕捉到规律的。考虑到游客人数常常受政策和新闻的影响而波动,故猜测用ARIMA无法预测,对此的验证如下:
稳定的数据是没有趋势,没有周期性的;即它的均值,在时间轴上拥有常量的振幅,并且它的方差,在时间轴上是趋于同一个稳定的值的。所以首先对序列绘图,进行ADF检验,观察序列是否平稳,使用SPSS软件对原始数据进行差分分析,结果见图2。
由于在ACF及偏ACF中均存在截尾现象,因此使用ARIMA模型的结果较为不理想,需要对参数中的阶数一项进行多次猜测验证才能得到较为标准的ARIMA模型,将耗费大量的时间,且根据对原始数据作图观察,发现每月游客人数波动较大,故转而使用LSTM模型进行预测。
3. LSTM模型原理
3.1. LSTM模型和RNN工作原理
LSTM是RNN的特殊类型,RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络,包含了输入层、隐藏层、输出层。通过激活函数控制输出,层与层之间通过权值连,RNN不仅在层与层之间建立了权连接,在层之间的神经元之间也建立了权连接,图像展示见图3。
其中X是是输入,h是隐藏层单元,o是输出,L是损失函数,y是训练集的标签,U,V,W是权值。
T时刻:
T时刻输出:
最终模型输出:
,图像展示见图4。

Figure 2. Differential analysis of tourist numbers
图2. 游客人数差分分析图
LSTM网络通过门控制将短期记忆与长期记忆结合起来,并且一定程度上解决了梯度消失的问题。原始RNN的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。LSTM再增加一个状态,即c,让它来保存长期的状态,称为单元状态(cell state) [4] 。在t时刻,LSTM的输入有三个:当前时刻网络的输入值
、上一时刻LSTM的输出值
、以及上一时刻的单元状态
;
LSTM的输出有两个:当前时刻LSTM输出值
、和当前时刻的单元状态
,图像展示见图5。
3.2. LTSM核心思想
LSTM的关键在于单元状态(cell state)。信息在单元状态(cell state)之间流传保持不变。同时使用三个门来控制长期状态c [5] 。
门(gate)是一层全连接层,输入是一个向量,输出是一个0到1之间的实数向量。
其中公式为:
方法:用门的输出向量按元素乘以本文需要控制的那个向量。
原理:门的输出是0到1之间的实数向量,当门输出为0时,任何向量与之相乘都会得到0向量,这就相当于什么都不能通过;输出为1时,任何向量与之相乘都不会有任何改变,这就相当于什么都可以通过。
3.3. LSTM的计算
遗忘门的计算:它决定了上一时刻的单元状态
保留到当前时刻
的数量,图像展示见图6。
其中
是遗忘门的权重矩阵,
将两个向量连接成一个更长的向量,
是遗忘门的偏置项,σ是sigmoid函数。
输入门的计算:输入门决定了当前时刻网络的输入
保存到单元状态
的数量,可以避免无关的内容进入记忆,图像展示见图7。
根据上一次的输出和本次输入来计算当前输入的单元状态,图像展示见图8。
当前时刻的单元状态
的计算:由上一次的单元状态
按元素乘以遗忘门
,再用当前输入的单元状态
按元素乘以输入门
,再将两个积加和:这样,就可以把当前的记忆
和长期的记忆
组合在一起,形成了新的单元状态
。由于遗忘门的控制,它可以保存很久很久之前的信息,由于输入门的控制,它又可以避免当前无关紧要的内容进入记忆,图像展示见图9。

Figure 9. Calculation of the LSTM input gate
图9. LSTM输入门的计算
输出门的计算:
输出门用来控制单元状态
输出到LSTM的当前输出值
的数量,控制了长期记忆对当前输出的影响,图像展示见图10。

Figure 10. Calculation of the LSTM output gate
图10. LSTM输出门的计算
4. 模型的结果
基于游客人数数据量较大的情况,通过LSTM模型发现拟合的数据和实际的数据基本吻合,并且预测了2022年游客人数的情况。每次都会以训练集:测试集 = 7:3的比例来训练数据,从而确保模型的泛化能力 [6] 。本文最终得出了游客人数的预测数值,其中红色为预测数据,蓝色为原始数据,最终结果图片见图11,具体预测人数见表1。

Figure 11. Forecast results of tourist arrivals
图11. 游客人数预测结果
通过上述LSTM模型,可以看出使用LSTM模型对游客人数的预测较为理想,且对于大多数波动情况均能及时的反应,因此对于预测每月的游客人数的可行性较高,故可以使用预测的游客人数进行对景区和游客等给予相关的参考数据,从而帮助其进行决策,如给游客一些旅行时间的建议或用于景区管理人员合理调配资源,景区及周边商家的价格调整等。

Table 1. Tourist population projections
表1. 游客人数预测数据
5. 模型的缺点与改进
模型的缺点:
1) Time consuming:由于训练lstm模型需要根据结果不断通过前向传播和反向传播修改系数以达到较好的预测效果,这需要花费大量时间 [7] 。
2) 在使用LSTM模型进行预测时,以月为单位预测,使得结果不够精确,存在一定的误差。
模型的优点:
1) lstm能很好地处理时间序列,并且lstm相较于rnn不会出现梯度消失、梯度爆炸等问题。
2) 以一个月进行预测便于景区进行调控,同时避免因短期重大事件而导致预测数据和实际数据误差过大的情况。
6. 结束语
本文直接利用原始数据,预测出未来一年的游客人数变化情况较为理想,拟合曲线平滑,但少数时候的突变导致的噪声点有极大的可能造成剧烈的影响,且以月份为单位进行预测数据较为模糊,故模型并不能得到完美的预测值,但对规避不必要且致命的风险时却有着极好的效果。
NOTES
*通讯作者。