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