黃恩潭,谷遠利
(北京交通大學城市交通復雜系統理論與技術教育部重點實驗室,北京 100044)
短時交通流預測作為智能交通系統的重要組成部分,日益成為人們研究的重點。近些年來,國內外學者提出了許多短時交通流預測方法,包括卡爾曼濾波預測模型[1]、非參數回歸預測模型[2]、時間序列預測模型[3-4]、混沌理論預測模型[5]、K近鄰預測模型[6-7]、支持向量機預測模型[8-9]、徑向基函數(radial basis function,RBF)神經網絡模型[10]、小波神經網絡模型(wavelet neural networks,WNN)[11]等等,取得了一定的效果。然而由于交通流量數據的復雜性、強非線性以及不確定性,單一模型難以全面準確地對其進行預測,而組合預測模型能夠更好地發揮單一模型的優點,克服自身的缺點,因此,近年來該類模型得到了學者們的廣泛關注。
WNN是高度非線性動力學系統,有較優的非線性擬合逼近能力,但存在陷入局部最優解的缺陷。人工蜂群算法(artificial bee colony algorithm,ABC)是Karaboga[12]于2005年提出的一種新型群體智能算法,具有計算參數少、魯棒性良好和全局搜索能力強等優點,但也存在收斂速度慢、局部搜索能力弱等缺點。本文提出一種改進的ABC優化WNN預測模型,該模型利用ABC彌補WNN權值和閾值選擇的隨機性缺陷,將WNN良好的非線性擬合能力與ABC較強的魯棒性結合在一起,對強非線性和不確定性的短時交通流量進行預測,通過實驗,證明該模型具有較強的收斂能力和較高的預測精度。
WNN是基于小波變換理論的前饋神經網絡模型,本文采用三層緊致結構WNN,將小波函數作為隱含層神經元激勵函數,構造出來的WNN拓撲結構如圖1所示。

