
本發(fā)明涉及深度學(xué)習(xí)、交通流量預(yù)測(cè)、神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)、神經(jīng)網(wǎng)絡(luò)模型的集群訓(xùn)練等技術(shù),特別是一種基于道路聚類和雙層lstm(longshort-termmemory,長(zhǎng)短期記憶)深度神經(jīng)網(wǎng)絡(luò)模型的交通流量預(yù)測(cè)方法,對(duì)于提高交通流量預(yù)測(cè)精度及速度方面有著指導(dǎo)意義。
背景技術(shù):
:隨著大數(shù)據(jù)時(shí)代的到來,大城市實(shí)時(shí)的交通網(wǎng)絡(luò)數(shù)據(jù)逐漸增加,人工智能交通預(yù)測(cè)作為當(dāng)前熱門的無人駕駛技術(shù)中最關(guān)鍵的應(yīng)用之一,可以在考慮時(shí)空關(guān)系后對(duì)交通情況作出合理預(yù)測(cè),幫助車輛選擇最合適的路線,特別是在城市擁堵情況下的路線選擇更具有現(xiàn)實(shí)意義,提高交通流量預(yù)測(cè)精度和速度的意義也就不言而喻。為了提高預(yù)測(cè)準(zhǔn)確度,出現(xiàn)了各種復(fù)雜的神經(jīng)網(wǎng)絡(luò)和預(yù)測(cè)算法,例如:基于svm(supportvectormachine,支持向量機(jī))道路車流量預(yù)測(cè)模型,基于lstm(longshort-termmemory,長(zhǎng)短期記憶)的交通流量預(yù)測(cè)方法,基于卷積神經(jīng)網(wǎng)絡(luò)的短期交通流量預(yù)測(cè)方法等,但這些模型忽視了數(shù)據(jù)本身隱藏的信息:在數(shù)據(jù)預(yù)處理階段,沒有充分挖掘和利用路網(wǎng)的拓?fù)浣Y(jié)構(gòu)建立空間信息,在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)方面,也忽視了某些重要信息的復(fù)用,比如需要預(yù)測(cè)某條路某時(shí)刻的交通流量,那么該條路在上一時(shí)刻的交通流量至關(guān)重要,可適當(dāng)作為多個(gè)網(wǎng)絡(luò)層的輸入實(shí)現(xiàn)信息的復(fù)用,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型時(shí),大多數(shù)的設(shè)計(jì)都是將所有的數(shù)據(jù)統(tǒng)統(tǒng)輸入到一個(gè)神經(jīng)網(wǎng)絡(luò)模型中讓它去學(xué)習(xí)數(shù)據(jù)隱藏的規(guī)律和信息,這樣的方式直接忽視了道路之間的差異性,默認(rèn)道路之間數(shù)據(jù)的規(guī)律幾乎是一致的,實(shí)際上在交通預(yù)測(cè)的大量數(shù)據(jù)中,某些道路的交通流量序列差異非常大,而有些序列差異卻很小,導(dǎo)致訓(xùn)練出來的模型在預(yù)測(cè)精度上很難有較大的提高。本發(fā)明采用道路聚類的方式很好的解決了上述道路之間的交通流量序列差異大的問題,在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)時(shí),也充分利用了數(shù)據(jù)隱含的路網(wǎng)拓?fù)浣Y(jié)構(gòu)信息,使得本發(fā)明的預(yù)測(cè)精度相對(duì)于現(xiàn)有技術(shù)的預(yù)測(cè)精度有較大的提高。為了加快神經(jīng)網(wǎng)絡(luò)模型在集群中訓(xùn)練和測(cè)試的速度,出現(xiàn)了許多加速的方式,例如通過小輸入學(xué)習(xí)大輸入的基于深度神經(jīng)網(wǎng)絡(luò)的模型加速方法,通過小網(wǎng)絡(luò)學(xué)習(xí)大網(wǎng)絡(luò)的基于深度神經(jīng)網(wǎng)絡(luò)的模型加速方法,shufflenet:anextremelyefficientconvolutionalneuralnetworkformobiledevices,self-normalizingneuralnetworks等,但這些方式都是以改變神經(jīng)網(wǎng)絡(luò)模型本身為前提來加速集群訓(xùn)練的速度,而忽視了深度學(xué)習(xí)框架本身的集群訓(xùn)練時(shí)間的限制,而且目前的神經(jīng)網(wǎng)絡(luò)集群訓(xùn)練方式大多使用深度學(xué)習(xí)框架自帶的集群訓(xùn)練,但傳統(tǒng)的深度學(xué)習(xí)框架自帶的集群訓(xùn)練都需要神經(jīng)網(wǎng)絡(luò)模型在節(jié)點(diǎn)之間頻繁地通信和同步,比如paddlepaddle,這使得集群訓(xùn)練的速度很難有較大的提高。技術(shù)實(shí)現(xiàn)要素:針對(duì)目前神經(jīng)網(wǎng)絡(luò)對(duì)交通流量預(yù)測(cè)的精度和速度較難提高的現(xiàn)狀以及現(xiàn)有設(shè)計(jì)存在的一些不足,提出了一種基于道路聚類和雙層雙向lstm深度神經(jīng)網(wǎng)絡(luò)模型的交通流量預(yù)測(cè)方法,充分利用數(shù)據(jù)隱藏的信息并實(shí)現(xiàn)重要信息的復(fù)用,對(duì)道路進(jìn)行相關(guān)性聚類,提高了交通流量預(yù)測(cè)的精度,同時(shí)避免了神經(jīng)網(wǎng)絡(luò)模型在集群訓(xùn)練時(shí)在節(jié)點(diǎn)之間的通信和同步,提高了集群訓(xùn)練的速度。本發(fā)明技術(shù)解決方案:本發(fā)明同時(shí)提高了深度神經(jīng)網(wǎng)絡(luò)在交通流量預(yù)測(cè)方面的預(yù)測(cè)速度和精度。在數(shù)據(jù)處理階段,對(duì)缺失值進(jìn)行填補(bǔ)來擴(kuò)充訓(xùn)練數(shù)據(jù)、同時(shí)利用時(shí)間和空間信息讓神經(jīng)網(wǎng)絡(luò)能學(xué)到更多數(shù)據(jù)提供的信息、根據(jù)部分歷史流量序列對(duì)道路計(jì)算相關(guān)性并根據(jù)相關(guān)性對(duì)道路進(jìn)行聚類,將道路分成若干類之后單獨(dú)對(duì)每類分開進(jìn)行訓(xùn)練,進(jìn)而提高預(yù)測(cè)精度;在神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)方面,利用雙層雙向lstm的結(jié)構(gòu),且在每層lstm之后加入兩層全連接層,同時(shí)對(duì)流量數(shù)據(jù)相關(guān)的信息進(jìn)行復(fù)用,提高模型的預(yù)測(cè)精度;在神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和測(cè)試階段,利用批處理方式將每類道路的訓(xùn)練任務(wù)作為一個(gè)作業(yè)提交到集群上進(jìn)行訓(xùn)練和測(cè)試,提高了模型的訓(xùn)練和測(cè)試速度;最后將不同聚類的模型的預(yù)測(cè)結(jié)果進(jìn)行融合,提高預(yù)測(cè)精度。本發(fā)明在交通流量預(yù)測(cè)過程中,提出了填補(bǔ)缺失值、數(shù)據(jù)信息的復(fù)用、雙層雙向lstm的網(wǎng)絡(luò)結(jié)構(gòu)、道路聚類以及模型融合等方法,提高了神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)精度,同時(shí)拋開了神經(jīng)網(wǎng)絡(luò)模型在集群上傳統(tǒng)的訓(xùn)練和測(cè)試方法,提出了利用批量提交作業(yè)的方式進(jìn)行神經(jīng)網(wǎng)絡(luò)模型的集群訓(xùn)練和測(cè)試,避免了模型訓(xùn)練和測(cè)試過程中頻繁的通信和同步問題,提高了神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和測(cè)試速度。本發(fā)明的一種基于道路聚類和雙層雙向lstm的交通流量預(yù)測(cè)方法,具體包括以下步驟:(1)原始訓(xùn)練數(shù)據(jù)格式化,訓(xùn)練數(shù)據(jù)中的交通流量用1到n之間的數(shù)字量化,1表示道路非常通暢,n表示道路非常擁堵,道路擁堵情況由1到n遞增,0表示缺失值;數(shù)據(jù)格式可準(zhǔn)備成如圖1所示,左邊表格為道路在相應(yīng)時(shí)刻對(duì)應(yīng)的流量信息,右邊表格為路網(wǎng)的拓?fù)浣Y(jié)構(gòu)。(2)檢查訓(xùn)練數(shù)據(jù)中交通流量是否存在缺失值0,若存在,轉(zhuǎn)到步驟(3),若不存在,跳到步驟(4);(3)對(duì)缺失值采取周圍平均化的方式填補(bǔ)數(shù)據(jù),直至填補(bǔ)完所有缺失值;(4)根據(jù)道路的部分歷史交通流量序列計(jì)算各條道路之間相關(guān)性,并根據(jù)相關(guān)性利用k-means算法進(jìn)行道路聚類,將道路分為若干類,每類道路包括了若干條道路;(5)利用步驟(4)計(jì)算的各條路之間相關(guān)性,提取數(shù)據(jù)的時(shí)間和空間信息;(6)設(shè)計(jì)雙層雙向的lstm深度神經(jīng)網(wǎng)絡(luò)模型對(duì)每類道路分別進(jìn)行訓(xùn)練,神經(jīng)網(wǎng)絡(luò)模型如圖3所示,其中包括以下部分:對(duì)于步驟(5)提取的所有信息,即時(shí)間和空間信息通過數(shù)據(jù)層輸入到模型中,數(shù)據(jù)層的每個(gè)輸出都接一層嵌入層,嵌入層中除了有關(guān)交通流量之和的其余輸出作為第一層lstm的輸入,第一層lstm的輸出結(jié)果與嵌入層有關(guān)交通流量之和的輸出以及相應(yīng)道路的交通流量合并到一起作為兩層全連接層的輸入,全連接層的全部輸出作為第二層lstm的輸入,第二層lstm的輸出結(jié)果作為另外兩層全連接層的輸入,兩層全連接層的輸出再接一個(gè)全連接層,最后輸出預(yù)測(cè)結(jié)果,其中兩層lstm均為雙向的lstm;(7)將每類道路需要訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型和數(shù)據(jù)看成一個(gè)作業(yè),利用批處理腳本提交到集群上運(yùn)行,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)模型的集群訓(xùn)練,從而得到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型;(8)利用步驟(7)訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型對(duì)需要預(yù)測(cè)的數(shù)據(jù)進(jìn)行預(yù)測(cè),預(yù)測(cè)時(shí)將每個(gè)預(yù)測(cè)任務(wù)看成一個(gè)作業(yè),用批處理腳本提交到集群上進(jìn)行預(yù)測(cè),收集(在步驟4中對(duì)道路進(jìn)行聚類,因此道路會(huì)被分為若干類,每類道路里面包括了若干條道路,每條道路指的是某類中的每條道路,而不是所有道路中的每條道路,具體的聚類類別數(shù)取值范圍在后面的步驟(4-3)中給出了)每類道路的預(yù)測(cè)結(jié)果并合并到一起;(9)選擇不同的聚類類別數(shù)(聚類的時(shí)候可以根據(jù)需要聚成不同的類別數(shù),比如第一次可以聚2類,第二次可以聚3類,通俗來講就是將道路劃分成不同的類別數(shù),比如第一次將道路劃分成2類,第二次劃分成3類),重復(fù)步驟(4)到(8)若干次;(10)將若干次的預(yù)測(cè)結(jié)果進(jìn)行融合得到最終預(yù)測(cè)結(jié)果。(對(duì)于不同的聚類類別數(shù),也就、是不同的劃分類別數(shù),會(huì)得到若干個(gè)結(jié)果,比如上面的第一次將道路劃分成2類,得到一個(gè)預(yù)測(cè)結(jié)果,第二次將道路劃分成3類,得到一個(gè)預(yù)測(cè)結(jié)果,將這兩次得到的結(jié)果取平均值得到最終的預(yù)測(cè)結(jié)果,最終預(yù)測(cè)結(jié)果才是有意義的)。所述步驟(3)中的填補(bǔ)數(shù)據(jù)的具體流程為:對(duì)于序列{x,0,0,…,0,y},其中x與y之間共有i個(gè)連續(xù)的缺失值0,則填補(bǔ)方式為:p=random(0,1),即p隨機(jī)選取0到1之間的某個(gè)數(shù)i為奇數(shù)時(shí),i為偶數(shù)時(shí),其中表示下取整,表示上取整,若填補(bǔ)完后序列變成{x,0,…,0,m,0,…,0,y},則對(duì)序列{x,0,…,0,m}和序列{m,0,…,0,y}同樣以上述方式填補(bǔ),以此類推直到填補(bǔ)完所有缺失值;p在本行的前5行定義了,p是隨機(jī)選取的0到1之間的某個(gè)數(shù),m是利用上述方式填補(bǔ)好的值。所述步驟(4)包括以下幾個(gè)子步驟:(4-1)選取訓(xùn)練數(shù)據(jù)的20-25%,即具體為:對(duì)每條道路,選取相同時(shí)刻的一段連續(xù)的訓(xùn)練數(shù)據(jù),即交通流量,該一段連續(xù)的訓(xùn)練數(shù)據(jù)段數(shù)據(jù)占這條道路總訓(xùn)練數(shù)據(jù)的20-25%;(4-2)根據(jù)選取出來的歷史交通流量計(jì)算每條道路之間的相關(guān)性,得到相關(guān)性矩陣;(4-3)根據(jù)道路之間的相關(guān)性對(duì)道路進(jìn)行k-means聚類,聚類的類數(shù)為道路總數(shù)的2%-10%,由于每類道路的訓(xùn)練需要在集群上利用批處理腳本進(jìn)行提交,類數(shù)可以設(shè)置為集群節(jié)點(diǎn)數(shù)的整數(shù)倍。所述步驟(5)中的提取數(shù)據(jù)的時(shí)間信息包括:星期幾weekday;是否為周六或周日is_weekend、;小時(shí)hour;分鐘minute;空間信息包括:道路的編號(hào)road_id;道路在某時(shí)刻所對(duì)應(yīng)的交通流量speed;在直接通往某條道路的道路中,即所有入路中,與該條道路最相關(guān)的道路在某時(shí)刻所對(duì)應(yīng)的交通流量in_speed;在某條道路直接通往的道路中,即所有出路中,與該條道路最相關(guān)的道路在某時(shí)刻所對(duì)應(yīng)的交通流量out_speed;直接通往某條道路的所有道路,即所有入路,在某時(shí)刻所對(duì)應(yīng)的交通流量之和in_spd_sum;某條道路直接通往的所有道路,即所有出路,在某時(shí)刻所對(duì)應(yīng)的交通流量之和out_spd_sum;直接通往某條道路的道路總條數(shù),即所有入路總條數(shù)in_road_sum;某條道路直接通往的道路總條數(shù),即所有出路總條數(shù)out_road_sum;若沒有道路直接通往某條道路,即沒有入路,或者某條道路沒有直接通往的道路,即沒有出路,則相應(yīng)的交通流量或交通流量之和設(shè)置為0,比如:若編號(hào)為02的道路沒有直接通往的道路即出路,則該條道路相應(yīng)的out_speed、out_spd_sum都設(shè)置為0。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:(1)本發(fā)明通過對(duì)訓(xùn)練數(shù)據(jù)存在缺失值時(shí),對(duì)丟失值采取周圍平均化的方式填補(bǔ)缺失數(shù)據(jù),提高預(yù)測(cè)精度;(2)本發(fā)明通過一種根據(jù)歷史流量數(shù)據(jù)對(duì)道路進(jìn)行相關(guān)性聚類,將道路分成若干組,并在數(shù)據(jù)預(yù)處理階段同時(shí)利用時(shí)間信息和空間信息,進(jìn)一步提高了預(yù)測(cè)精度;(3)本發(fā)明設(shè)計(jì)了一種雙層雙向lstm深度神經(jīng)網(wǎng)絡(luò)模型,提高模型的預(yù)測(cè)精度;(4)本發(fā)明提出了一種對(duì)網(wǎng)絡(luò)模型進(jìn)行批量訓(xùn)練和測(cè)試的方法,加快神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和測(cè)試速度;(5)本發(fā)明提出了一種多模型融合方法,提高預(yù)測(cè)精度;(6)本發(fā)明的神經(jīng)網(wǎng)絡(luò)集群訓(xùn)練方式?jīng)]有使用深度學(xué)習(xí)框架自帶的集群訓(xùn)練,而是利用批處理的方式將每個(gè)訓(xùn)練任務(wù)當(dāng)成作業(yè)提交到集群中進(jìn)行訓(xùn)練,例如:利用htcondor作業(yè)提交腳本。本發(fā)明避免了神經(jīng)網(wǎng)絡(luò)模型在集群節(jié)點(diǎn)之間頻繁的通信和同步,大大提高了集群訓(xùn)練速度。附圖說明圖1是訓(xùn)練數(shù)據(jù)格式樣例;圖2是本發(fā)明神經(jīng)網(wǎng)絡(luò)進(jìn)行交通流量預(yù)測(cè)時(shí)在集群上訓(xùn)練和測(cè)試的流程圖;圖3是本發(fā)明雙層雙向lstm深度神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)圖。具體實(shí)施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。本發(fā)明的基本思路在于,對(duì)缺失數(shù)據(jù)進(jìn)行填補(bǔ),根據(jù)道路的部分歷史交通流量的相關(guān)性進(jìn)行聚類,充分提取數(shù)據(jù)的信息輸入到神經(jīng)網(wǎng)絡(luò)中,并利用批處理腳本(例如htcondor作業(yè)提交腳本)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)模型集群的訓(xùn)練和測(cè)試,重復(fù)聚類、模型訓(xùn)練和測(cè)試等步驟兩到三次以得到兩到三個(gè)不同的預(yù)測(cè)結(jié)果,將預(yù)測(cè)結(jié)果進(jìn)行融合得到最終預(yù)測(cè)結(jié)果。本發(fā)明的應(yīng)用實(shí)例如圖2所示。對(duì)于訓(xùn)練數(shù)據(jù)若有缺失值采取周圍平均化的方式進(jìn)行填補(bǔ),根據(jù)每條道路的部分歷史交通流量序列計(jì)算道路之間的相關(guān)性,并根據(jù)相關(guān)性進(jìn)行道路聚類將道路分成若干類;同時(shí)利用道路的相關(guān)性,結(jié)合訓(xùn)練數(shù)據(jù)的時(shí)空信息提取出合適的信息作為神經(jīng)網(wǎng)絡(luò)的輸入;利用設(shè)計(jì)好的雙層雙向lstm深度神經(jīng)網(wǎng)絡(luò)模型對(duì)每類道路分別進(jìn)行訓(xùn)練,其中神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖3所示,將數(shù)據(jù)預(yù)處理時(shí)提取的信息經(jīng)過數(shù)據(jù)層之后輸入到網(wǎng)絡(luò)中,數(shù)據(jù)層輸出的時(shí)間信息和部分空間信息合并在一起后經(jīng)過第一層雙向lstm層,再與數(shù)據(jù)層輸出的其余空間信息合并在一起作為全連接層的輸入,經(jīng)過兩層全連接層之后再經(jīng)過第二層雙向lstm,最后經(jīng)過三層全連接層并輸出預(yù)測(cè)結(jié)果;將每類道路的訓(xùn)練任務(wù)作為作業(yè),利用批處理腳本提交到集群上執(zhí)行;利批處理腳本提交每類道路的預(yù)測(cè)任務(wù)到集群中,調(diào)用訓(xùn)練好的模型進(jìn)行預(yù)測(cè);將每類道路的預(yù)測(cè)結(jié)果合并在一起;重復(fù)執(zhí)行聚類、模型訓(xùn)練、預(yù)測(cè)等步驟兩到三次,生成兩到三個(gè)預(yù)測(cè)結(jié)果;對(duì)預(yù)測(cè)結(jié)果求平均值作為最終預(yù)測(cè)結(jié)果。如圖2所示,本發(fā)明神經(jīng)網(wǎng)絡(luò)進(jìn)行交通流量預(yù)測(cè)時(shí)在集群上訓(xùn)練和測(cè)試的方法包括以下步驟:(1)原始訓(xùn)練數(shù)據(jù)格式化。訓(xùn)練數(shù)據(jù)中的交通流量用1到n之間的數(shù)字量化,1表示道路非常通暢,n表示道路非常擁堵,道路擁堵情況由1到n遞增,0表示缺失值;訓(xùn)練數(shù)據(jù)給出了日期和時(shí)刻(年-月-日-小時(shí)-分鐘)、道路編號(hào)、某時(shí)刻某條路對(duì)應(yīng)的交通流量以及路網(wǎng)的拓?fù)浣Y(jié)構(gòu)(有向圖)。數(shù)據(jù)格式可準(zhǔn)備成如圖1所示,在左邊的表格中,第一行表示時(shí)刻,201603010800表示2016年3月1號(hào)8點(diǎn)整;第一列表示道路編號(hào),表格中間的主體部分表示某條道路在某時(shí)刻對(duì)應(yīng)的交通流量,比如表格中第二行的2表示道路1在2016年9月2號(hào)23點(diǎn)55分時(shí)刻的交通流量為2(較通暢),表格中的0表示編號(hào)為3998的道路在2016年9月2號(hào)23點(diǎn)55分時(shí)刻的交通流量缺失。右邊的表格表示路網(wǎng)拓?fù)浣Y(jié)構(gòu),第一列是路網(wǎng)中有向邊的起始道路編號(hào),第二列表示目的道路編號(hào),比如第一行中的1、3998表示從道路1有一個(gè)路口可以直接到達(dá)道路3998。(2)檢查訓(xùn)練數(shù)據(jù)中交通流量是否存在缺失值0,若存在,轉(zhuǎn)到步驟(3),若不存在,跳到步驟(4)。(3)對(duì)缺失值采取周圍平均化的方式填補(bǔ)數(shù)據(jù)。具體流程為:對(duì)于序列{x,0,0,…,0,y},其中x與y之間共有i個(gè)連續(xù)的缺失值0,則填補(bǔ)方式為:p=random(0,1),即p隨機(jī)選取0到1之間的某個(gè)數(shù)i為奇數(shù)時(shí),i為偶數(shù)時(shí),其中表示下取整,表示上取整。若填補(bǔ)完后序列變成{x,0,…,0,m,0,…,0,y},則對(duì)序列{x,0,…,0,m}和序列{m,0,…,0,y}同樣以上述方式填補(bǔ)。以此類推直到填補(bǔ)完所有缺失值。(4)根據(jù)道路的部分歷史交通流量序列計(jì)算各條路之間相關(guān)性,并根據(jù)相關(guān)性利用k-means算法進(jìn)行道路聚類。(4-1)選取訓(xùn)練數(shù)據(jù)的20-25%,以圖1所示訓(xùn)練數(shù)據(jù)為例,選取左側(cè)表格中的連續(xù)n列數(shù)據(jù),其中n占總列數(shù)的20-25%,即對(duì)每條道路,選取相同時(shí)刻的一段連續(xù)的訓(xùn)練數(shù)據(jù)(交通流量),該段數(shù)據(jù)占這條道路總訓(xùn)練數(shù)據(jù)的20-25%。(4-2)根據(jù)選取出來的歷史交通流量計(jì)算每條道路之間的相關(guān)性,得到相關(guān)性矩陣。(4-3)根據(jù)道路之間的相關(guān)性對(duì)道路進(jìn)行k-means聚類,聚類的類數(shù)一般在道路總數(shù)的2%-10%之間,由于每類道路的訓(xùn)練需要在集群上利用批處理腳本進(jìn)行提交,因此類數(shù)可設(shè)置為集群節(jié)點(diǎn)數(shù)的整數(shù)倍,具體可根據(jù)不同的實(shí)驗(yàn)和數(shù)據(jù)選擇不同的類數(shù)。(5)利用步驟(4)計(jì)算的相關(guān)性,提取數(shù)據(jù)的時(shí)間和空間信息如下(訓(xùn)練數(shù)據(jù)格式以圖1所示的為例):(6)設(shè)計(jì)雙層雙向的lstm深度神經(jīng)網(wǎng)絡(luò)模型對(duì)每類道路分別進(jìn)行訓(xùn)練。神經(jīng)網(wǎng)絡(luò)模型如圖3所示,其中包括以下部分:對(duì)于步驟(5)提取的所有信息通過數(shù)據(jù)層輸入到模型中,數(shù)據(jù)層的每個(gè)輸出都接一層嵌入層(embedding層),嵌入層中除了有關(guān)交通流量之和的其余輸出作為第一層lstm的輸入,第一層lstm的輸出結(jié)果與嵌入層有關(guān)交通流量之和的輸出以及該條路的交通流量合并到一起作為兩層全連接層的輸入,全連接層的全部輸出作為第二層lstm的輸入,第二層lstm的輸出結(jié)果作為另外兩層全連接層的輸入,兩層全連接層的輸出再接一個(gè)全連接層,最后輸出預(yù)測(cè)結(jié)果,其中兩層lstm均為雙向的lstm。更詳細(xì)的設(shè)計(jì)可參考圖2。(7)將每類道路需要訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型和數(shù)據(jù)看成一個(gè)作業(yè),利用批處理腳本(例如htcondor作業(yè)提交腳本)提交到集群上運(yùn)行,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)模型的集群訓(xùn)練。(8)利用步驟(7)訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型對(duì)需要預(yù)測(cè)的數(shù)據(jù)進(jìn)行預(yù)測(cè),預(yù)測(cè)時(shí)將每個(gè)預(yù)測(cè)任務(wù)看成一個(gè)作業(yè),用批處理腳本提交到集群上進(jìn)行預(yù)測(cè),收集每類道路的預(yù)測(cè)結(jié)果并合并到一起。(9)重復(fù)步驟(4)到(7)若干次,其中步驟(4)聚類時(shí)選擇的類別數(shù)不同于之前聚類的類別數(shù)。(10)將若干次的預(yù)測(cè)結(jié)果進(jìn)行融合得到最終預(yù)測(cè)結(jié)果。具體流程為:預(yù)測(cè)結(jié)果的數(shù)據(jù)格式與訓(xùn)練數(shù)據(jù)一致,以圖1所示訓(xùn)練數(shù)據(jù)格式為例,若每次預(yù)測(cè)結(jié)果的數(shù)據(jù)如下表所示:2017030108002017030108012017030108022017030108031022x1x2x3x41023y1y2y3y4則取每次預(yù)測(cè)結(jié)果中相同道路在相同時(shí)刻的預(yù)測(cè)值求平均值作為最終預(yù)測(cè)結(jié)果。例如取每次預(yù)測(cè)結(jié)果中的x1,對(duì)取出來的所有x1求平均值做為道路1022在2017年3月1號(hào)8點(diǎn)時(shí)刻的最終預(yù)測(cè)值。以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的保護(hù)范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的
技術(shù)領(lǐng)域:
,均同理包括在本發(fā)明的保護(hù)范圍內(nèi)。當(dāng)前第1頁(yè)12