●陽(yáng)敏輝
為了驗(yàn)證算法的可行性和準(zhǔn)確性,本文從Regiolab-delft 平臺(tái)上選取了A13 快速路上兩組數(shù)據(jù)集用來(lái)建模:一天的數(shù)據(jù)以及一個(gè)星期的數(shù)據(jù)(7 天數(shù)據(jù)為訓(xùn)練集,另加1 天數(shù)據(jù)為測(cè)試集)。一天的數(shù)據(jù)為2017年7月1日0:00 至24:00 一共476 組行程時(shí)間數(shù)據(jù),其中前408 組數(shù)據(jù)作為訓(xùn)練集,后面68 組數(shù)據(jù)作為測(cè)試集;一個(gè)星期的數(shù)據(jù)為2017年6月1日到6月8日一共280 組6:00-9:00 早高峰期數(shù)據(jù),前7 天一共245 組數(shù)據(jù)作為訓(xùn)練集,后面一天35 組數(shù)據(jù)作為測(cè)試集。數(shù)據(jù)集說(shuō)明如表1。
表1 數(shù)據(jù)集說(shuō)明
1.三種算法的參數(shù)設(shè)置。數(shù)據(jù)集中共有476 組數(shù)據(jù),將前408組數(shù)據(jù)作為訓(xùn)練集,后68 組數(shù)據(jù)作為測(cè)試集,三種算法參數(shù)設(shè)置如下:(1)OSELM-TTP:算法中要設(shè)置的參數(shù)為隱層神經(jīng)元個(gè)數(shù)和激勵(lì)函數(shù),通過(guò)試湊法得到的隱層神經(jīng)元個(gè)數(shù)為8,學(xué)習(xí)函數(shù)設(shè)為sin。(2)OSVR:設(shè)置的核函數(shù)為RBF,參數(shù)C 和ε 分別為0.07 和0.01。(3)BPNN:MATLAB 中用newff()函數(shù)來(lái)建立3 層的BPNN 預(yù)測(cè)算法,在參數(shù)設(shè)置時(shí),將隱層神經(jīng)元個(gè)數(shù)設(shè)為3,學(xué)習(xí)函數(shù)為learngdm,輸入層、隱層和輸出層的激活函數(shù)分別為:tansig、logsig、tansig。訓(xùn)練函數(shù)設(shè)置為traingd。
2. 實(shí)驗(yàn)及結(jié)果分析。實(shí)驗(yàn)得到的預(yù)測(cè)值與真實(shí)值對(duì)比如圖1、2、3。圖中,橫坐標(biāo)表示預(yù)測(cè)行程時(shí)間值的總數(shù),而縱坐標(biāo)表示的是預(yù)測(cè)的行程時(shí)間,其單位為m。紅色曲線代表待機(jī)的經(jīng)過(guò)歸一化預(yù)處理之后的真實(shí)數(shù)據(jù),而藍(lán)色曲線代表預(yù)測(cè)算法得到的行程時(shí)間預(yù)測(cè)值。從圖中可以看出,添加了實(shí)時(shí)序列機(jī)制、自適應(yīng)丟棄機(jī)制和優(yōu)選激勵(lì)函數(shù)機(jī)制的OSELM-TTP 算法,其預(yù)測(cè)結(jié)果基本接近實(shí)際監(jiān)測(cè)數(shù)據(jù)。而基于OSVR 預(yù)測(cè)的數(shù)據(jù)浮動(dòng)比較大,BPNN 預(yù)測(cè)曲線與真實(shí)數(shù)據(jù)之間的誤差較大。三種預(yù)測(cè)算法的評(píng)估指標(biāo)對(duì)比如表2 所示。
表2 一天的數(shù)據(jù)集OSELM-TTP、OSVR、BPNN 評(píng)估指標(biāo)對(duì)比
從表2 分析得到:(1)從MSE 可以看出,OSELM-TTP 得到MSE 比OSVR 和BPNN 小,相比之下,OSELM-TTP 預(yù)測(cè)效果最好。(2)從MAE 和MRE 可以看出,OSELM-TTP 的值比BPNN 要小,兩者相差不大,而B(niǎo)PNN 的值比OSVR 要小,表明OSELM-TTP 預(yù)測(cè)效果最好。而由于OSVR 在預(yù)測(cè)時(shí)波動(dòng)較大,值也就最大,因此得到的效果最差。(3)從EC 可以看出,ELM的EC 值為0.989171566,大于0.9,而SVR 和BPNN 的值分別為0.979352813 和0.807924733,均低于OSELM-TTP 的EC 值。表明OSELM-TTP 得到的預(yù)測(cè)值和真實(shí)值的擬合效果最好,精確度比OSVR 和BPNN 的精確度要高。
表3 一周的數(shù)據(jù)集OSELM-TTP、OSVR、BPNN 評(píng)估指標(biāo)對(duì)比
圖1 一天的數(shù)據(jù)集中OSELM-TTP預(yù)測(cè)值與真實(shí)值對(duì)比圖
圖2 一天的數(shù)據(jù)集中OSVR算法預(yù)測(cè)值與真實(shí)值對(duì)比圖
圖3 一天的數(shù)據(jù)集中BPNN算法預(yù)測(cè)值與真實(shí)值對(duì)比
圖4 一周的數(shù)據(jù)集中OSELMTTP 算法預(yù)測(cè)值與真實(shí)值對(duì)比圖
圖5 一周的數(shù)據(jù)集中BPN N 算法預(yù)測(cè)值與真實(shí)值對(duì)比圖
圖6 一周的數(shù)據(jù)集中OSVR算法預(yù)測(cè)值與真實(shí)值對(duì)比圖
1. 三種算法的參數(shù)設(shè)置。數(shù)據(jù)集中共有280 組數(shù)據(jù),將前245 組數(shù)據(jù)作為訓(xùn)練集,后35 組數(shù)據(jù)作為測(cè)試集,三種算法參數(shù)設(shè)置如下:(1)OSELM-TTP:算法中要設(shè)置的參數(shù)為隱層神經(jīng)元個(gè)數(shù)和激活函數(shù),通過(guò)試湊法得到的隱層神經(jīng)元個(gè)數(shù)為10,學(xué)習(xí)函數(shù)設(shè)為sin。(2)OSVR:設(shè)置的核函數(shù)為RBF, 參數(shù)C 和ε 分別為0.3 和0.01。(3)BPNN:MATLAB 中用newff()函數(shù)來(lái)建立3 層的BPNN 預(yù)測(cè)算法,在參數(shù)設(shè)置時(shí),將隱層神經(jīng)元個(gè)數(shù)設(shè)為8,學(xué)習(xí)函數(shù)為learngdm,輸入層、隱層和輸出層的激活函數(shù)分別為:tansig、tansig、tansig。訓(xùn)練函數(shù)設(shè)置為traingdm。
2.實(shí)驗(yàn)及結(jié)果分析。實(shí)驗(yàn)得到的預(yù)測(cè)值與真實(shí)值對(duì)比如圖4、圖5、圖6。橫坐標(biāo)表示預(yù)測(cè)行程時(shí)間值的總數(shù),而縱坐標(biāo)表示的是預(yù)測(cè)的行程時(shí)間,其單位為m。從圖中可以看出,OSELM-TTP 的預(yù)測(cè)曲線與真實(shí)數(shù)據(jù)曲線的波動(dòng)相似,而OSVR 算法在數(shù)據(jù)出現(xiàn)波動(dòng)時(shí),預(yù)測(cè)的曲線卻呈現(xiàn)出一個(gè)平滑的狀態(tài),這說(shuō)明算法時(shí)變性不強(qiáng),而B(niǎo)PNN 預(yù)測(cè)的曲線波動(dòng)較多,不能體現(xiàn)BPNN 預(yù)測(cè)的穩(wěn)定性,因此,綜合來(lái)看,OSELM-TTP 的預(yù)測(cè)結(jié)果更接近于真實(shí)結(jié)果,預(yù)測(cè)的精度最高。三種預(yù)測(cè)算法的評(píng)估指標(biāo)對(duì)比如表3 所示。
從表3 分析得到:(1)從MSE 可以看出,OSELM-TTP 得到的值為0.005594,而OSVR 和BPNN 得到的值分別為0.008720 和0.030222,相比之下,OSELM-TTP 的誤差最小,預(yù)測(cè)精確度最好。(2) 從MAE 和MRE 可以看出,OSELM-TTP 的值比OSVR 要小,兩者相差不大,而OSVR 的值比BPNN 要小,表明OSELM 預(yù)測(cè)的效果最好。(3) 從EC 可以看出,OSELM-TTP 的EC 值為0.897106,而OSVR 和BPNN 的值分別為0.869912 和0.785791,均低于OSELM-TTP 的EC 值。表明OSELM-TTP 得到的預(yù)測(cè)值和真實(shí)值的擬合效果最好,精確度比OSVR 和BPNN 的精確度要高。
綜合以上兩種數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果,可以表明OSELM-TTP 所得到的預(yù)測(cè)結(jié)果比OSVR 和BPNN 更接近于真實(shí)數(shù)據(jù)。因此OSELM-TTP 在行程時(shí)間預(yù)測(cè)具有實(shí)際應(yīng)用價(jià)值,適用于行程時(shí)間預(yù)測(cè)。