王雷雪
(西安石油大學 計算機學院, 西安710065)
隨著時代的發(fā)展,旅游業(yè)已經(jīng)成為當今世界重要的經(jīng)濟產(chǎn)業(yè),旅游已經(jīng)成為現(xiàn)代人日常生活中不可缺少的組成部分。 許多旅游和酒店產(chǎn)品無法儲存起來供未來使用,例如空置的酒店房間、未售出的活動門票和未被消費的商品。 準確的旅游需求量預測可以幫助制定與旅游發(fā)展相關的策略,以便在基礎設施開發(fā)和住宿場地規(guī)劃等問題上做出明智的決策。 因此,準確的旅游需求預測對旅游經(jīng)濟的發(fā)展是至關重要的。
以往針對旅游需求預測問題,多數(shù)采用時間序列和計量經(jīng)濟學模型[1]。 這類方法本質(zhì)上是一種線性建模方法,沒有考慮旅游需求量的周期性變化特點,局限性很明顯。 2006 年,PF Pai 等人[2]提出了將支持向量模型(SVR)用于旅游預測中,SVR 是一種小樣本預測問題的建模,具有神經(jīng)網(wǎng)絡的良好預測性能,同時能克服過擬合的不足。 張峰等人[3]提出將BP 神經(jīng)網(wǎng)絡應用到旅游預測中。 BP 神經(jīng)網(wǎng)絡采用多層誤差逆?zhèn)鞑サ挠柧毸惴?有較好的準確性及魯棒性。 LSTM 是一種特殊的RNN 網(wǎng)絡,由Hochreiter & Schmidhuber[4]引入,可以成功地訓練架構比較復雜的深度學習模型,2018 年,YiFei Li 等人[5]首次將LSTM 神經(jīng)網(wǎng)絡應用于旅游預測中。2019 年,Rob Law 等人[6]提出了一種基于LSTM 和注意機制的旅游預測模型,驗證了深度學習在旅游預測中的能力。
支持向量機(SVM)由Vapnik[7]針對分類問題提出,通過找到一個分類平面,將數(shù)據(jù)分隔在平面兩側,從而達到分類的目的。 如圖1 所示,一個點距離超平面的遠近可以表示為分類預測的準確程度,SVM 就是要最大化這個間隔值,在虛線上的點便叫做支持向量Supprot Verctor。
SVR 全稱support vector regression,是SVM 對回歸問題的一種應用,Drucker H[8]等人首次用SVR來解決非線性回歸預測。 對于非線性模型,SVR 與SVM 一樣使用核函數(shù)(kernel function)映射到特征空間,再進行回歸。
BP(back propagation)神經(jīng)網(wǎng)絡 由Rumelhart 和McClelland 等人[9]提出,訓練原理是多層誤差逆?zhèn)鬟f,是深層次的,上層神經(jīng)元與下層神經(jīng)元完全連接。 當向BP 神經(jīng)網(wǎng)絡提供學習樣本時,樣本從輸入層通過中間層傳播到輸出層,輸出層的神經(jīng)元可以得到神經(jīng)網(wǎng)絡的輸入響應,連接權值沿著減少預測輸出和實際輸出之間的誤差方向不斷調(diào)整,也就是說,連接權值不斷從輸出層調(diào)整到每個中間層,最終調(diào)整到輸入層。 隨著反向傳播的不斷修正,誤差不斷減小,從而得到最優(yōu)訓練模型。 BP 算法有明確的學習規(guī)則,具有識別非線性模式的能力,適用于計算方法清晰,步驟明確的學習。 只含有一個隱含層的BP 網(wǎng)絡稱為三層BP 神經(jīng)網(wǎng)絡,如圖2 所示。
圖1 SVM 算法原理圖Fig. 1 SVM Algorithm schematic
圖2 BP 神經(jīng)網(wǎng)絡結構圖Fig. 2 BP Neural network structure diagram
BP 神經(jīng)網(wǎng)絡有以下局限性:
(1)BP 算法優(yōu)化的本質(zhì)原理是梯度下降,由于優(yōu)化函數(shù)過于復雜使得學習算法收斂速度較慢。
(2)某些問題的本質(zhì)是非線性優(yōu)化,不可避免的存在局部極值,不能得到問題的最佳解。
(3)選擇隱層神經(jīng)元的數(shù)量沒有嚴格的理論依據(jù),基于經(jīng)驗的選擇使得算法很難得到最優(yōu)解。
(4)BP 算法要求每個樣本的特征數(shù)相同。
RNN(Recurrent Neural Network)是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡。 序列數(shù)據(jù)的特點是前后數(shù)據(jù)有關聯(lián)。 RNN 的工作原理是在處理數(shù)據(jù)時有選擇地跨時間步長傳遞信息,這一特性對于旅游需求預測應用非常重要。 圖3 為RNN 結構。
圖3 RNN 結構圖Fig. 3 RNN structure
如圖3 所示,RNN 的輸入和輸出是時間序列數(shù)據(jù),也可以是單個數(shù)據(jù)點,RNN 將其記憶保存在固定大小的隱層神經(jīng)元中,隱層神經(jīng)元負責捕獲所有之前處理過的信息。 通過網(wǎng)絡中的反饋回路,根據(jù)當前的輸入和前一隱含層神經(jīng)元的狀態(tài),生成神經(jīng)元的輸出。 RNN 可以循環(huán)對元素序列之間的依賴關系進行建模。 由于RNN 梯度消失,只能有短期記憶,由此引入了LSTM(long short-term memory),其實是RNN 的一種特殊變體,可以學習長期依賴信息,見圖4LSTM 結構[11]。
圖4 LSTM 結構圖Fig. 4 LSTM structure
LSTM 核心思想是在每個時間步長中,使用三個門來控制序列信息,從而精準地捕獲任何遠程依賴,以時間序列作為輸入,LSTM 將其編碼成一個隱藏狀態(tài)序列y,在每一個時間步長T 中,隱藏狀態(tài)ht在同一時刻被xt更新,隱藏層的前一個狀態(tài)為ht-1,輸入門it,忘記門ft,輸出門ot及一個存儲單元ct,關系方程如公式(1)~(5)所示:
其中σ 和tanh 是激活函數(shù),是矩陣元素對應相乘(element-wise multiplication),w 和b 是在模型中訓練學習的參數(shù)。用=來預測線性回歸層的輸出,wr為線性回歸層的權重。
旅游需求預測研究大致分為定性和定量兩類方法。 其中,定性的方法,如Delphi 預測方法和共識法[13],往往依賴于對特定旅游市場的直覺、經(jīng)驗及洞察力,這些方法是藝術性的,泛化能力較差。 定量方法是根據(jù)旅游要素及客流量來構建模型,預測未來的旅游量。 定量方法通常使用兩種策略來提高模型精準度。 第一種策略是納入更多可能影響旅客旅游動機的相關因素,第二種策略是采用更復雜的模型。
構建模型主要依賴輸入因素,根據(jù)輸入特征直接或間接反映旅游需求,將旅游相關因素分為決定因素和其他因素。 決定因素又分為定性經(jīng)濟因素和定量經(jīng)濟因素,因為定性經(jīng)濟因素如收入、廣告等難以量化,所以預測模型多采用定量經(jīng)濟因素。 旅游需求是由經(jīng)濟理論中的決定因素決定的,為了提高預測精度,一些被認為是次要因素的指標也被納入模型中[14]。 隨著網(wǎng)絡技術的發(fā)展,多數(shù)游客通過搜索引擎查找旅游相關的信息,來選擇目的地,預定機票、住宿、景點門票等。 SII(Search Intensity Indices)數(shù)據(jù)被認為是旅游數(shù)據(jù)的有效指標[15-16],被引入到各種旅游預測模型中[6,17]。
旅游預測目前有兩大難點,第一是模型數(shù)據(jù)的有效選擇及處理,例如在SII 數(shù)據(jù)中有大量特征的搜索強度較1 小。 旅游預測模型使用歷史時間序列來預測未來一段時間的狀況。 然而,這些模型不具備從復雜時間序列中自動提取潛在特征的能力。 第二是時間序列數(shù)據(jù)可能具有不平穩(wěn)性,會導致旅游預測不準確。
綜合探討三種旅游需求預測算法的起源及原理,三種算法的對比如表1 所示。 BP 神經(jīng)網(wǎng)絡屬于ANN(人工神經(jīng)網(wǎng)絡)。 SVR 適用于小數(shù)據(jù)集,是基于現(xiàn)有信息下的目標最優(yōu)解,在逼近小樣本非線性預測問題方面具有獨特的優(yōu)勢,但是由于其參數(shù)設置的自由性,其應用比較有限。 在處理旅游預測問題時,使用核函數(shù)代替在高維空間中計算,克服維數(shù)災難問題,加快了訓練速度。 LSTM 是基于RNN 的模型,RNN 理論可以記憶任意長的序列,但由于梯度消失并不能處理長序列問題,所以引進了LSTM。LSTM 由于cell state 的傳遞解決了梯度消失問題,可以處理長序列,但是不能解決超長序列問題。
表1 三種需求預測模型對比Tab. 1 Comparison of three demand forecasting models
隨著經(jīng)濟全球化和社會的不斷發(fā)展,旅游業(yè)是經(jīng)濟增長,外匯收入和創(chuàng)造就業(yè)機會的重要來源。準確的旅游預測為旅游從業(yè)者和研究人員提供了重要的信息,幫助他們就旅游相關活動做出決策,確定潛在風險,因此準確的旅游預測有著重要的意義。論文綜合探討了SVR,BP 神經(jīng)網(wǎng)絡,LSTM 這3 個模型的基本原理,對比了3 個模型的性能,同時對旅游需求量預測研究中的實際難點進行了分析。 人工智能方法雖然在旅游預測中取得了較好的預測效果,但其研究和應用還有待進一步發(fā)展。