鄺先驗(yàn), 羅會(huì)超, 鐘 蕊, 歐陽(yáng)鵬
(江西理工大學(xué) 電氣工程與自動(dòng)化學(xué)院,江西 贛州 341000)
在許多大型城市,人們常常把城市福利和公交出行聯(lián)系在一起。私有汽車(chē)數(shù)量、城市人口的增加和許多不確定因素導(dǎo)致傳統(tǒng)的公交到站時(shí)間預(yù)測(cè)方法準(zhǔn)確率較低,進(jìn)而影響乘車(chē)人的出行。考慮到傳統(tǒng)預(yù)測(cè)的不足在很大程度上影響大眾出行選擇和公交公司的收益。因此,尋找更加有效的公交到站時(shí)間預(yù)測(cè)方法顯得日益重要。
目前,國(guó)內(nèi)外學(xué)者對(duì)公交到站時(shí)間預(yù)測(cè)進(jìn)行多種研究,如文獻(xiàn)[1]提出將公交到站時(shí)間表現(xiàn)形式分為不同路段的運(yùn)行時(shí)間和不同站點(diǎn)的停靠時(shí)間,以及上班日和休息日的公交到站數(shù)據(jù);文獻(xiàn)[2]針對(duì)公交全球定位系統(tǒng)(GPS)數(shù)據(jù)進(jìn)行公交到站時(shí)間預(yù)測(cè),提出了一種新型模糊隸屬度算法;胡繼華等人[3]劃分不同時(shí)段下的公交GPS數(shù)據(jù),并利用移動(dòng)誤差補(bǔ)償改進(jìn)了馬爾科夫鏈預(yù)測(cè)模型;Peng Z等人[4]針對(duì)支持向量機(jī)應(yīng)用時(shí)輸入指標(biāo)之間的相關(guān)性和核函數(shù)參數(shù)標(biāo)定的不足,提出了一種基于主成分分析(principal component analysis,PCA)—遺傳算法(genetic algorithm,GA)—支持向量機(jī)(support vector machine,SVM)的預(yù)測(cè)方法,以提高公交車(chē)到達(dá)時(shí)間預(yù)測(cè)的精度;文獻(xiàn)[5]根據(jù)客流分配關(guān)系、上下車(chē)人數(shù)、車(chē)內(nèi)擁擠度、建立旅客上下車(chē)時(shí)間預(yù)測(cè)模型,再通過(guò)對(duì)比時(shí)間關(guān)系進(jìn)行回歸分析。
上述研究方法雖然在某種程度上取得了一定效果,但依舊比較傳統(tǒng),主要是第一代或第二代神經(jīng)網(wǎng)絡(luò)模型,部分神經(jīng)網(wǎng)絡(luò)自身具有局限性和適用性,因此,許多模型在更換數(shù)據(jù)種類(lèi)后,仍然無(wú)法更加精準(zhǔn)地預(yù)測(cè)結(jié)果。本文在考慮時(shí)空特性的基礎(chǔ)上,采用第三代神經(jīng)網(wǎng)絡(luò)中最接近生物神經(jīng)元的Spiking神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN),考慮了時(shí)間信息的影響。同時(shí),利用搜索能力更強(qiáng)的布谷鳥(niǎo)搜索(cuckoo search,CS)算法優(yōu)化SNN模型初始參數(shù),進(jìn)一步提高了全局搜索能力、預(yù)測(cè)的準(zhǔn)確性和穩(wěn)定性。在公交到站時(shí)間預(yù)測(cè)的實(shí)際應(yīng)用中,預(yù)測(cè)效果相比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)更好。
最近幾年,隨著人工時(shí)間網(wǎng)絡(luò)的發(fā)展,許多學(xué)者聚焦在第三代神經(jīng)網(wǎng)絡(luò)模型,例如:Spike神經(jīng)元模型的神經(jīng)網(wǎng)絡(luò)[6]。與傳統(tǒng)的神經(jīng)元傳遞函數(shù)不同,Spiking神經(jīng)元是SNN的基本單元,Spike模型根據(jù)神經(jīng)元傳遞時(shí)間點(diǎn)對(duì)信息進(jìn)行編碼,使得該模型更近似于生物神經(jīng)元。在SNN中,學(xué)習(xí)算法的選取對(duì)其性能有著至關(guān)重要的影響,除了無(wú)監(jiān)督學(xué)習(xí)算法外,文獻(xiàn)[7]中提出的SpikeProp(spike propagation,Prop)算法具有有效的監(jiān)督學(xué)習(xí)能力,本文選用其脈沖響應(yīng)模型(spike response mode,SRM) 中一種0階簡(jiǎn)化模型SRM0當(dāng)作脈沖響應(yīng)模型[8], SRM0模型采用3層前向SNN結(jié)構(gòu),以神經(jīng)元h和i連接為例,進(jìn)一步分析任意相鄰兩個(gè)神經(jīng)元間的連接結(jié)構(gòu),如圖1所示。
圖1 神經(jīng)元間多個(gè)有延遲突觸終端的連接
(1)
(2)
(3)
(4)
雖然脈沖神經(jīng)網(wǎng)絡(luò)特有的編碼方式和多突觸結(jié)構(gòu),使其擁有良好的運(yùn)算能力和極佳的適用能力。但是,該算法仍然使用梯度信息進(jìn)行參數(shù)的重置,同樣易于陷入局部最優(yōu)解。此外,網(wǎng)絡(luò)中相鄰神經(jīng)元之間為多突觸連接,連接權(quán)值的選取存在一定的制約。因此,本文利用CS算法對(duì)SNN進(jìn)行有監(jiān)督學(xué)習(xí),克服了該算法的不足。對(duì)公交到站時(shí)間的預(yù)測(cè)結(jié)果表明:CS算法能很好地彌補(bǔ)SNN的缺陷。
通過(guò)模擬布谷鳥(niǎo)巢寄生育雛行為,劍橋大學(xué)楊新社和戴布 S教授提出了一種新興啟發(fā)算法:CS算法[9,10]。CS算法的關(guān)鍵參數(shù)僅為外來(lái)鳥(niǎo)蛋被發(fā)現(xiàn)的概率和種群數(shù)目,整個(gè)算法操作簡(jiǎn)單、易于實(shí)現(xiàn)。作為一種通用型算法,CS 算法易于與其他算法相結(jié)合,進(jìn)而獲得性能更加優(yōu)越的混合算法[11]。
布谷鳥(niǎo)尋找宿主鳥(niǎo)巢的位置更新公式如下
(5)
(6)
根據(jù)上述過(guò)程,CS算法優(yōu)化SNN預(yù)測(cè)公交到站時(shí)間的實(shí)現(xiàn)過(guò)程如下:
Step1 首先收集公交行車(chē)歷史數(shù)據(jù),結(jié)合有代表性的數(shù)據(jù)特點(diǎn),確定神經(jīng)網(wǎng)絡(luò)的輸入、隱含層和輸出層結(jié)構(gòu)。
Step2 設(shè)置CS算法最小和最大步長(zhǎng)、迭代次數(shù)200次、初始的概率參數(shù)Pa=0.5,在給定的空間范圍內(nèi)隨機(jī)產(chǎn)生n個(gè)鳥(niǎo)巢P0=(p1(0),p2(0),…,pn(0))。其中每個(gè)鳥(niǎo)巢代表一組將要優(yōu)化訓(xùn)練的SNN的連接權(quán)值與突觸連接的延時(shí)參數(shù),按照適應(yīng)度函數(shù)進(jìn)行計(jì)算(適應(yīng)度函數(shù)為均方差誤差函數(shù)),找到當(dāng)前最優(yōu)的鳥(niǎo)巢位置pb(0)。
Step4 將迭代多次的最優(yōu)質(zhì)的鳥(niǎo)巢pb(t+1)作為SNN的網(wǎng)絡(luò)連接權(quán)值與突觸連接的延時(shí)參數(shù),再訓(xùn)練神經(jīng)網(wǎng)絡(luò),最終輸出公交到站時(shí)間的預(yù)測(cè)結(jié)果并分析。
本文采用單個(gè)隱含層的網(wǎng)絡(luò)結(jié)構(gòu),并根據(jù)經(jīng)驗(yàn)公式計(jì)算隱含層節(jié)點(diǎn)數(shù)
(7)
式中L為隱含層神經(jīng)元數(shù),x為輸入神經(jīng)元數(shù),y為輸出神經(jīng)元數(shù),同時(shí)q取整數(shù)大于1且小于10。為了選擇最適合的L值,下文對(duì)不同神經(jīng)元數(shù)的網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè)誤差分析。
對(duì)公交站到站時(shí)間的預(yù)測(cè)誤差分析,本文使用平均絕對(duì)誤差(mean absolute error,MAE)、平均絕對(duì)百分比誤差(mean absolute percentage error,MAPE)和均方根誤差(root mean square error,RMSE)誤差分析法
(8)
(9)
(10)
式中Yi為真實(shí)數(shù)據(jù),Pi為預(yù)測(cè)數(shù)據(jù),n為預(yù)測(cè)數(shù)據(jù)個(gè)數(shù)。
以2017年中國(guó)贛州公交總站歷史記錄數(shù)據(jù)中K1公交車(chē)的數(shù)據(jù)作為研究對(duì)象,選擇3月1日到3月15日中周一至周日的全部公交到站時(shí)間點(diǎn)作為預(yù)測(cè)數(shù)據(jù),此外,分別選擇3月23日(周四)和3月25日(周六)的到站時(shí)間點(diǎn)作為測(cè)試數(shù)據(jù)。為了進(jìn)一步提高精度,先將到站時(shí)間點(diǎn)轉(zhuǎn)換為時(shí)間戳,即指格林威治時(shí)間自1970年1月1日(00∶00∶00 GMT)至當(dāng)前時(shí)間的總秒數(shù),再分別利用Elman,SNN和CS-SNN預(yù)測(cè)模型進(jìn)行仿真實(shí)驗(yàn),通過(guò)誤差對(duì)比,分析三種模型的預(yù)測(cè)性能。軟件程序在MATLAB 2018a上運(yùn)行,操作系統(tǒng)是Windows10旗艦版64位。預(yù)測(cè)流程如圖2所示。
圖2 預(yù)測(cè)流程圖
本文采用神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)和分析,選擇3月23日(周四)和3月25日(周六)的到站時(shí)間點(diǎn)作為測(cè)試數(shù)據(jù),利用前三站的到站時(shí)刻去預(yù)測(cè)下一站到站時(shí)刻,下一次預(yù)測(cè)時(shí),用第四個(gè)時(shí)刻真實(shí)值代替的預(yù)測(cè)值進(jìn)行循環(huán)預(yù)測(cè)。
SNN 的輸入、輸出數(shù)據(jù)編碼采用Time-to-first-spike方法[12]。兩個(gè)相連神經(jīng)元之間突觸子個(gè)數(shù)m和隱含層神經(jīng)元個(gè)數(shù)均影響著SNN性能。故在測(cè)試過(guò)程中先對(duì)突觸子個(gè)數(shù)和隱含層神經(jīng)元個(gè)數(shù)進(jìn)行了探討。根據(jù)經(jīng)驗(yàn)公式選擇最佳的隱含層神經(jīng)元個(gè)數(shù),計(jì)算不同隱含層神經(jīng)元個(gè)數(shù)下的平均絕對(duì)誤差,取多次實(shí)驗(yàn)的平均值,驗(yàn)證得到最佳參數(shù)設(shè)置:算法為Spike Prop,編碼方式為T(mén)ime-to-first-spike,傳遞函數(shù)為脈沖響應(yīng),輸入層神經(jīng)元個(gè)數(shù)為3,隱含層神經(jīng)元個(gè)數(shù)為8,輸出層神經(jīng)元個(gè)數(shù)為1,突觸子連接數(shù)為16,PSP衰減時(shí)間常數(shù)τ為6 ms,激發(fā)閾值θ為1 mV,算法的迭代步長(zhǎng)為0.1 ms,網(wǎng)絡(luò)學(xué)習(xí)率η為0.05。
為了增加實(shí)驗(yàn)結(jié)果的穩(wěn)定性,分別對(duì)每種預(yù)測(cè)模型進(jìn)行10次實(shí)驗(yàn),預(yù)測(cè)結(jié)果取10次實(shí)驗(yàn)的平均值。將訓(xùn)練數(shù)據(jù)的均方誤差作為子種群的適應(yīng)度函數(shù),對(duì)比CS算法和粒子群算法適應(yīng)度曲線變化,如圖3所示。
圖3 CS和粒子群算法優(yōu)化適應(yīng)度對(duì)比
由圖3可知,在到站時(shí)刻預(yù)測(cè)中CS優(yōu)化算法的適應(yīng)度下降速度明顯大于粒子群算法,且下降過(guò)程波動(dòng)性更小。
取工作日公交行駛數(shù)據(jù)分別代入網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),用實(shí)際值減去預(yù)測(cè)值,進(jìn)一步分析誤差如圖4和表1所示。
圖4 工作日到站預(yù)測(cè)誤差
表1 不同優(yōu)化算法預(yù)測(cè)誤差
由圖4和表1可知,CS-SNN模型預(yù)測(cè)誤差最小,預(yù)測(cè)值更加準(zhǔn)確。
同理,取周末公交行駛數(shù)據(jù)分別代入網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),用實(shí)際值減去預(yù)測(cè)值,進(jìn)一步分析誤差如圖5和表2所示。
圖5 周末到站預(yù)測(cè)誤差
表2 不同優(yōu)化算法預(yù)測(cè)誤差
由圖5和表2可知,同樣是CS-SNN模型預(yù)測(cè)誤差最小,預(yù)測(cè)值更加準(zhǔn)確。
本文利用公交歷史實(shí)測(cè)數(shù)據(jù)對(duì)未來(lái)短期公交到站時(shí)間進(jìn)行預(yù)測(cè),并分析工作日和周末兩個(gè)時(shí)間段預(yù)測(cè)模型的性能。結(jié)果表明CS-SNN模型,相比于傳統(tǒng)網(wǎng)絡(luò)模型,對(duì)公交到站時(shí)間預(yù)測(cè)有良好的效果,無(wú)論是工作日還是周末均可做到精準(zhǔn)的預(yù)測(cè),其精度明顯高于未優(yōu)化的SNN,是一種更加有效的公交到站時(shí)間預(yù)測(cè)方法。
1)利用贛州市K1公交車(chē)歷史記錄數(shù)據(jù)對(duì)Elman,SNN,CS-SNN三種預(yù)測(cè)模型性能進(jìn)行對(duì)比分析。通過(guò)測(cè)試結(jié)果可以看出:SNN比傳統(tǒng)的預(yù)測(cè)模型精確度更高。
2)布谷鳥(niǎo)優(yōu)化算法彌補(bǔ)了SNN預(yù)測(cè)中易陷入局部最優(yōu)等缺陷,使得模型對(duì)非線性數(shù)據(jù)處理能力更強(qiáng)、穩(wěn)定性更好、適用性較高,預(yù)測(cè)效果得到進(jìn)一步提升。
3)從輸入數(shù)據(jù)的角度分析,公交到站預(yù)測(cè)模型仍然具有研究空間。目前的研究主要集中在運(yùn)行時(shí)間和運(yùn)行路線兩種因素,此外如何有效結(jié)合道路情況、天氣氣候等因素,也將是提高到站時(shí)間預(yù)測(cè)精度的方向。