海雨之霖 趙博選 黎敏琦 董麗華
摘? 要:車速預測對于考慮實際交通特性的車輛路徑規劃十分有必要,本文將相鄰路段與待預測路段的當前時刻和歷史時刻的車速作為輸入,建立了基于BP神經網絡的車速預測模型,并采用遺傳算法優化神經網絡的權值和閾值,以提高預測模型的精度。與傳統BP神經網絡構建的預測模型相比,該方法提高了預測精度。
關鍵詞:車速預測;BP神經網絡;遺傳算法
城市道路路徑規劃可降低最后一公里配送的成本,提高配送效率,但動態的城市道路同行情況使得路徑規劃在一定時間后失效,因此為了應對交通時變特性對路徑規劃的影響,預先的道路通行速度預測變得十分必要。徐韜[2]利用小波變換較強的時頻域特性,運用平移不變小波變換對數據去噪,對去噪后的數據建立 arima 模型,最后對浮動車輛的速度進行預測和分析。袁魯山[3]通過研究分析車速數據時間序列特性,利用NAR神經系統網絡在處理非線性與時變性時間序列上的優勢建立預測模型,對車速進行有效預測。牟濤等[4] 通過客觀分析與主觀分析方法相結合的方式,使用BP神經網絡有效地預測了高速公路安全車速。
傳統BP神經網絡收斂速度慢,易陷入局部最優解,影響預測結果的準確性[5]。若利用遺傳算法優化神經網絡參數,就可以較好的提高收斂速度,防止陷入局部最優。本研究探討基于遺傳算法的神經網絡預測市區路段車流量方法,考慮車速的時空特性,將待預測路段及其相鄰上、下游路段的歷史車流量數據作為網絡輸入,預測數據作為網絡輸出,通過遺傳算法獲得網絡的較優權值和閾值,以降低網絡預測誤差,加快收斂速度,通過測試,該方法提高了預測精度。
1 BP神經網絡車速預測模型
1.1模型的拓撲結構
要預測某一指定道路的車速,若僅根據當前道路的時間序列建立車速預測模型,則BP神經網絡車速預測模型的訓練過程只是在學習歷史車速的相關性,但道路并不是孤立存在的,而是與其相鄰道路連接構建成交通路網,因此車速還會受到其他道路車速的影響。將實際復雜路網簡化為如圖1所示的交通環境圖,待預測道路的上游相鄰路段道路1、道路2和道路3的車流會在路口A匯入待預測路段,同時該路段的車流會隨著時間的推移在路口B依次匯入下游相鄰路段道路4和道路5。由于道路車速與道路車流量成反比,即道路車流量越大則該道路的平均通行車速越慢,若下游相鄰路段車速低,則意味著這些路段車流量大,進入了擁堵狀態,那么待預測路段車流從路口B 匯入下游路段時等待的時間會相應的延長,導致待預測路段車速降低;若上游相鄰路段車速高,則意味著上游路段車輛從路口A匯入待預測路段的車流量增加速度變快,可能導致待預測路段的道路車速降低。由此可見,預測某一道路的車速并不能僅將該道路的速度時間序列作為模型輸入,還需要考慮其空間特性,從時空相關性的角度設置BP神經網絡車速預測模型的輸入。
Vnt表示路段n在t時刻的平均車速,任意一個路段的下一時刻的擁堵狀況是由相鄰n-1個路段和當前路段的t個時刻的擁堵狀況來預測的。
以圖1為例,與待預測路段相連的有5個上下游路段,則n為6,若t為3,則最終利用相鄰路段1、2、3、4、5與本路段6的當前時刻和前2個時間段的擁堵等級進行預測。輸入層神經元個數由輸入向量可知為18,輸出層神經元個數為1,BP神經網絡車速預測模型拓撲結構如圖2所示。
1.2模型的參數設置
1. 隱含層神經元數目
在BP神經網絡中,輸入層和輸出層的神經元個數是確定的,隱含層的神經元個數通過經驗公式(2)確定
2. 激活函數
一般來說,對于像車速預測這樣的高度非線性的映射問題,用得較多的激活函數是 S型函數,它包括值域在(0,1)區間的Sigmoid 函數和值域在(-1,1)的正切函數,本文選用Sigmoid函數作為激活函數。
3. 訓練算法
經初步試算發現,固定變比的變梯度算法trainscg效果較好,因此選用trainscg作為訓練函數。
02 基于遺傳算法優化BP神經網絡
初始種群中的每個個體包含隨機生成的權值和閾值,采取實數編碼方式對個體染色體進行編碼,使用平均百分比誤差(MAPE)作為適應度函數,基于所采取的適應度函數的評價標準,函數值越低則適應度越優,個體更容易被選擇,繼而進行染色體交叉、變異,多次迭代后從新種群中選出最優個體,即最優初始權值、閾值。遺傳算法更新BP神經網絡的詳細操作步驟如下:
Step1,確定BP神經網絡的拓撲結構。根據訓練樣本確定輸入層神經元個數m、隱含層神經元個數h、輸出層神經元個數n。
Step2,個體染色體編碼,獲得初始種群,并確定最大迭代數G,每個染色體依據權值和閾值的取值范圍隨機生成,采用實數編碼,長度為(m×h+h+h×n+n)。
Step3,解碼得到權值和閾值。
Step4,將權值和閾值賦給BP神經網絡。
Step5,使用訓練樣本訓練網絡,并計算個體適應度。適應度函數為MAPE
Step6,依次進行選擇操作、交叉操作和變異操作。
Step7,重復進行Step3-Step6,每進行1次,種群就進化1次,連續進化到第G代或達到個體最優適應度。
Step8,將新種群適應度最優的個體解碼,獲得最優初始權值和閾值,代入BP神經網絡預測。
2.1選擇算子
本研究采用輪盤賭法選擇個體,其基本思想是,被選中的概率與個體的適應度成正比。輪盤賭選擇算子的詳細步驟如下:計算每個個體能夠遺傳到下一代的概率 ;依次計算每個個體的累積概率 ;在[0,1]區間內生成隨機數,若滿足式(4)則個體k就被選擇進入子代種群,此操作重復進行,直到子代種群規模為M。
其中,xAt+1是變異之后的染色體,xA是變異之前的染色體,k是變異的一個常數,取值為(0,1],xmax是個體的上限,xmin是個體的下線,r是產生的隨機數。
03 實例分析
3.1 實驗數據和參數設置
以北京市鼓樓西大街為例,為預測該道路24小時內的車速,如圖4所示,該路段共有4個上下游路段,則n=5,令t=4,那么訓練樣本中需要包含相鄰路段1、2、3、4、和本路段5的當前時刻和前三個時間段的道路車速進行預測。
實驗數據來自于北京市公共數據開放平臺,2016年4月25至2016年4月29日5個工作日,鼓樓西大街(地安門外大街至舊鼓樓大街)及其相鄰上下游道路的車速數據(采樣間隔為5分鐘),以地安門外大街為例,道路的車速原始數據集如表1所示。
首先對原始道路車速數據預處理,得到1140個車速數據點,每5組數據為1期(前4期數據作為模型輸入,第5期待預測道路的車速為模型輸出),以此類推。基于上述規則,利用前4個工作日的1152個車速數據點滾動式[9]建立848個輸入輸出數據集,構成模型的訓練集,第5個工作日的車速數據點建立288個輸入輸出集,構成模型的測試集。所選詳細數據見表2所列。
在本實驗中,BP神經網絡的輸入層神經元個數為20,輸出層神經元個數為1。參照公式并通過多次試驗反復比對,最終確認當輸入層神經元個數為12時,BP神經網絡車速預測模型的預測結果更好。最大迭代次數為5000,目標誤差為0.00001,學習率為0.01。BP神經網絡模型的預測結果與實際車速比較如圖4所示。
GA-BP車速預測組合模型的種群規模為50,終止迭代次數為50,交叉進行概率為0.7,變異發生概率為0.05。GA-BP組合車速預測模型的預測結果如圖5所示。
3.2 預測結果評價
本文采用均方根誤差(RMSE)和平均百分比誤差(MAPE)評價指標評價模型預測結果。
用于評價2種車速預測模型預測效果的詳細數據見表3所列。
北京市的早高峰時段為7:00am-9:00am,晚高峰時段為5:00pm-8:00pm,現評價2種車速預測模型在早高峰和晚高峰時段,即時間序列85-109,205-241的預測效果,詳細數據見表4所列。
由表3和表4可知,將BP神經網絡與GA-BP組合2種變形預測模型的評價指標相比較,不論是全天的車速預測還是高峰時段的車速預測,基于遺傳算法的BP神經網絡都能夠提升預測精度,具有良好的預測效果。
結束語
各個時段的道路通行速度預測有助于提高路徑規劃的可靠性和有效性。為了更好地掌握和預測指定路段的車速,本文建立了兩種車速預測模型,分別為傳統BP神經網絡車速預測模型和基于遺傳算法的BP神經網絡車速預測模型,并結合鼓樓西大街及其相鄰上游和下游路段車速檢測數據,綜合比對分析2種變形預測模型的預測結果可以看出,基于遺傳算法的BP神經網絡車速預測模型,無論是全天車速預測還是高峰時段車速預測,都能夠相較于傳統BP神經網絡車速預測模型提高預測精度。
參考文獻
[1] 張智,肖作鵬,張偉,孫永海.社區配送國際經驗的探討[J].研究與探討,2015(5),27-30.
[2] 徐韜.基于小波-ARIMA的浮動車運行車速動態預測模型[J].江西建材,2017(15):141-142.
[3] 袁魯山.基于NAR神經網絡的車速預測及應用[D].大連理工大學,2016.
[4] 張徽陽.基于深度學習的道路車速預測算法的研究與實現[D].北京郵電大學,2020.DOI:10.26969/d.cnki.gbydu.2020.001955.
[5]Holland J H.Adaptation in natural and artificial systems[M].Cambridge, MA,USA:MIT Press,1992.
[7] 周志華.機器學習[M].北京:清華大學出版社,2016.
作者簡介:海雨之霖(1999-),女,回族,陜西安康人,長安大學本科在讀,物流工程專業
通訊作者簡介:趙博選(1986-),男,漢族,陜西西安人,博士研究生,講師,研究方向:物流系統建模與優化技術
基金項目:2021年國家級大學生創新創業訓練計劃項目資助(項目編號:202110710015)