謝 彤,梁玥琳
(中國地質大學(武漢),湖北 武漢 430078)
旅游業因具有帶動性、關聯性的特點,對經濟發展起著重要的促進作用,但同時也存在明顯的時空和政策特性。其中,時空特性是指隨著季節、假期及氣候等變化,旅游規模也會發生相應改變。政策特性則是指受疫情、燃油價格與行業收入等不可抗力因素的影響,進而導致旅游行業發生的變化。而根據相關因素對旅游業客流量[1-2]進行預測,對于行業整體的基礎設施建設、服務質量等均具有關鍵的導向作用。
目前,常用的旅游客流量分析預測方式為傳統的統計學方法,例如BP(Back Propagation)神經網絡、支持向量機(Support Vector Machine,SVM)等。然而這類算法難以收斂且計算量較大,無法對數據的隱藏特性進行準確分析。同時,大多數旅游點均采用人力觀測以及歷史預測的方式,所得結果與真實客流量數據仍存在一定的差距。因此,設計一種準確率高、實時性強的客流量分析及預測算法具有重要意義。
旅游業的客流量及需求量預測是通過分析影響該行業的多種復雜因素數據所得結果來實現的。而相關數據具有顯著的時空特性,因此文中使用長短時記憶網絡(Long Short Term Memory network,LSTM)模型[3-6]對復雜因素數據進行分析。
LSTM 模型由循環卷積網絡(Recurrent Neural Network,RNN)發展而來,基礎RNN 網絡結構如圖1所示。

圖1 RNN網絡結構
由圖1 可知,RNN 使用tanh 作為激活函數,同時進行多次同狀態的內部循環運算。而LSTM 對RNN基礎結構進行改進,由一個狀態轉變為四個狀態,且每個狀態的傳輸路徑均可選擇丟棄或保留信息。LSTM 的四個狀態單元為:輸入門、遺忘門、輸出門以及狀態門。該網絡的具體結構如圖2 所示。

圖2 LSTM網絡結構
LSTM 網絡的運算首先由遺忘門對數據進行狀態選擇,再從輸入門輸入并經過遺忘門。遺忘門的輸出為0~1 的隨機數,其中0 表示全部丟棄,1 表示全部保留。遺忘門輸出函數為:
式中,wf為遺忘門權重;ht-1為上一時刻遺忘門的狀態;xt為t時刻的輸入數據;bf為遺忘門偏置量;σ為激活函數。然后在狀態門中存儲信息,同時使用ReLU 激活函數對狀態進行輸出。輸入門的輸出可表示如下:
式中,wi為輸入門權重;bi為輸入門偏置值。神經元在t時刻的狀態為:
式中,wc為狀態權重;bc為狀態偏置值。更新完短期狀態后再進行長期狀態更新,且該更新由遺忘門和輸入門的輸出加權決定,則有:
式中,Ct-1為t-1 時刻的長期狀態,*為卷積計算。
最終的輸出結果及輸出狀態表達式如下:
其中,wo和bo分別為輸出門的權重與偏置值。
LSTM 的預測結果較為準確,但運算速度偏慢。因此為了提升算法的運算速度,將LSTM 進行簡化得到堆棧式長短期記憶(Stack Long Short Term Memory,SLSTM)網絡模型,其將遺忘門、輸入與輸出門整合為重置門rt及更新門zt。SLSTM 網絡結構如圖3所示。

圖3 SLSTM網絡結構
SLSTM 結構中的重置門可對狀態信息的丟棄數量進行選擇,而更新門則能夠決定相鄰時間需要傳遞的信息數據。
雖然SLSTM 結構可以對數據進行準確訓練,但該算法在挖掘數據隱藏特征時易出現不收斂以及訓練時間過長的問題。因此,文中使用改進自編碼器(Autoencoder,AE)[7-10]對數據關聯性進行訓練。
自編碼器由三個部分組成:輸入層、隱藏層與輸出層,其結構如圖4 所示。

