CN114091768A - 基于stl和带有注意力机制的lstm的旅游需求预测方法 - Google Patents

基于stl和带有注意力机制的lstm的旅游需求预测方法 Download PDF

Info

Publication number
CN114091768A
CN114091768A CN202111414339.2A CN202111414339A CN114091768A CN 114091768 A CN114091768 A CN 114091768A CN 202111414339 A CN202111414339 A CN 202111414339A CN 114091768 A CN114091768 A CN 114091768A
Authority
CN
China
Prior art keywords
sequence
lstm
model
trend
decomposition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111414339.2A
Other languages
English (en)
Inventor
贾兆红
金村界
唐俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University
Original Assignee
Anhui University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui University filed Critical Anhui University
Priority to CN202111414339.2A priority Critical patent/CN114091768A/zh
Publication of CN114091768A publication Critical patent/CN114091768A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies

Abstract

一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,包括:从旅游客流量数据中获取初始的时间序列;使用STL分解模型对初始时间序列进行分解,得到3个分解序列;将3个分解序列分别输入到一个共享的注意力层,获得每个序列中不同特征的权重,然后将带有权重的特征作为LSTM的输入;对3个分解序列使用相同参数的LSTM模型进行训练,并分别对它们的测试集进行预测;3个预测结果进入全连接单元;将这3个预测结果相加得到游客达到量的最终预测结果并输出。本发明的优点在于:首先利用STL解决了旅游需求预测过程中由于数据量有限引起的高度复杂的模型中过拟合问题,并形成了一个相对简单的预测过程;其次,运用Attention‑LSTM有效地选择了特征变量和适当的时间步长。

Description