圖1 小波神經網絡拓撲結構Fig.1 Topology of wavelet neural network
圖1中,X1,X2,…,XI為WNN輸入參數,Y1,Y2,…,YK為WNN預測輸出,ωji為輸入層與隱含層之間權值,ωkj為隱含層與輸出層之間權值。隱含層神經元激勵函數為Morlet母小波基函數,其表達式如式(1)所示。
y=cos(1.75x)exp(-x2/2)。
(1)
當輸入參數為xi(i=1,2,…,I)時,隱含層輸出如式(2)所示。
(2)
式中,h(j)為隱含層第j個節點輸出值;J為隱含層神經元數;ωji為輸入層與隱含層之間權值;hj為隱含層神經元j的小波基函數;aj為小波基函數hj的伸縮因子;bj為小波基函數hj的平移因子。
WNN輸出層第k個神經元輸出為式(3)所示。
(3)
式中,h(j)為第j個隱含層神經元的輸出;K為輸出層神經元數;ωkj為隱含層與輸出層之間權值。
網絡輸出誤差能量函數如式(4)所示。
(4)
ABC中,搜索解的蜂群主要包含引領蜂、跟隨蜂和偵察蜂三種。引領蜂負責尋找蜜源,當發現了新的蜜源時,引領蜂會將采集到的信息傳達給跟隨蜂,跟隨蜂根據信息采用某種策略選擇蜜源進行開采,放棄部分蜜源。被放棄蜜源的引領蜂則會變成偵查蜂,重新開始搜索新蜜源。
ABC中,在求解函數優化問題時,引領蜂或蜜源的數量即為解的數量,蜜源的位置對應優化問題的可行解,蜜源的花蜜量對應著解的適應度,蜂群在規定范圍內尋找最優蜜源的過程就是ABC在規定區間內搜索函數最優解的過程。用ABC求解函數最優化問題過程如下:
(Ⅰ)種群初始化階段
對于全局函數優化問題,有
minδ=f(X)。
(5)
設在D維的搜索空間中,ABC算法隨機產生N個解,即N為引領蜂數或蜜源數。每個解Xi(i=1,2,…,N)為一個D維向量,表示第i個蜜源的位置,即Xi={xi1,xi2,…,xiD},其中,D為優化參數個數。
(Ⅱ)引領蜂階段
引領蜂在蜜源附近搜索產生新蜜源,根據貪婪選擇更新蜜源,如果新蜜源優于原蜜源,則記住新蜜源的位置,忘記原蜜源,否則保留原蜜源。新蜜源的搜索如式(6)。
vij=xij+φij(xij-xkj),
(6)
式中,i、k∈{1,2,…,N}且i≠k,j∈{1,2,…,D};vij為新蜜源;xij為當前蜜源位置;xkj為當前蜜源xij鄰域內隨機搜索的一個蜜源;φij為[-1,1]之間的隨機數。
(Ⅲ)跟隨蜂階段
引領蜂將信息傳達給跟隨蜂,跟隨蜂根據花蜜量的豐富程度按照概率pi選擇蜜源,并生成新蜜源。若新蜜源優于原蜜源,則選擇新蜜源,否則保留原蜜源。利用公式(6)產生新蜜源,利用公式(7)計算概率pi。
(7)
式中,hi為第i個蜜源的收益度,即適應度值。
(Ⅳ)偵察蜂階段
當一處蜜源經過多次搜索迭代卻依然沒有被改進之后,該位置會被放棄,相應的引領蜂轉為偵察蜂重新開始尋找解。搜索新解的方法如式(8)。
(8)
WNN存在易陷入局部最優,收斂速度較慢等缺點。ABC收斂速度快,但求解過程缺乏局部信息從而難以得到較高精度。本文提出一種改進的ABC,在標準ABC基礎上加入差分進化算法的變異操作和遺傳算法的選擇算子、交叉算子和變異算子,以此平衡算法的全局和局部搜索能力,并用來優化WNN的參數,形成改進的ABC-WNN預測模型。利用改進ABC優化WNN的權值與閾值能夠降低參數選擇的隨機性,加快了模型收斂速度,提高了對復雜交通流的預測速度和精度。
由Storn等[13]于1995年提出的差分進化(differential evolution algorithm,DE)算法是一種計算參數少,能夠進行隨機和并行計算的有效全局搜索算法。DE算法通過對種群初始化、變異、交叉和選擇等操作不斷循環迭代,往期望最優解方向進行搜索,從而得到合適的解。其中,種群新個體的產生主要靠DE算法的變異過程,變異過程如式(9)所示。
Vi(g+1)=Xr1(g)+F·(Xr2(g)-Xr3(g)),
(9)
式中,i,r1,r2,r3表示種群內4個不同個體,i=1,2,…,N,N為種群中個體數目;F為縮放因子;g為進化代數。
根據式(9)可得,DE算法有向種群個體學習的能力,當算法快要收斂的時候,個體之間差異較小,新個體會在原有個體附近搜索,因此DE算法有良好的局部開采能力。在ABC中,由于引領蜂和跟隨蜂兩個階段均要通過式(6)產生新的個體,而式中參數都是隨機的,新個體的產生有著較大的隨機性,所以式(6)有較強的全局搜索能力,但也說明ABC的局部搜索能力較弱。因此,ABC可以學習DE算法的變異操作產生新個體,提高算法的開采能力。在此,將DE算法的變異過程即式(9)修改為式(10)。
vij=xbest+F·(xij-xkj),
(10)
式中,xbest表示當前的最優蜜源;F為縮放因子;其他參數含義同式(6)。
通常來說,縮放因子F的取值是根據實際經驗來選取,在[0.5,1]的范圍內取值能夠保證較高的求解精度和較好的收斂速度。但DE算法對參數的選擇十分敏感,不同實際問題的情況下參數的選擇對算法求解結果有較大的影響,當F取值較大時,算法能在較大區域內搜索,有利于保持種群多樣性,全局搜索能力強,但求解精度較低。F取值較小時,搜索受到擾動較小,能夠加強局部搜索能力,但是算法容易早熟,種群也容易降低多樣性。因此,為了平衡算法的全局搜索和局部搜索能力,引入粒子群算法中自適應慣性權重的思想,使縮放因子F的取值采用非線性的動態慣性權重系數公式,其表達式如式(11)所示。
(11)
式中,Fmax和Fmin分別表示縮放因子F的最大值和最小值,在本文中,令F取值范圍在[0.5,1]之間;f表示個體當前的目標函數值;favg表示當前所有個體的平均目標值;fmin表示當前個體最小目標值。F的取值不再固定而是能夠隨著各個體的目標函數值進行改變。在求最小化目標函數最優解過程中,個體目標函數值小于種群平均目標函數值,說明個體較優,取較小的F,使算法在靠近最優解范圍內搜索。個體目標函數值大于種群平均目標函數值時,取較大的F,增大算法搜索范圍。
引領蜂搜索階段仍然采用式(6)進行搜索,而跟隨蜂階段則采用式(10)進行搜索。式(10)考慮到了當前最優解對產生新個體的影響,采用自適應縮放因子平衡算法全局搜索與局部搜索能力,保證了ABC算法開發能力的同時也提高了算法的局部開采能力。
在DE算法中,縮放因子F的取值影響著算法的收斂速度和種群的多樣性。為了降低F取值的隨機性對交通流預測的影響,提高整個預測模型的魯棒性和容錯性,引入遺傳算法[14]中的選擇算子、交叉算子和變異算子,提高ABC算法的局部搜索能力和保持種群的多樣性。改進方法為,在跟隨蜂階段引入遺傳算法中的選擇算子和變異算子,在偵察蜂階段引入遺傳算法中的選擇算子和交叉算子。主要操作過程如下。
3.2.1 選擇算子
用輪盤賭法對蜂群進行選擇,蜂群中每個個體被選擇的概率同式(7)。計算各個蜜源的累積概率并構造一個輪盤,如式(12)所示。
(12)
式中,qi為累積概率;N為種群規模。產生一個[0,1]區間內的隨機數j,若隨機數j滿足qi-1≤j 3.2.2 交叉算子 圖2 單點交叉Fig.2 One-point crossover 對選擇出來的蜂群進行一定概率的交叉,交叉方法采用單點交叉,如圖2所示。m表示單個染色體上的基因數,交叉點在第三和第四基因位之間,交叉后產生新的個體。是否進行交叉由交叉概率決定,交叉點位置也是隨機產生的,期望讓優良基因進行相互組合產生良好個體。因此,在偵察蜂階段引入交叉算子,有利于減少因蜜源被放棄和跟隨蜂階段伸縮因子F取值不合理而造成的對種群多樣性的影響,同時能加強跳出局部最優解能力,提高全局搜索能力。交叉后,將原蜜源與交叉后蜜源進行比較,充分利用舊蜜源的有用信息,留下適應度大的蜜源,淘汰適應度小的蜜源,使整個蜂群往更優的方向進行搜索進化。 3.2.3 變異算子 ABC的跟隨蜂階段是整個算法中重要的局部搜索過程,為了進一步提高跟隨蜂階段算法的局部搜索能力,引入變異算子。本文采用單點變異方式,即將個體基因串上的某個基因值進行改變。算法進入早熟收斂的時候,通過變異操作,可以讓跟隨蜂進入不同鄰域搜索,更有可能搜索到全局最優解。同理,變異后,將原蜜源與變異后蜜源適應度值進行比較,留下適應度大的蜜源,淘汰適應度小的蜜源。 本文中,改進的ABC-WNN預測模型主要步驟如下: (a)對種群進行初始化,隨機產生N個初始解xi(i=1,2,…,N,N為優化參數總數),引領蜂與跟隨蜂數目均為N。記錄各個蜜源的花蜜量,即各個解的適應度值,并將最優解記錄下來,設定最大迭代循環次數M,模型的選擇、變異、交叉過程采用實數編碼; (b)令控制迭代循環參數C=1; (c)引領蜂根據式(6)開始進行隨機搜索產生新解vi,計算新解的適應度值,將其與xi的適應度值進行比較,若vi適應度值比xi大,則選擇新解vi,否則選擇原有解xi; (d)根據式(7)計算蜜源的選擇概率pi; (e)跟隨蜂根據選擇概率pi選擇蜜源,更新當前最優蜜源,利用式(10)在當前最優解鄰域范圍內搜索新解,計算適應度值,對新解與原有解進行貪婪選擇,得到新的一組解xi; (f)計算解xi的適應度大小,并按照輪盤賭方法進行選擇,將選擇出來的蜜源按照變異概率進行變異操作,生成新蜜源vi; (g)計算變異后新蜜源vi和原蜜源xi的適應度值,進行貪婪選擇,選擇適應度大的蜜源; (h)判斷是否有需要放棄的蜜源,若存在需要放棄的蜜源,則引領蜂變成偵察蜂,根據式(8)搜索新的蜜源代替被放棄的蜜源; (i)計算當前蜜源xi的適應度值,按照輪盤賭方法進行選擇,將選擇出來的蜜源按照交叉概率進行交叉操作,生成新的蜜源vi; (j)計算交叉后新蜜源vi和原蜜源xi的適應度值,進行貪婪選擇,選擇適應度大的蜜源; (k)記錄迄今為止適應度最大的蜜源; (l)C=C+1,如果C>M,則算法停止迭代,輸出最優結果,否則轉第(c)步; (m)將輸出的參數結果賦予WNN,使用WNN對交通流進行預測。 WNN良好的非線性擬合能力能夠在理論上以任意精度逼近非線性函數,再加上較強的自學習和數據并行處理能力,可以用來預測同樣強非線性的短時交通流量,在預測過程中,WNN通過網絡學習能夠存儲大量交通流量樣本數據中蘊含的映射關系,并通過不斷的參數修正來進行短時交通流預測。由于WNN的修正采用梯度下降法,以誤差函數負梯度方向對網絡相關參數進行修正。當網絡拓撲結構確定后,網絡相關參數的取值對WNN的訓練次數和輸出結果影響較大,未經優化的隨機初始化值會使WNN的收斂速度變慢,且容易使預測結果為非最優解無法準確反映交通流的變化過程。利用改進ABC-WNN的組合模型能夠充分結合多種模型的優點,提高了預測模型的容錯性。通過優化WNN的權值和閾值,能改善網絡的整體性能,讓模型更加接近交通流的實際變化情況,使之在輸入交通流數據后能夠減少WNN的訓練次數,提高短時交通流的預測速度和預測精度。本文改進ABC-WNN預測模型的交通流預測步驟為: (Ⅰ)確定輸入參數。輸入參數為前幾日對應時間段交通流量的歷史數據,以及預測時間點前幾個時刻交通流量數據; (Ⅱ)確定輸出參數。輸出參數為規定預測時間點交通流量; (Ⅲ)模型訓練。利用前幾日對應時間段交通流量歷史數據對模型進行訓練; (Ⅳ)模型預測。將預測時間點前幾個時刻交通流量數據輸入訓練好的模型中進行預測,并與實際交通流量進行對比,統計誤差。 在北京市二環路東四十條橋北綠地內中航大廈南20 m處設置一微波車輛檢測器,統計2013年4月16日至2013年4月30日共15天,全天00:00—24:00時段通過車檢器的車流量,每2 min統計一次。本文對每天晚高峰17:00—19:00時段的交通流量數據進行預測,共900條數據,選擇前14天的840條車流量數據作為訓練數據,最后一天的60條數據作為預測數據。為了消除數據之間量綱的影響,將數據進行歸一化處理,歸一化方法如式(13)。預測方法采用小波神經網絡(WNN)、人工蜂群算法優化的小波神經網絡(ABC-WNN)和改進人工蜂群算法優化的小波神經網絡(改進ABC-WNN)3種方法。相關研究表明,城市道路上某時刻的交通流量與該路段前幾個時段交通流量有關,根據交通特性設計WNN結構,輸入層為當前時間點前n個時間點交通流量,隱含層節點為Morlet小波基函數,輸出層為當前時間點預測交通流量。本實驗在MATLAB2014b環境下進行測試。 (13) 式中,x,y分別表示歸一化前后數據,xmin表示樣本中的最小值,xmax表示樣本中的最大值。 (Ⅰ)采用WNN模型預測交通流量。輸入層為4個節點,表示預測時間點的前4個時間點交通流量,由前4個時間點交通量預測該時間點交通量。經過多次測試,隱含層節點選擇8個,輸出層節點為1個,表示預測時間點的交通流量,則WNN結構為4-8-1。取學習速率為0.04,動量因子為0.6。設定WNN訓練次數3 000次,用訓練好的WNN進行預測。訓練結果如圖3所示,預測結果如圖4所示。 圖3 WNN訓練結果Fig.3 Training results based on WNN 圖4 WNN預測值與實際值比較Fig.4 Comparison ofthe predicted and actual values based on WNN (Ⅱ)采用ABC-WNN模型預測交通流,初始化參數,蜂群規模為40,則引領蜂、跟隨蜂數量為20只,設定當某處蜜源經過20次循環迭代依然無法優化時便被放棄,ABC最大迭代循環次數為100次,目標函數為誤差能量函數,適應度值為目標函數的倒數。將優化后的參數賦予WNN并訓練300次。WNN參數同(Ⅰ)。訓練結果如圖5所示,預測結果如圖6所示。 圖5 ABC-WNN訓練結果Fig.5 Training results based on ABC-WNN 圖6 ABC-WNN預測值與實際值比較Fig.6 Comparison of predicted and actual values based on ABC-WNN (Ⅲ)采用改進ABC-WNN模型預測交通流,縮放因子F采用式(11)進行計算,取交叉概率為0.7,變異概率為0.02,將優化后的參數賦予WNN并訓練300次。其他參數同(Ⅰ)和(Ⅱ)。訓練結果如圖7所示,預測結果如圖8所示。 從圖3~8可知,在訓練過程中,WNN模型經過3 000次訓練之后依然沒有明顯的收斂現象,而且訓練的誤差也比另外兩種預測模型要大。ABC-WNN預測模型訓練誤差小于WNN模型,但由于ABC本身局部搜索能力較弱,因此出現了早熟現象。改進的ABC-WNN預測模型訓練誤差最小,與ABC-WNN模型相比有較強的跳出局部最優解能力。 圖7 改進ABC-WNN訓練情況Fig.7 Training results based on improved ABC-WNN 圖8 改進ABC-WNN預測值與實際值比較Fig.8 Comparison of predicted and actual values based on improved ABC-WNN 根據預測值與實際值比較圖來看,改進的ABC-WNN模型預測結果與實際值最為接近,表明改進的ABC-WNN預測模型能夠較為準確地進行預測。 為了減少隨機數對預測結果的影響,將3種預測模型進行10組測試,同時去掉每種模型兩次最好預測結果和兩次最差預測結果,取中間6組結果。分別計算預測結果的平均絕對誤差、平均相對誤差和均方差,其中,平均絕對誤差計算公式如式(14)所示,平均相對誤差公式如式(15)所示,均方差計算公式如式(16)所示。 (14) (15) 式中,EMRE表示平均相對誤差。 (16) 式中,ERMSE表示均方差。 得出3種模型的預測結果如表1所示。 表1 3種預測模型誤差比較Table 1 Error comparison among three kinds of prediction models 從3種模型預測結果可以看出,改進ABC-WNN算法預測結果的平均絕對誤差、平均相對誤差和均方差均明顯優于其他兩種預測模型,且與實際值接近。考慮到ABC-WNN預測模型的總體迭代次數遠少于WNN模型,因此,可證明本文提出的預測模型有較快的收斂速度和較高的準確度。另外,ABC-WNN預測模型的預測結果也優于單一的WNN模型,說明組合優化模型比單一優化模型更有優勢。 本文提出了基于改進人工蜂群算法優化小波神經網絡預測模型,在ABC中引入DE算法的變異操作和遺傳算法的選擇交叉變異操作,并且在DE算法的變異操作中引入了自適應的縮放因子,增強了算法的多樣性和跳出局部最優解的能力,保證算法全局搜索能力的同時,加強了算法在跟隨蜂階段的局部搜索能力。同時,選擇、交叉和變異算子的加入進一步平衡了算法的全局探測能力和局部開采能力。再將優化后的參數用于小波神經網絡中并對短時交通流量進行預測,獲得了良好的預測效果。 本文所提出的預測模型在實驗對比中體現了較快的收斂性和預測的準確性,但仍有進一步研究的空間,可以將Morlet小波函數替換為Marr小波函數或者Shannon小波函數,測試算法的收斂速度和準確性。另外,本文僅利用了歷史交通流量值進行預測,沒有考慮其他因素,事實上交通流的預測極其復雜,與多種因素有關,還需要研究更好的智能算法并考慮更多的實際因素來對交通流進行預測。 參考文獻: [1]OKUTANI I,STEPHANEDES Y J.Dynamic prediction of traffic volume through Kalman filtering theory[J].Transportation Research Part B: Methodological,1984,18(1):1-11. [2]張曉利,陸化普.非參數回歸方法在短時交通流預測中的應用[J].清華大學學報(自然科學版),2009,49(09):1471-1475. [3]廖榮華,蘭時勇,劉正熙.基于混沌時間序列局域法的短時交通流預測[J].計算機技術與發展,2015,25(1):1-5. [4]BIDISHA G,BISWAJIT B,MARGARET O M.Bayesian time-series model for short-term traffic flow forecasting[J].Journal of Transportation Engineering,2007,133(3):180-189. [5]韓超.基于混沌理論的短時交通流預測方法[J].物流工程與管理,2012,34(4):116-117. [6]謝海紅,戴許昊,齊遠.短時交通流預測的改進K近鄰算法[J].交通運輸工程學報,2014,14(3):87-94. [7]LI S,SHEN Z,XIONG G.A k-nearest neighbor locally weighted regression method for short-term traffic flow forecasting[C]//2012 15thInternational IEEE Conference on Intelligent Transportation Systems[S.L.]:IEEE,2012: 1596-1601. [8]傅貴,韓國強,逯峰,等.基于支持向量機回歸的短時交通流預測模型[J].華南理工大學學報(自然科學版),2013,41(9):71-76. [9]CHEN L,LI Q R,TIAN X Y,et al.Paratactic spatial-temporal two dimension data fusion based on support vector machines for traffic flow prediction of abnormal state[J].Advanced Materials Research,2012,532-533(6):1225-1229. [10]鄭宣傳,韓寶明,李得偉.基于RBF神經網絡的城市快速路短時交通流預測研究[J].山東科學,2012,25(3):23-28. [11]楊顯立,許倫輝,周勇,等.基于小波神經網絡的道路交通流量實時預測模型研究[J].公路交通技術,2013(5):111-114. [12]KARABOGA D.An idea based on honey bee swarm for numerical optimization[EB/OL].[2017-06-02].https://doi.org/citeulike-article-id:6592152. [13]STORN R,PRICE K.Differential evolution-A simple and efficient adaptive scheme for global optimization over continuous space[J].Joural of Global Optimization,1997,11(4):341-359. [14]HOLLAND J H.Adaptation in natural and artificial systems[J].Quarterly Review of Biology,1975,6(2):126-137.
3.3 改進的人工蜂群算法優化小波神經網絡步驟
4 仿真實驗與結果分析








5 結論