圖4 自編碼器結構
自編碼器包括壓縮和解壓縮兩個部分,其中,壓縮負責將輸入數據進行特征壓縮,并由隱藏層對特征加以訓練;之后解壓縮會將壓縮的數據進行解壓,再輸入至后續模型中。設輸入數據為xi,i=1,2,…,N,則壓縮和解壓縮的過程可以表示為:
其中,w1與w2分別為隱藏層、輸出層的權值,b1、b2為隱藏層和輸出層的偏置值,f和g為壓縮及解壓縮函數,hx表示隱藏層的特征向量。該文搭建的AE-SLSTM 算法結構如圖5 所示。

圖5 AE-SLSTM算法結構
在數據訓練過程中,每個因素對目標輸出的影響因子均不一致,權重較小的因素對于最終輸出結果的貢獻偏低,且重要信息權重也無法提升。因此,該文使用多頭注意力機制(Multi-Head Attention,MultiATT)[11-14]對數據權重進行分析。
注意力機制表達式如下:
其中,Q和K為輸入數據;d為特征維度;V是特征維度數據。再根據Softmax 函數[15-16]得到各項數據的權重值。
根據基礎注意力機制,可將其改進為多頭注意力機制,即將多個注意力結果進行合并,以增加數據的特征數量,進而提升特征的種類及數量。多頭注意力機制的表達式如下:
式中,h為注意力機制的總數量;W0是權值矩陣。通過對多個注意力機制進行拼接得到最終的結果。每個head 均可表示為:
式中,Wi表示第i個輸入權值矩陣。多頭注意力機制結構如圖6 所示。

圖6 多頭注意力機制結構
針對基礎LSTM 存在的收斂速度慢、數據關聯分析能力差的問題,文中對LSTM 模型進行改進,并提出了一種新的旅游客流量數據分析預測算法。所提算法的執行流程圖如圖7 所示。

圖7 算法執行流程圖
如圖7 所示,該文算法分為數據輸入模塊、數據訓練模塊以及權重輸出模塊。首先,將SLSTM 構建為自編碼器的壓縮層和解壓縮層;然后輸入經自編碼器網絡得到的特征數據,并在SLSTM 算法中進行訓練;再使用多頭注意力機制進行特征融合且輸出特征,進而得到最終的預測結果。
該文使用的數據為某熱帶地區旅游局統計的2015-2021 年旅游到達客流量。為了更好地進行對比,將客流量分為國內及國外到達。與旅游相關的影響因素則采集于爬蟲數據,其類別如表1 所示。

表1 旅游影響因素
數據分為訓練集和驗證集,其中前者選擇2015-2020 年的數據,而后者選擇2021 年的數據。實驗運行的硬件環境如表2 所示。

表2 實驗環境
為了對算法性能進行評估,該文使用均方根誤差(RMSE)與運行時間(包括迭代與數據訓練時間)作為性能評價指標。同時,還選擇了LSTM、AELSTM、CNN、CNN-AE、DenseNET 算法與該文算法進行對比。測試結果如表3 所示。

表3 不同算法的性能測試結果
從表3 中可以看出,由于該文算法加入了AE 模型及多頭自注意力機制,該算法在所有對比算法中的RMSE 誤差也為最小,因此與其他算法相比精度有了一定的提升。此外,相較原始LSTM 算法,所提算法的運行時間縮短了約5 min,由此證明,該文算法在誤差不變的情況下具備更優的效率。
除了驗證性能外,文中還對模型的預測誤差進行了直觀測試。該文使用部分對比算法對2021 年度的旅客數量預測誤差進行估計,對比結果如表4所示。

表4 預測誤差結果
由表4 可知,該文算法的平均實際客流量預測誤差最低。這表明所提算法的預測性能良好,可應用于實際地區客流量預測系統中,且具有一定的工程實用價值。
傳統的旅游業客流量估算方式使用統計學方法,預測精度較差,且難以對數據的隱藏特性進行準確分析。因此,文中提出了一種基于改進LSTM 模型的客流量估算方法。其針對LSTM 收斂速度慢的問題,對算法進行了輕量化改進。同時為發掘數據關聯特性,使用自編碼器對輸入數據進行特征訓練,采用多頭注意力特征對數據權重實現排序分配。該算法的預測精度及運行效率均較為理想,達到了預期的設計目標。