基于STL和带有注意力机制的LSTM的旅游需求预测方法
技术领域
本发明涉及旅游需求预测技术领域,尤其涉及一种基于带有注意力机制的LSTM结合季节性趋势分解(STL)的旅游需求预测方法SAL。
背景技术
旅游规划者需要准确预测游客到达的数据。同样,目的地和旅游价值链中的所有参与者,如交通运输部门、旅游运营商、住宿供应商、活动组织者和零售商,都需要准确的预测,以做出满足其经营需求的短期的决策,分析市场趋势,并制定长期战略。因此,使得旅游需求预测一直成为研究热点。旅游需求预测研究可分为定性和定量两种方法。其中,定性方法往往根据已经掌握的历史资料和直观材料,运用人的知识、经验和分析判断能力,对事物的未来发展趋势做出性质和程度上的判断,然后再通过一定的形式综合各方面的判断,得出统一的预测结论。然而,这些方法往往泛化能力较差。因此,研究人员一直在研究定量方法,以估计旅游数据中不同观测之间的定量关系。基于过去的因素数据和客流量数据,构建的模型可以用于预测未来的游客到达量。一般来说,量化方法采用了两种策略来提高绩效。第一个策略试图纳入更多可能影响游客旅游动机的相关因素,而第二个策略是采用更复杂的模型,对未来趋势具有更好的泛化能力。
在现有的旅游需求预测方法模型中可划分为三类:时间序列模型、计量经济模型和人工智能模型。其中,时间序列模型是利用历史数据来预测未来的旅游需求,例如,ARIMA及其变量的预测模型已被广泛采用。Goh(Modeling and forecasting tourism demandfor arrivals with stochastic nonstationary seasonality andintervention.Tourism management,2002)等人提出了SARIMA方法,该方法捕获了单变量时间序列内部的季节性。此外,在早期的旅游需求预测研究中,提出了指数平滑(ETS)和Navie方法。而计量模型利用旅游需求与解释变量之间的关系进行旅游需求预测。传统的计量经济学模型是基于回归方法,如普通最小二乘法(OLS)、自回归分布滞后模型(ADLM)、向量自回归模型(VAR)和误差修正模型,已被普遍使用。近年来,为了提高旅游需求预测的绩效,提出了利用谷歌搜索数据的混合数据抽样模型。然而,计量经济学模型在特征选择过程中存在一定的局限性。特别是在旅游需求预测中,如何有效地建立具有大量变量的模型仍然是一个难题。基于人工智能的模型也被成功地用于旅游需求预测。Wong(Bayesianmodels for tourism demand forecasting.Tourism Management,2006)等人提出了贝叶斯网络模型来预测香港旅游的需求,并取得了一定的成果。Cankurt(Tourism demandforecasting using ensembles of regression trees.In:2016IEEE 8th InternationalConference on Intelligent Systems(IS),2016)利用回归树对土耳其旅游需求进行预测。作为一种非线性预测模型,人工神经网络(ANN)也被用于旅游预测。近年来,Law(Tourism demand forecasting:A deep learning approach.Annals of tourismresearch,2019)等人将深度学习模型引入旅游需求预测,发现深度学习模型具有较强的泛化能力和较高的准确性。
基于人工智能的模型用于预测的过程中,过拟合是定量预测模型面临的主要挑战之一。在旅游需求预测中,质量受到两个过度拟合原因的影响。首先,在复杂的建模中,数据的多样性和体积通常是有限的。例如,大多数相关研究只能获取5-10年前的历史数据。Wu(Asparse gaussian process regression model for tourism demand forecasting inhong kong.Expert Systems with Applications,2012)等人提到ANN经常出现过拟合问题。Claveria(Tourism demand forecasting with neural network models:differentways of treating information.International Journal of Tourism Research,2015)等人认为,多层神经网络需要交叉验证来克服过拟合问题。第二,模型构建过程中可能引入了不相关或冗余的解释变量。Li(Forecasting tourism demand with composite searchindex.Tourism management,2017)等人认为,在使用搜索指数预测旅游需求时,搜索查询量过大会导致过度拟合。Sun(Forecasting tourist arrivals with machine learningand internet search index.Tourism Management,2019)等人认为,与搜索指数相关的旅游需求预测研究应深入考虑并避免过度拟合问题。此外,如何有效利用有限的数据量来选择解释变量仍有待探索。总之,尽管基于人工智能的方法提供了多种机会,但仍有几个方法论问题未得到解决。文献综述表明,现有的旅游需求预测深度学习模型往往是高度复杂的。这些问题的根源在于有限的数据量和额外的解释变量要求。因此,本研究旨在解决这些不足,用以提高基于人工智能的旅游需求预测的建模精度。
发明内容
本发明所要解决的技术问题在于如何解决旅游需求预测过程中由于数据量有限引起的高度复杂的模型中过拟合问题。
本发明通过以下技术手段实现解决上述技术问题的:一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,包括下述步骤:
步骤1:从旅游客流量数据中获取统计周期内的游客到达量,从而得到初始的时间序列;
步骤2:使用STL分解模型对步骤1中的初始时间序列进行分解,得到3个分解序列;
步骤3:将步骤2中得到季节序列、趋势序列和剩余序列分别作为输入,输入到一个共享的注意力层,获得每个序列中不同特征的权重,然后将带有权重的特征作为LSTM的输入;
步骤4:建立LSTM预测模型,设置三个分解序列的训练集和测试集的比例为8:2;分别对步骤2得到的3个分解序列使用相同参数的带有注意力机制的LSTM模型输入训练集进行训练,并分别对它们的测试集进行预测;
步骤5:步骤4中得到的3个预测结果进入全连接单元;
步骤6:将这3个预测结果相加得到游客达到量的最终预测结果
Figure BDA0003374695410000031
步骤7:输出预测结果
Figure BDA0003374695410000032
作为进一步优化的技术方案,还包括如下步骤:
通过最小化真实的游客到达量和预测的游客到达量之间的差值来训练SAL模型,SAL模型包括了STL分解模型和带有注意力机制的LSTM模型,在训练过程中,使用网格搜索对参数进行微调来确定SAL模型的最优参数,在实验中,设定时间步长为12,输入特征的维度为2725,LSTM神经元个数的取值范围为{16,32,64,128,256,512},全连接单元个数取值范围为{8,16,32,128,256},dropout_rate取值范围为{0.2,0.3,0.5,0.7,0.8},批次取值范围为{2,3,7,11,12,15},迭代测试取值范围为{300,500,700,1000,3000}。
作为进一步优化的技术方案,所述步骤2具体包括以下步骤:
步骤21:去趋势,假定Tt k为内循环中第k次迭代结束时的趋势分量,用原始序列Yt减去上一次迭代结果的趋势分量Tt k,即Yt′=Yt-Tt k,当k=0时的初始值Tt 0=0;
步骤22:周期子序列平滑,去趋势序列中的每一个周期子序列都是通过局部加权回归进行平滑,得到一个临时的季节序列,记为
Figure BDA0003374695410000033
步骤23:平滑周期子序列的低通滤波,将一个低通滤波应用于
Figure BDA0003374695410000034
这个滤波器包含一个长度为12的移动平均,一个长度为3的移动平均,然后做局部加权回归,得到结果序列
Figure BDA0003374695410000041
步骤24:去除平滑周期子序列趋势,第(k+1)次迭代季节分量为
Figure BDA0003374695410000042
其中减去
Figure BDA0003374695410000043
目的是防止低频信息进入季节项;
步骤25:去季节项,原始序列Yt通过减掉季节分量
Figure BDA0003374695410000044
得到了一个消除季节化的序列,去季节性序列为
Figure BDA0003374695410000045
步骤26:趋势平滑,在步骤25中获得的去季节性序列Yt″经过局部加权回归平滑处理得到第(k+1)次迭代中趋势分量Tt k+1
步骤27:判断季节分量
Figure BDA0003374695410000046
和趋势分量Tt k+1是否收敛,若收敛输出季节分量
Figure BDA0003374695410000047
和趋势分量Tt k+1,否则返回步骤21;
步骤28:计算剩余分量
Figure BDA0003374695410000048
作为进一步优化的技术方案,所述步骤3具体包括以下步骤:
步骤31:将季节序列、趋势序列和剩余序列分别作为输入;
步骤32:输入到一个全连接层;
步骤33:然后使用softmax激活函数进行归一化,来获得每个序列中不同特征的权重:
Figure BDA0003374695410000049
其中,W为权重矩阵,b为偏置项;
步骤34:将每个特征乘以相对应的权重,从而获得带有权重的特征:
Figure BDA00033746954100000410
步骤35:输出带有权重的特征作为LSTM的输入。
作为进一步优化的技术方案,所述步骤4具体如下:
Figure BDA00033746954100000411
做为输入,LSTM将其编码为隐层状态
Figure BDA00033746954100000412
在时间步长t时,ht为LSTM单元输出门隐层状态,它是由前一隐层状态ht-1,当前单元状态ct和当前输入x′t更新的,更新过程如下:
ft=σ(Wf×x′t+Uf×ht-1+bf)
it=σ(Wi×x′t+Ui×ht-1+bi)
Figure BDA0003374695410000051
Figure BDA0003374695410000052
Ot=σ(Wo×x′t+Uo×ht-1+bo)
ht=Ot×tanh(Ct)
其中,Wf、Uf、Wi、Ui、Wc、Uc、Wo和Uo为权重矩阵,bf、bc、bi和bo为偏置项,tanh为激活函数,×代表逐元素相乘,将最后一步的输出送入到一个线性回归层分别得到季节序列、趋势序列和剩余序列的预测结果。
本发明还提供一种基于STL和带有注意力机制的LSTM的旅游需求预测装置,包括如下模块:
初始的时间序列获得模块:用来从旅游客流量数据中获取统计周期内的游客到达量,从而得到初始的时间序列;
时间序列分解模块:用来使用STL分解模型对步骤1中的初始时间序列进行分解,得到3个分解序列;
注意力层模块:将时间序列分解模块输出的季节序列、趋势序列和剩余序列分别作为输入,输入到一个共享的注意力层,获得每个序列中不同特征的权重,然后将带有权重的特征作为LSTM预测模型的输入;
LSTM预测模型训练模块:设置三个分解序列的训练集和测试集的比例为8:2;分别对时间序列分解模块输出的3个分解序列使用相同参数的带有注意力机制的LSTM模型输入训练集进行训练,并分别对它们的测试集进行预测;
全连接单元进入模块:3个预测结果进入全连接单元;
相加模块:将这3个预测结果相加得到游客达到量的最终预测结果
Figure BDA0003374695410000053
输出模块:输出预测结果
Figure BDA0003374695410000054
作为进一步优化的技术方案,还包括如下模块:
训练模块,用来通过最小化真实的游客到达量和预测的游客到达量之间的差值来训练SAL模型,SAL模型包括了STL分解模型和带有注意力机制的LSTM模型,在训练过程中,使用网格搜索对参数进行微调来确定SAL模型的最优参数,在实验中,设定时间步长为12,输入特征的维度为2725,LSTM神经元个数的取值范围为{16,32,64,128,256,512},全连接单元个数取值范围为{8,16,32,128,256},dropout_rate取值范围为{0.2,0.3,0.5,0.7,0.8},批次取值范围为{2,3,7,11,12,15},迭代测试取值范围为{300,500,700,1000,3000}。
作为进一步优化的技术方案,所述时间序列分解模块具体包括:
去趋势单元:假定Tt k为内循环中第k次迭代结束时的趋势分量,用原始序列Yt减去上一次迭代结果的趋势分量Tt k,即Y′t=Yt-Tt k,当k=0时的初始值Tt 0=0;
周期子序列平滑单元:去趋势序列中的每一个周期子序列都是通过局部加权回归进行平滑,得到一个临时的季节序列,记为
Figure BDA0003374695410000061
平滑周期子序列的低通滤波单元:将一个低通滤波应用于
Figure BDA0003374695410000062
这个滤波器包含一个长度为12的移动平均,一个长度为3的移动平均,然后做局部加权回归,得到结果序列
Figure BDA0003374695410000063
去除平滑周期子序列趋势单元:第(k+1)次迭代季节分量为
Figure BDA0003374695410000064
其中减去
Figure BDA0003374695410000065
去季节项单元:原始序列Yt通过减掉季节分量
Figure BDA0003374695410000066
得到了一个消除季节化的序列,去季节性序列为
Figure BDA0003374695410000067
趋势平滑单元:在去季节项单元中获得的去季节性序列Yt″经过局部加权回归平滑处理得到第(k+1)次迭代中趋势分量Tt k+1
收敛判断单元:判断季节分量
Figure BDA0003374695410000068
和趋势分量Tt k+1是否收敛,若收敛输出季节分量
Figure BDA0003374695410000069
和趋势分量Tt k+1,否则返回去趋势单元;
剩余分量计算单元:计算剩余分量
Figure BDA00033746954100000610
作为进一步优化的技术方案,所述注意力层模块具体包括:
输入单元:将季节序列、趋势序列和剩余序列分别作为输入;
全连接层单元:输入到一个全连接层;
归一化单元:然后使用softmax激活函数进行归一化,来获得每个序列中不同特征的权重:
Figure BDA0003374695410000071
其中,W为权重矩阵,b为偏置项;
特征获取单元:将每个特征乘以相对应的权重,从而获得带有权重的特征:
Figure BDA0003374695410000072
特征输出单元:输出带有权重的特征作为LSTM预测模型训练模块的输入。
作为进一步优化的技术方案,所述LSTM预测模型训练模块具体执行如下方法:
Figure BDA0003374695410000073
做为输入,LSTM将其编码为隐层状态
Figure BDA0003374695410000074
在时间步长t时,ht为LSTM单元输出门隐层状态,它是由前一隐层状态ht-1,当前单元状态ct和当前输入xt′更新的,更新过程如下:
ft=σ(Wf×x′t+Uf×ht-1+bf)
it=σ(Wi×x′t+Ui×ht-1+bi)
Figure BDA0003374695410000075
Figure BDA0003374695410000076
Ot=σ(Wo×x′t+Uo×ht-1+bo)
ht=Ot×tanh(Ct)
其中,Wf、Uf、Wi、Ui、Wc、Uc、Wo和Uo为权重矩阵,bf、bc、bi和bo为偏置项,tanh为激活函数,×代表逐元素相乘,将最后一步的输出送入到一个线性回归层分别得到季节序列、趋势序列和剩余序列的预测结果。
本发明的优点在于:
首先利用STL缓解了旅游需求预测过程中由于数据量有限引起的高度复杂的模型中过拟合问题,并形成了一个相对简单的预测过程;
其次,运用Attention-LSTM有效地选择了特征变量和适当的时间步长。
附图说明
图1是本发明实施例提供的SAL旅游需求预测模型图;
图2是本发明实施例提供的STL六个步骤图;
图3是本发明实施例提供的LSTM单元结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对SAL模型进行介绍,在本文中,引入SAL模型,以缓解旅游需求预测中的过拟合问题。SAL模型包括了STL和Attention-LSTM(带有注意力机制的LSTM),其中,STL简化了预测方法,以往的STL模型是将输入数据分解成3个不同的序列,并没有区分序列中不同影响因子的重要性,而不同的影响因子对游客到达量预测的贡献也是不同的,因此为了突出不同影响因子的作用,本文采用了基于注意力机制的LSTM来获得更加准确的特征变量。在这一节中,将STL与Attention-LSTM相结合在旅游需求预测问题上进行了详细的解释。
在T个时间步长游客到达量的时间序列数据用向量YT={y1,y2,...,yT}来表示。因此,相对应的预测时间序列数据YT的特征向量可以表示为:XT={x1,x2,...,xT},其中T是时间序列的长度。对于时间步长t,具有n个外因特征的输入变量可以定义为:
Figure BDA0003374695410000081
在时间步长t中,yt表示游客达到量,xt表示各种因素,例如来自搜索引擎的相应的搜索强度指标(SII)数据。T个长度的多因素
Figure BDA0003374695410000082
和在T时间步长的游客达到量
Figure BDA0003374695410000083
作为预测函数F的输入,来预测未来δ时间步长游客到达量
Figure BDA0003374695410000084
公式如下:
Figure BDA0003374695410000085
其中δ是未来要预测的时间步长。然后利用已有数据的T时间步长和相应的因素预测未来的δ时间步长游客到达量。考虑到旅游需求预测的非线性和复杂性,函数F必须捕捉多元因素与目标旅游到达量之间的非线性映射关系。
图1为SAL旅游需求预测模型。首先,对游客到达量数据进行预处理;然后,经过STL分解预处理后的数据;最后,使用Attention-LSTM模型预测。
基于SAL模型,对模型中各个模块功能进行详细介绍如下:
STL是Cleveland RB提出的一种经典的时间序列分解方法。其在时间序列数据分析中发挥着极其重要的作用,尤其是在季节性强的模式下性能最佳。与传统的分解方法显著不同,STL提供了更健壮的组件来分解带有异常值的时间序列。STL将旅游数据分解为三个部分:趋势、季节和剩余。例如,在时间步长t内,游客达到量Yt经过STL分解后,可以被认为是趋势Tt、季节St和余项Rt三个分量的总和,如下所示:
Yt=Tt+St+Rt
对于一个序列中不同影响因子的重要性是不同的,因此为了使不同序列的特征表示更加准确,区分不同影响因子的重要性是必要的。因此本文引入了注意力层来获取序列中不同影响因子的权重。
LSTM网络是递归神经网络(RNN)的扩展,它解决了RNN的梯度消失问题,并允许长期存储信息。它可以捕获数据中的非线性趋势,并在很长一段时间内记住以前的信息。因此,LSTM已经成功地被应用于处理时间序列问题。而旅游需求预测的目的是根据以往的多元因素来预测当前的游客到达量,因此数据经过STL分解后进入注意力层,然后经过注意力层的权重分配将带有权重的特征输入LSTM中来进行预测。
详细步骤如下:
步骤1:从澳门旅游客流量数据中获取统计周期内的游客到达量,从而得到初始的时间序列;
步骤2:使用STL分解模型对步骤1中的初始时间序列进行分解,得到3个分解序列;
步骤3:将步骤2中得到季节序列、趋势序列和剩余序列分别作为输入,输入到一个共享的注意力层(Attention层),获得每个序列中不同特征的权重,然后将带有权重的特征作为LSTM的输入。
步骤4:建立LSTM预测模型,设置三个分解序列的训练集和测试集的比例为8:2;分别对步骤2得到的3个分解序列使用相同参数的带有注意力机制的LSTM模型输入训练集进行训练,并分别对它们的测试集进行预测;
步骤5:骤4中得到的3个预测结果进入全连接单元(Dense层);
步骤6:将这3个预测结果相加得到游客达到量的最终预测结果
Figure BDA0003374695410000091
步骤7:输出预测结果
Figure BDA0003374695410000092
上述预测方法还包括如下步骤:
通过最小化真实的游客到达量和预测的游客到达量之间的差值来训练SAL模型。在训练过程中,使用网格搜索对参数进行微调来确定SAL模型的最优参数。在实验中,设定时间步长为12,输入特征的维度为2725。LSTM神经元个数的取值范围为{16,32,64,128,256,512},全连接单元个数取值范围为{8,16,32,128,256}。dropout_rate取值范围为{0.2,0.3,0.5,0.7,0.8},批次取值范围为{2,3,7,11,12,15},迭代测试取值范围为{300,500,700,1000,3000}。
所述步骤2具体包括以下步骤:
步骤21:去趋势。假定Tt k为内循环中第k次迭代结束时的趋势分量,用原始序列Yt减去上一次迭代结果的趋势分量Tt k,即Y′t=Yt-Tt k,当k=0时的初始值Tt 0=0;
步骤22:周期子序列平滑。去趋势序列中的每一个周期子序列都是通过局部加权回归进行平滑,得到一个临时的季节序列,记为
Figure BDA0003374695410000101
步骤23:平滑周期子序列的低通滤波。将一个低通滤波应用于
Figure BDA0003374695410000102
这个滤波器包含一个长度为12的移动平均,一个长度为3的移动平均,然后做局部加权回归,得到结果序列
Figure BDA0003374695410000103
步骤24:去除平滑周期子序列趋势。第(k+1)次迭代季节分量为
Figure BDA0003374695410000104
其中减去
Figure BDA0003374695410000105
目的是防止低频信息进入季节项。
步骤25:去季节项。原始序列Yt通过减掉季节分量
Figure BDA0003374695410000106
得到了一个消除季节化的序列,去季节性序列为
Figure BDA0003374695410000107
步骤26:趋势平滑。在步骤25中获得的去季节性序列Yt″经过局部加权回归平滑处理得到第(k+1)次迭代中趋势分量Tt k+1
步骤27:判断季节分量
Figure BDA0003374695410000108
和趋势分量Tt k+1是否收敛,若收敛输出季节分量
Figure BDA0003374695410000109
和趋势分量Tt k+1,否则返回步骤21。
步骤28:计算剩余分量
Figure BDA00033746954100001010
所述步骤3具体包括以下步骤:
步骤31:将季节序列、趋势序列和剩余序列分别作为输入;
步骤32:输入到一个全连接层(Dense层);
步骤33:然后使用softmax激活函数进行归一化,来获得每个序列中不同特征的权重:
Figure BDA0003374695410000111
其中,W为权重矩阵,b为偏置项。
步骤34:将每个特征乘以相对应的权重,从而获得带有权重的特征:
Figure BDA0003374695410000112
步骤35:输出带有权重的特征作为LSTM的输入。
所述步骤4具体如下:
Figure BDA0003374695410000113
做为输入,LSTM将其编码为隐层状态
Figure BDA0003374695410000114
在时间步长t时,ht为LSTM单元输出门隐层状态,它是由前一隐层状态ht-1,当前单元状态ct和当前输入x′t更新的。更新过程如下:
ft=σ(Wf×x′t+Uf×ht-1+bf)
it=σ(Wi×x′t+Ui×ht-1+bi)
Figure BDA0003374695410000115
Figure BDA0003374695410000116
Ot=σ(Wo×x′t+Uo×ht-1+bo)
ht=Ot×tanh(Ct)
其中,Wf、Uf、Wi、Ui、Wc、Uc、Wo和Uo为权重矩阵,bf、bc、bi和bo为偏置项,tanh为激活函数,×代表逐元素相乘。将最后一步的输出送入到一个线性回归层分别得到季节序列、趋势序列和剩余序列的预测结果。
在旅游需求预测问题中,对时间序列的研究主要依赖于历史旅游数据来预测未来的趋势。时间序列数据可以分解成几个组件,然后分别进行预测。然而,许多分解方法,如小波变换或经验模态分解,需要复杂的推理过程或模糊模态。为了缓解这些问题我们采用季节趋势分解方法(STL),同时将STL与带有Attention机制的LSTM相结合。与以往研究不同的是,他们主要目的是将历史数据分解成3个序列,将每个序列中不同的影响因子看成是同等重要的,而实际上,不同影响因子对序列表示的贡献是不同的,因此为了获得更加准确的序列表示,本文利用Attention机制得到不同影响因子的权重,然后将带有权重的序列作为LSTM的输入,从而获得更加准确的预测结果。
本文基于澳门旅游需求数据集Macau2018对提出的SAL模型的性能进行验证。该数据集包括两个部分:每月游客到达量数据和SII数据。其中SII指的是与澳门旅游业相关的数据,比如,六个主要类别的几个关键字,即餐饮,交通,住宿,旅游,购物和娱乐。如表1给出了一些选定的种子搜索关键字。
表1澳门旅游种子搜索关键词
Figure BDA0003374695410000121
采用walk-forward验证的方法与其他最新的方法进行比较,以评估本文提出的旅游需求预测模型的性能。使用walk-forward验证方法模拟真实世界的预测情景,新的游客到达量数据在月底可用,并用于下个月。在预测过程中,首先将训练数据的时间步长窗口设置为12个月,然后对每个时间步长增加一个月,以预测下一个月。
为了验证所提出的旅游需求预测模型的性能,我们使用了一种Naive方法,支持向量回归(SVR)模型,一个人工神经网络(ANN),一个ARIMA模型和DLM作为基准模型。SAL模型在实验中使用了Trend和Remainder序列,而基准模型使用了原始的游客到达量。基于前n个月的数据
Figure BDA0003374695410000122
来预测下一个月。DLM的输入,第一个维度是训练的总月数,然后是时间步长维度,然后是SII数据与相应月份的旅游到达量创建的因子向量。Naive以12个月前的游客到达量作为
Figure BDA0003374695410000123
的估计。SVR和ANN模型使用过去12个月的数据作为输入,预测
Figure BDA0003374695410000124
其中ANN模型有一个激活函数的隐层,用反向传播算法进行训练。ARIMA使用AR阶(p,q)倍的差分来得到平稳序列和q的MA阶数,训练过去12个月的游客数据,并对未来12个月的游客到达量进行预测序列,并在遍历验证过程中递增。由于SVR和ANN在处理具有大量特征的数据时效率不高,所以采用最大互信息系数(MIC)过滤掉与游客到达量关联较低的特征。
本文选取了三个通用的模型评估指标,均方根误差(RMSE)、平均绝对误差(MAE)、和平均绝对百分比误差(MAPE),来衡量预测性能,公式如下所示:
Figure BDA0003374695410000131
Figure BDA0003374695410000132
Figure BDA0003374695410000133
这些指标中值最低的模型被认为是最佳预测模型。为保证旅游需求预测模型的鲁棒性,我们将所有预测模型进行了5次walk-forward验证,对2013-2017年(5年)的12个月客流量进行了预测。
对于游客到达量的预测,表2、表3和表4总结了使用提出的方法与DLM、SVR、ANN、ARIMA和Naive五种模型在MAPE、MAE和RMSE三种指标上对游客到达量的预测结果的比较。
表2MAPE指标5年预测结果比较
Figure BDA0003374695410000134
从表2分析可知,MAPE指标下,本文提出的SAL预测模型与未采用STL的DLM预测模型预测精度从3.460%降到了1.631%,提升了1.829%。这一结果表明采用STL的DLM预测模型预测性能更佳,更能提高预测精度。与SVR、ANN、ARIMA、Naive相比,预测值从6.268%、13.936%、6.411%、5.231%分别降到了1.631%,预测精度分别提升了4.637%、12.305%、4.780%、3.600%。因此,本文提出的SAL预测模型在MAPE指标下与五种预测模型相比,预测性能最佳。
表3MAE指标5年预测结果比较
Figure BDA0003374695410000141
根据表3展示的预测结果可知,在MAE指标下,显然本文提出的SAL预测模型与未采用的预测模型相比均值较好,与其他对比模型相比其预测结果也是最好的。这反映出SAL模型预测性能更佳。所以,SAL预测模型在MAE指标下证明了其预测的准确性。
表4RMSE指标5年预测结果比较
Figure BDA0003374695410000142
从表4展示的RMSE指标5年预测结果比较可以发现SAL模型的均值最小,其次是DLM模型的均值。其中Naive的均值与DLM均值相近,说明了DLM预测结果与开始的Naive模型相比预测性能提高较少。而SAL预测模型与Naive均值差更大,这说明SAL模型可以很好的提高预测准确性。其中模型均值最大,说明了在RMSE指标下,ANN模型预测性能最差。与其他对比模型相比,SAL模型的均值最小,这反映了其预测性能最好。
上述实验结果表明,与其他五种预测模型相比,本文提出的SAL模型在MAPE、MAE和RMSE三种指标下预测精度上具有明显的优势。此外,SAL模型有效缓解了旅游需求预测中的过拟合问题,比其他模型产生了更低的平均误差率。
综上所述,本文提出了一个新的旅游需求预测模型SAL,利用STL分解方法来解决由于数据量有限而引起的过拟合问题缓解了数据过拟合,提高旅游了需求预测的准确性。新的预测模型通过与DLM、SVR、ANN、ARIMA和Naive等模型的比较,验证了新模型的鲁棒性,证实了在旅游需求预测上其性能更佳。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,其特征在于,包括下述步骤:
步骤1:从旅游客流量数据中获取统计周期内的游客到达量,从而得到初始的时间序列;
步骤2:使用STL分解模型对步骤1中的初始时间序列进行分解,得到3个分解序列;
步骤3:将步骤2中得到季节序列、趋势序列和剩余序列分别作为输入,输入到一个共享的注意力层,获得每个序列中不同特征的权重,然后将带有权重的特征作为LSTM的输入;
步骤4:建立LSTM预测模型,设置三个分解序列的训练集和测试集的比例为8:2;分别对步骤2得到的3个分解序列使用相同参数的带有注意力机制的LSTM模型输入训练集进行训练,并分别对它们的测试集进行预测;
步骤5:步骤4中得到的3个预测结果进入全连接单元;
步骤6:将这3个预测结果相加得到游客达到量的最终预测结果
Figure FDA0003374695400000011
步骤7:输出预测结果
Figure FDA0003374695400000012
2.如权利要求1所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,其特征在于,还包括如下步骤:
通过最小化真实的游客到达量和预测的游客到达量之间的差值来训练SAL模型,SAL模型包括了STL分解模型和带有注意力机制的LSTM模型,在训练过程中,使用网格搜索对参数进行微调来确定SAL模型的最优参数,在实验中,设定时间步长为12,输入特征的维度为2725,LSTM神经元个数的取值范围为{16,32,64,128,256,512},全连接单元个数取值范围为{8,16,32,128,256},dropout_rate取值范围为{0.2,0.3,0.5,0.7,0.8},批次取值范围为{2,3,7,11,12,15},迭代测试取值范围为{300,500,700,1000,3000}。
3.如权利要求1所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,其特征在于,所述步骤2具体包括以下步骤:
步骤21:去趋势,假定Tt k为内循环中第k次迭代结束时的趋势分量,用原始序列Yt减去上一次迭代结果的趋势分量Tt k,即Yt′=Yt-Tt k,当k=0时的初始值Tt 0=0;
步骤22:周期子序列平滑,去趋势序列中的每一个周期子序列都是通过局部加权回归进行平滑,得到一个临时的季节序列,记为
Figure FDA0003374695400000021
步骤23:平滑周期子序列的低通滤波,将一个低通滤波应用于
Figure FDA0003374695400000022
这个滤波器包含一个长度为12的移动平均,一个长度为3的移动平均,然后做局部加权回归,得到结果序列
Figure FDA0003374695400000023
步骤24:去除平滑周期子序列趋势,第(k+1)次迭代季节分量为
Figure FDA0003374695400000024
其中减去
Figure FDA0003374695400000025
目的是防止低频信息进入季节项;
步骤25:去季节项,原始序列Yt通过减掉季节分量
Figure FDA0003374695400000026
得到了一个消除季节化的序列,去季节性序列为
Figure FDA0003374695400000027
步骤26:趋势平滑,在步骤25中获得的去季节性序列Yt″经过局部加权回归平滑处理得到第(k+1)次迭代中趋势分量Tt k+1
步骤27:判断季节分量
Figure FDA0003374695400000029
和趋势分量Tt k+1是否收敛,若收敛输出季节分量
Figure FDA00033746954000000211
和趋势分量Tt k+1,否则返回步骤21;
步骤28:计算剩余分量
Figure FDA00033746954000000213
4.如权利要求1所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,其特征在于,所述步骤3具体包括以下步骤:
步骤31:将季节序列、趋势序列和剩余序列分别作为输入;
步骤32:输入到一个全连接层;
步骤33:然后使用softmax激活函数进行归一化,来获得每个序列中不同特征的权重:
Figure FDA00033746954000000214
其中,W为权重矩阵,b为偏置项;
步骤34:将每个特征乘以相对应的权重,从而获得带有权重的特征:
Figure FDA00033746954000000215
步骤35:输出带有权重的特征作为LSTM的输入。
5.如权利要求1所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,其特征在于,所述步骤4具体如下:
Figure FDA0003374695400000031
做为输入,LSTM将其编码为隐层状态
Figure FDA0003374695400000032
在时间步长t时,ht为LSTM单元输出门隐层状态,它是由前一隐层状态ht-1,当前单元状态ct和当前输入xt′更新的,更新过程如下:
ft=σ(Wf×x′t+Uf×ht-1+bf)
it=σ(Wi×x′t+Ui×ht-1+bi)
Figure FDA0003374695400000033
Figure FDA0003374695400000034
Ot=σ(Wo×x′t+Uo×ht-1+bo)
ht=Ot×tanh(Ct)
其中,Wf、Uf、Wi、Ui、Wc、Uc、Wo和Uo为权重矩阵,bf、bc、bi和bo为偏置项,tanh为激活函数,×代表逐元素相乘,将最后一步的输出送入到一个线性回归层分别得到季节序列、趋势序列和剩余序列的预测结果。
6.一种基于STL和带有注意力机制的LSTM的旅游需求预测装置,其特征在于,包括如下模块:
初始的时间序列获得模块:用来从旅游客流量数据中获取统计周期内的游客到达量,从而得到初始的时间序列;
时间序列分解模块:用来使用STL分解模型对步骤1中的初始时间序列进行分解,得到3个分解序列;
注意力层模块:将时间序列分解模块输出的季节序列、趋势序列和剩余序列分别作为输入,输入到一个共享的注意力层,获得每个序列中不同特征的权重,然后将带有权重的特征作为LSTM预测模型的输入;
LSTM预测模型训练模块:设置三个分解序列的训练集和测试集的比例为8:2;分别对时间序列分解模块输出的3个分解序列使用相同参数的带有注意力机制的LSTM模型输入训练集进行训练,并分别对它们的测试集进行预测;
全连接单元进入模块:3个预测结果进入全连接单元;
相加模块:将这3个预测结果相加得到游客达到量的最终预测结果
Figure FDA0003374695400000041
输出模块:输出预测结果
Figure FDA0003374695400000042
7.如权利要求6所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测装置,其特征在于,还包括如下模块:
训练模块,用来通过最小化真实的游客到达量和预测的游客到达量之间的差值来训练SAL模型,SAL模型包括了STL分解模型和带有注意力机制的LSTM模型,在训练过程中,使用网格搜索对参数进行微调来确定SAL模型的最优参数,在实验中,设定时间步长为12,输入特征的维度为2725,LSTM神经元个数的取值范围为{16,32,64,128,256,512},全连接单元个数取值范围为{8,16,32,128,256},dropout_rate取值范围为{0.2,0.3,0.5,0.7,0.8},批次取值范围为{2,3,7,11,12,15},迭代测试取值范围为{300,500,700,1000,3000}。
8.如权利要求6所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测装置,其特征在于,所述时间序列分解模块具体包括:
去趋势单元:假定Tt k为内循环中第k次迭代结束时的趋势分量,用原始序列Yt减去上一次迭代结果的趋势分量Tt k,即Yt′=Yt-Tt k,当k=0时的初始值Tt 0=0;
周期子序列平滑单元:去趋势序列中的每一个周期子序列都是通过局部加权回归进行平滑,得到一个临时的季节序列,记为
Figure FDA0003374695400000047
平滑周期子序列的低通滤波单元:将一个低通滤波应用于
Figure FDA0003374695400000048
这个滤波器包含一个长度为12的移动平均,一个长度为3的移动平均,然后做局部加权回归,得到结果序列
Figure FDA0003374695400000049
去除平滑周期子序列趋势单元:第(k+1)次迭代季节分量为
Figure FDA00033746954000000410
其中减去
Figure FDA00033746954000000411
去季节项单元:原始序列Yt通过减掉季节分量
Figure FDA00033746954000000412
得到了一个消除季节化的序列,去季节性序列为
Figure FDA00033746954000000413
趋势平滑单元:在去季节项单元中获得的去季节性序列Yt″经过局部加权回归平滑处理得到第(k+1)次迭代中趋势分量Tt k+1
收敛判断单元:判断季节分量
Figure FDA0003374695400000052
和趋势分量Tt k+1是否收敛,若收敛输出季节分量
Figure FDA0003374695400000054
和趋势分量Tt k+1,否则返回去趋势单元;
剩余分量计算单元:计算剩余分量
Figure FDA0003374695400000056
9.如权利要求6所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,其特征在于,所述注意力层模块具体包括:
输入单元:将季节序列、趋势序列和剩余序列分别作为输入;
全连接层单元:输入到一个全连接层;
归一化单元:然后使用softmax激活函数进行归一化,来获得每个序列中不同特征的权重:
Figure FDA0003374695400000057
其中,W为权重矩阵,b为偏置项;
特征获取单元:将每个特征乘以相对应的权重,从而获得带有权重的特征:
Figure FDA0003374695400000058
特征输出单元:输出带有权重的特征作为LSTM预测模型训练模块的输入。
10.如权利要求6所述的一种基于STL和带有注意力机制的LSTM的旅游需求预测方法,其特征在于,所述LSTM预测模型训练模块具体执行如下方法:
Figure FDA0003374695400000059
做为输入,LSTM将其编码为隐层状态
Figure FDA00033746954000000510
在时间步长t时,ht为LSTM单元输出门隐层状态,它是由前一隐层状态ht-1,当前单元状态ct和当前输入xt′更新的,更新过程如下:
ft=σ(Wf×x′t+Uf×ht-1+bf)
it=σ(Wi×x′t+Ui×ht-1+bi)
Figure FDA00033746954000000511
Figure FDA00033746954000000512
Ot=σ(Wo×x′t+Uo×ht-1+bo)
ht=Ot×tanh(Ct)
其中,Wf、Uf、Wi、Ui、Wc、Uc、Wo和Uo为权重矩阵,bf、bc、bi和bo为偏置项,tanh为激活函数,×代表逐元素相乘,将最后一步的输出送入到一个线性回归层分别得到季节序列、趋势序列和剩余序列的预测结果。
CN202111414339.2A 2021-11-25 2021-11-25 基于stl和带有注意力机制的lstm的旅游需求预测方法 Pending CN114091768A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111414339.2A CN114091768A (zh) 2021-11-25 2021-11-25 基于stl和带有注意力机制的lstm的旅游需求预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111414339.2A CN114091768A (zh) 2021-11-25 2021-11-25 基于stl和带有注意力机制的lstm的旅游需求预测方法

