課題名稱:基于單層BP神經網絡的短時交通流量預測
版本時間:2023-04-27
代碼獲取方式:QQ:491052175 或者 私聊博主獲取
模型簡介:
城市交通路網中交通路段上某時刻的交通流量與本路段前幾個時段的交通流量有關,并且交通流量具有24小時內準周期的特性。首先采集4 天的交通流量數據,每隔15 分鐘記錄一次該段時間內的交通流量,一共記錄384個時間點的數據。用3天共288 個交通流量的數據訓練小波神經網絡,最后用訓練好的小波神經網絡預測第4 天的交通流量。仿真擬采用前4個時間節點的交通流量預測。第5個時間節點;即可以理解為第1-4節點預測第5個節點,第2-5節點預測第6個節點,依次類推構建訓練數據和測試數據。一天96個時間節點,按照上述邏輯可以組合92組數據;那么3天288個時間節點可以組合276組5維數據(這里需要注意的是,只能當天數據組合模型數據,故3天可以得到92*3=276組數據)。測試數據為第4天的96個節點,可以組合92組5維測試數據。BP神經網絡的構建確定BP神經網絡結構。本案例采用的BP神經網絡的輸入層有4個節點,表示預測時間節點前4個時間點的交通流量;隱含層有通過遍歷求誤差最小的隱含層節點;輸出層有1節點,為網絡預測的交通流量。
關于數據:
為什么288個交通流量數據,最后訓練數據input=276*4;output=276*1 ?因為一天總共96組時間節點的交通流量;因為前4個節點預測第5個節點,故第1、2、3、4作為第一組訓練輸入,第5天作為第一組輸出;第2、3、4、5作為第二組訓練輸入,第6天作為第二組輸出....,最后,第92、93、94、95作為第92組輸入,第96個節點作為第92組輸出。所以一天96個節點最后只能有92組4維輸入和1為輸出。所以測試數據input_test和output_test是92*4和92*1。
改進方向:
求解最佳隱含層節點數
待改進方向:
1.利用智能算法去優化BP神經網絡的權值和閾值,比如GA算法,PSO算法,SA算法,GASA算法等等
特殊說明:
神經網絡每一次的預測結果都不相同,為了得到更好的結果,建議多次運行取最佳值。
Matlab仿真結果:
基于單層BP神經網絡短時交通流量預測的仿真結果
基于單層BP神經網絡短時交通流量預測的預測輸出
基于單層BP神經網絡短時交通流量預測的預測誤差
基于單層BP神經網絡短時交通流量預測的預測誤差百分比