韓娟,潘文佳
(西安職業(yè)技術(shù)學院,陜西 西安 710077)
旅游業(yè)的高速發(fā)展造成了人流的過度聚集,產(chǎn)生了一定的安全隱患。因此,各個景區(qū)均需準確地監(jiān)控人流密度的變化,合理調(diào)度、引導人流流向,提升游客的旅游體驗[1-5]。景區(qū)人流密度的預測本質(zhì)是一個時間序列處理問題,將不同時刻的人流數(shù)值以時間維度劃分先后并進行排列,即可生成時間序列。在數(shù)學上,為了準確描繪時間序列的變化趨勢,通常需要引入隨機過程理論和相關(guān)的統(tǒng)計學方法,從而找到歷史數(shù)據(jù)的變化規(guī)律,預測序列的變化。因此,對于時間序列的處理既需要準確把控其歷史變化規(guī)律,也需要根據(jù)這一規(guī)律選擇合適的預測方法。傳統(tǒng)的時間序列處理方法有自回歸移動平均模型(ARIMA)和灰度理論模型(GM)。文中將這些方法進行集成,同時利用該方法的殘差進行徑向基函數(shù)(RBF)網(wǎng)絡訓練,優(yōu)化了人流密度的預測精度[6-8]。
近年來,人工神經(jīng)網(wǎng)絡成為了機器學習領域內(nèi)最常用的算法之一。人工神經(jīng)網(wǎng)絡由互相連接的神經(jīng)元組成,每個神經(jīng)元接收上一層神經(jīng)元發(fā)送的信息,并通過非線性變換傳送收到的信息,神經(jīng)網(wǎng)絡可以通過訓練逼近復雜的映射關(guān)系,在模式識別、函數(shù)逼近、分類預測上具有廣泛的應用[9-14]。
徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡是一種特殊的網(wǎng)絡結(jié)構(gòu),其借助RBF進行神經(jīng)元信息處理,對于非連續(xù)的非線性變化具有更優(yōu)的逼近效果。RBF神經(jīng)網(wǎng)絡的結(jié)構(gòu)如圖1所示。
圖1 RBF神經(jīng)網(wǎng)絡結(jié)構(gòu)
從圖1可以看出,RBF神經(jīng)網(wǎng)絡由輸入層xi、隱藏層ri、輸出層yi組成。RBF網(wǎng)絡的隱藏層采用徑向基函數(shù)作為非線性變換函數(shù),即:
其中,j=1,2,…,s,φ()為該網(wǎng)絡使用的徑向基函數(shù),常用的函數(shù)類型有高斯函數(shù)、多二次函數(shù)等。對于徑向基函數(shù),其主要參數(shù)有函數(shù)中心cj、半徑rj和隱藏層權(quán)值wj。在輸出層,RBF網(wǎng)絡通過線性變換獲得輸出:
文中在確定函數(shù)中心時,使用k-均值法,即:
其中,nk是參與訓練或測試的樣本總數(shù)。當類中心的變化小于預設的常數(shù)時,聚類停止。
在確定基函數(shù)半徑時,文中選擇固定的函數(shù)半徑。其確定方法如下:
其中,dmax是確定的函數(shù)中心間的最大距離,s是網(wǎng)絡中的隱藏節(jié)點。RBF網(wǎng)絡權(quán)值的確定也可以基于梯度下降法進行誤差的反向傳播,與傳統(tǒng)神網(wǎng)絡中的算法一致[15-16]。
從數(shù)學上看,人流密度的預測可以歸類為時間序列的處理,因此還需引入時間序列處理模型。為了提升模型的預測精度,文中將經(jīng)典的差分自回歸移動平均模型(ARIMA)和灰色生成模型(GM)進行了集成,接下來分別對兩種模型進行介紹。
1.2.1 ARIMA模型
ARIMA模型由AR(p)、MA(q)、ARMA(p,q)3個子部分構(gòu)成,其中p為自回歸項,q為移動平均數(shù),ARMA是對自回歸和移動平均的集合。將ARMA差分后,可以得到ARIMA,該模型可準確描繪時間序列的變化。當一個平穩(wěn)時間序列Xt滿足式(4)時,可以建立AR(p)模型:
其中,φd為AR()模型的階數(shù),εt是白噪聲。當式(5)對于任意的s 當一個平穩(wěn)時間序列Xt滿足式(5)時,可以建立MA(q)模型: 其中,θd為MA()模型的階數(shù),εt是白噪聲。當式(6)對于任意的s 將AR(p)與MA(q)結(jié)合,當滿足式(6)時,可以得到ARMA(p,q)模型: 將ARMA(p,q)進行d階差分,即可得到ARIMA(p,q,d)模型。ARIMA模型建模流程如圖2所示。 圖2 ARIMA模型建模流程 1.2.2 GM模型 除了ARIMA模型外,灰色預測(GM)算法也是一種常見的時間序列處理方法,GM模型的實現(xiàn)基于微分方程的求解。在建立模型時,需要對時間序列數(shù)據(jù)進行預處理,獲得生成列。通過累加、累減、均值、級比等多種方式生成灰色序列算子,對于原始序列: 其多次累加后的序列為: 其中,m是累加的次數(shù),可以根據(jù)時間序列的規(guī)律性確定累加的次數(shù)。累減與累加互為逆運算,一階累減的計算方法為: 均值生成有兩種:鄰均值和非鄰均值,前者主要用于等時距的時間序列。在景區(qū)的人流序列上,由于數(shù)據(jù)的缺失,無法滿足該條件。因此文中主要使用非鄰均值生成,對于原始數(shù)據(jù): 其非鄰均值生成的結(jié)果為: 由于景區(qū)的人流數(shù)據(jù)通常存在端點上的缺失,此時需要引入級比生成進行空穴的填補。對于式(8)給出的原始序列,其級比生成的結(jié)果如下: GM模型建模流程如圖3所示。 圖3 GM模型建模流程 ARIMA和GM算法均可以用于時間序列的分析與預測。在實際應用中,ARIMA算法由于需要對數(shù)據(jù)進行平穩(wěn)化處理,削弱數(shù)據(jù)的趨勢,因此對于小時間粒度的時間序列處理能力較弱,而GM算法可以直接進行灰色生成,可以彌補ARIMA算法的劣勢。文中進行景區(qū)人流密度預測時,對于較大時間間隔的時間序列采用ARIMA算法進行預測;對于較小時間間隔的時間序列使用GM算法進行預測;最后再使用RBF網(wǎng)絡對于預測結(jié)果的殘差進行修正。具體的方法流程如圖4所示。 根據(jù)圖4給出的流程,首先設計數(shù)據(jù)存儲的數(shù)據(jù)表。在設計數(shù)據(jù)表時,需要考慮所采集景區(qū)的位置、采集的時間,以及基于這些信息的人流密度的初步統(tǒng)計結(jié)果。具體的表結(jié)構(gòu)如表1和表2所示。 表1 數(shù)據(jù)采集表 表2 人流密度初步統(tǒng)計表 圖4 文中算法流程圖 經(jīng)過數(shù)據(jù)采集,文中獲得了某景區(qū)內(nèi)連續(xù)3個月的整點人流密度數(shù)據(jù)?;谠摂?shù)據(jù),即可對該景區(qū)的人流密度數(shù)據(jù)進行預測。在預測時,基于圖2給出的流程圖,對于該景區(qū)使用ARIMA模型以天為間隔進行時間序列建模;基于圖3給出的流程圖,對于該景區(qū)使用GM模型在每一天的時間里以整點為時間間隔進行建模,獲得該景區(qū)的GM-ARIMA模型。此時,計算該模型的殘差序列: 在使用RBF網(wǎng)絡時,以每周內(nèi)的同一時刻作為一個樣本對之前采集的數(shù)據(jù)集進行樣本劃分。將ε(0)={ε(2),ε(2),…,ε(n)}作為模型的輸入樣本Xi,基于1.1節(jié)中的方法進行模型的RBF函數(shù)參數(shù)設置。模型訓練中使用的誤差代價函數(shù)如下: 在RBF網(wǎng)絡的迭代中,需要根據(jù)誤差的傳播進行連接權(quán)值的更新,更新方法如下: 基于1.2、1.3節(jié)中ARIMA和GM算法處理時間序列的流程,使用20組數(shù)據(jù)建立ARIMA-GM模型,并對20組數(shù)據(jù)進行預測。時間序列的處理結(jié)果如表3所示。 表3 時間序列處理結(jié)果 根據(jù)表3繪制的曲線如圖5所示,其中虛線是該景點的實際人流密度,實線為預測值??梢钥闯觯?個時刻點后,預測值與實際值基本吻合,在前5個時刻略有偏差。 圖5 人流密度序列預測結(jié)果 接下來,將表3中的殘差作為輸入數(shù)據(jù)對RBF進行訓練,獲得經(jīng)RBF修正后的預測結(jié)果。為了更優(yōu)地評估算法性能,文中使用平均絕對誤差MAE、平均絕對百分比誤差MAPE和均方誤差MSE作為模型預測的準確度度量指標。同時使用單模型的GM、ARIMA、GM-ARIMA進行對比分析,具體結(jié)果如表4所示。 表4 各算法人流密度統(tǒng)計結(jié)果對比 可以看出,由于處理的時間序列中大時間粒度的序列占比較高,因此GM算法的性能比ARIMA算法要差;經(jīng)集成后,GM-ARIMA算法的性能要優(yōu)于GM和ARIMA算法。文中算法引入RBF算法進行殘差修正,獲得了最優(yōu)的預測效果。MAE、MAPE和MSE分別達到了0.71、1.14和0.45,較其他3種算法均有明顯的提升。 文中對景區(qū)人流密度的預測方法進行了研究,從時間序列處理的角度對該問題進行數(shù)學建模,引入ARIMA和GM算法進行時間序列的處理。為了提升傳統(tǒng)的時間序列預測的精度,引入RBF對GMARIMA算法處理后的殘差進行二次處理,提升了人流預測的精度。實驗仿真結(jié)果證明,文中的算法具有更高的精度、更優(yōu)的應用前景。2 方法實現(xiàn)
2.1 實驗流程設計
2.2 模型仿真結(jié)果
3 結(jié)束語