Publications (1)

Publication Number Publication Date
CN114091768A true CN114091768A (zh) 2022-02-25

Family

ID=80304886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111414339.2A Pending CN114091768A (zh) 2021-11-25 2021-11-25 基于stl和带有注意力机制的lstm的旅游需求预测方法

Country Status (1)

Country Link
CN (1) CN114091768A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118511A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 异常流量识别方法、装置、电子设备及存储介质
CN116756529A (zh) * 2023-08-21 2023-09-15 莒南凯佳化工有限公司 一种吊白块生产设备运行状态检测系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118511A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 异常流量识别方法、装置、电子设备及存储介质
CN116756529A (zh) * 2023-08-21 2023-09-15 莒南凯佳化工有限公司 一种吊白块生产设备运行状态检测系统
CN116756529B (zh) * 2023-08-21 2023-10-20 莒南凯佳化工有限公司 一种吊白块生产设备运行状态检测系统

Similar Documents

Publication Publication Date Title
CN108829763B (zh) 一种基于深度神经网络的影评网站用户的属性预测方法
CN111563706A (zh) 一种基于lstm网络的多变量物流货运量预测方法
CN110070229A (zh) 家庭电力负荷的短期预测方法
CN114091768A (zh) 基于stl和带有注意力机制的lstm的旅游需求预测方法
Li et al. Stock index prediction based on wavelet transform and FCD‐MLGRU
Singh et al. Integrated forecasting using the discrete wavelet theory and artificial intelligence techniques to reduce the bullwhip effect in a supply chain
CN110909928B (zh) 能源负荷短期预测方法、装置、计算机设备及存储介质
CN111275479B (zh) 一种人流量预测方法、装置及系统
Peebles et al. Learning to learn with generative models of neural network checkpoints
CN111222992A (zh) 一种基于注意力机制的长短期记忆神经网络的股票价格预测方法
Kulshreshtha An ARIMA-LSTM Hybrid Model for Stock Market Prediction Using Live Data.
CN111210089A (zh) 基于kalman滤波的门控循环单元神经网络的股票价格预测方法
CN114862032B (zh) 一种基于XGBoost-LSTM的电网负荷预测方法及装置
Lu Research on GDP forecast analysis combining BP neural network and ARIMA model
CN115034430A (zh) 碳排放量预测方法、装置、终端及存储介质
Yang et al. An ensemble prediction system based on artificial neural networks and deep learning methods for deterministic and probabilistic carbon price forecasting
CN113836823A (zh) 一种基于负荷分解和优化双向长短期记忆网络的负荷组合预测方法
CN117389824A (zh) 一种基于信号分解和混合模型的云服务器负载预测方法
CN115034473A (zh) 一种电价预测方法、系统及装置
Yang et al. A prediction model of aquaculture water quality based on multiscale decomposition
CN107704944B (zh) 一种基于信息论学习的股市波动区间预测模型的构建方法
CN115249081A (zh) 一种对象类型的预测方法、装置、计算机设备和存储介质
CN112991088A (zh) 一种基于vmd-anfis-arima的月度电力需求预测方法
CN112819256A (zh) 一种基于注意力机制的卷积时序房价预测方法
Xiao et al. Predict stock prices with ARIMA and LSTM

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination