一種基于lstm的路段行程時(shí)間預(yù)測方法
【專利摘要】本發(fā)明公開一種基于LSTM的路段行程時(shí)間預(yù)測方法,其特征在于,該方法包括預(yù)測模型生成和未來時(shí)段的行程時(shí)間的預(yù)測兩部分;預(yù)測模型生成包括:步驟A1,對(duì)指定路段的歷史行程時(shí)間數(shù)據(jù)進(jìn)行數(shù)據(jù)歸一化處理;步驟A2,利用歸一化處理后的歷史行程時(shí)間數(shù)據(jù)訓(xùn)練LSTM遞歸神經(jīng)網(wǎng)絡(luò)獲得預(yù)測模型;未來時(shí)段的行程時(shí)間的預(yù)測包括:步驟B1,將當(dāng)前行程時(shí)間數(shù)據(jù)采用步驟A1同樣的方法進(jìn)行數(shù)據(jù)歸一化處理,然后輸入預(yù)測模型進(jìn)行未來時(shí)段的行程時(shí)間的預(yù)測,對(duì)預(yù)測結(jié)果進(jìn)行反歸一化處理得到未來時(shí)段的行程時(shí)間。能夠挖掘行程時(shí)間數(shù)據(jù)的短時(shí)關(guān)聯(lián)模式和長時(shí)關(guān)聯(lián)模式,根據(jù)當(dāng)前狀態(tài)自動(dòng)調(diào)整歷史信息對(duì)當(dāng)前預(yù)測的貢獻(xiàn),預(yù)測精度高、魯棒性好。
【專利說明】
一種基于LSTM的路段行程時(shí)間預(yù)測方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于智能交通系統(tǒng)領(lǐng)域,特別涉及一種路段行程時(shí)間預(yù)測方法。
【背景技術(shù)】
[0002] 路段行程時(shí)間是反映交通狀況的重要指標(biāo),同時(shí)也是民眾出行最關(guān)注的交通信息 之一。路段行程時(shí)間具有采集難度大、受影響因素多的特點(diǎn)。隨著現(xiàn)代社會(huì)生活節(jié)奏的加 快,計(jì)劃出行日益成為民眾出行的優(yōu)先選擇,提前獲取預(yù)測的行程時(shí)間成為民眾出行的迫 切需求。路段行程時(shí)間預(yù)測不僅能滿足民眾出行的現(xiàn)實(shí)需要,也有助于實(shí)現(xiàn)有效的交通誘 導(dǎo)。
[0003] 現(xiàn)有的行程時(shí)間預(yù)測方法主要基于線性模型、時(shí)間序列模型、譜分析模型、卡爾曼 濾波模型、神經(jīng)網(wǎng)絡(luò)模型、最近鄰模型以及支持向量回歸模型。這些模型在早期的研究中取 得了一定的預(yù)測效果,并被應(yīng)用于不同的交通場景。但是隨著社會(huì)的發(fā)展,交通系統(tǒng)越來越 復(fù)雜,交通數(shù)據(jù)量越來越大,路段行程時(shí)間數(shù)據(jù)的波動(dòng)性越來越強(qiáng),這些或結(jié)構(gòu)上比較簡單 或?qū)崿F(xiàn)上不能適應(yīng)大數(shù)據(jù)或性能上不能實(shí)時(shí)跟蹤數(shù)據(jù)波動(dòng)的方法越來越不能滿足預(yù)測需 求。
[0004] 這促使我們重新思考利用大規(guī)模的行程時(shí)間數(shù)據(jù),研究能夠挖掘并記憶行程時(shí)間 數(shù)據(jù)模式的預(yù)測方法。LSTM(Long-Short Term Memory)遞歸神經(jīng)網(wǎng)絡(luò)作為近幾年取得重大 突破的方法,在許多任務(wù)上取得了顯著的成功。這種網(wǎng)絡(luò)結(jié)構(gòu)能夠?qū)W習(xí)時(shí)序數(shù)據(jù)之間的長 短時(shí)間關(guān)聯(lián)關(guān)系,對(duì)于輸入的時(shí)間序列數(shù)據(jù)自動(dòng)決定歷史數(shù)據(jù)對(duì)預(yù)測數(shù)據(jù)的貢獻(xiàn)。目前還 沒有基于LSTM遞歸神經(jīng)網(wǎng)絡(luò)的路段行程時(shí)間預(yù)測方法。本發(fā)明針對(duì)路段行程時(shí)間的實(shí)際應(yīng) 用需求,提出一種基于LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的路段行程時(shí)間預(yù)測方法,包括數(shù)據(jù)歸一化 處理,遞歸神經(jīng)網(wǎng)絡(luò)訓(xùn)練,利用遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行未來時(shí)段行程時(shí)間的預(yù)測。本方法能夠挖 掘行程時(shí)間數(shù)據(jù)的短時(shí)關(guān)聯(lián)模式和長時(shí)關(guān)聯(lián)模式,根據(jù)當(dāng)前狀態(tài)自動(dòng)調(diào)整歷史信息對(duì)當(dāng)前 預(yù)測的貢獻(xiàn),預(yù)測精度高、魯棒性好。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是給出一種基于LSTM的行程時(shí)間預(yù)測方法,從而實(shí)現(xiàn)對(duì)行程時(shí)間進(jìn) 行高精度的預(yù)測。
[0006] 本發(fā)明提出的一種基于LSTM的路段行程時(shí)間預(yù)測方法,該方法包括預(yù)測模型生成 和未來時(shí)段的行程時(shí)間的預(yù)測兩部分;
[0007] 預(yù)測模型生成:
[0008] 步驟A1:對(duì)指定路段的歷史行程時(shí)間數(shù)據(jù)進(jìn)行數(shù)據(jù)歸一化處理;
[0009] 步驟A2:利用歸一化處理后的歷史行程時(shí)間數(shù)據(jù)訓(xùn)練LSTM遞歸神經(jīng)網(wǎng)絡(luò)獲得預(yù)測 模型;
[0010]未來時(shí)段的行程時(shí)間的預(yù)測:
[0011]步驟B1:將當(dāng)前行程時(shí)間數(shù)據(jù)采用步驟A1同樣的方法進(jìn)行數(shù)據(jù)歸一化處理,然后 輸入步驟A2所獲得的預(yù)測模型進(jìn)行未來時(shí)段的行程時(shí)間的預(yù)測,對(duì)預(yù)測結(jié)果進(jìn)行反歸一化 處理得到未來時(shí)段的行程時(shí)間。
[0012] 優(yōu)選的,所述步驟A1中的數(shù)據(jù)歸一化處理方法包括以下步驟:
[0013] 步驟All:提取指定路段的最長歷史行程時(shí)間Tmax;
[0014] 步驟A12:提取指定路段的行駛里程L和最高限速Vmax,計(jì)算指定路段的限制最短行 程時(shí)間Tmin;
[0015] 步驟A13:使用min-max標(biāo)準(zhǔn)化方法對(duì)指定路段的歷史行程時(shí)間數(shù)據(jù)進(jìn)行歸一化處 理,使歷史行程時(shí)間數(shù)據(jù)映射到[0,1 ]的區(qū)間。
[0016] 優(yōu)選的,所述步驟A2進(jìn)一步包括以下步驟:
[0017]步驟A21,將歸一化處理后的歷史行程時(shí)間數(shù)據(jù)按照序列的時(shí)間順序分為兩組,時(shí) 間順序靠前的一組作為訓(xùn)練集數(shù)據(jù)、時(shí)間順序靠后的一組作為驗(yàn)證集數(shù)據(jù);
[0018] 步驟A22,設(shè)定LSTM遞歸神經(jīng)網(wǎng)絡(luò)的輸入維度和輸出維度為1,設(shè)定LSTM模塊的維 度為Μ,其中M=l,2,3,…M max,Mmax為預(yù)設(shè)值;
[0019] 步驟A23,依次在Μ的每個(gè)取值所對(duì)應(yīng)的LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上,利用訓(xùn)練集數(shù) 據(jù)迭代地訓(xùn)LSTM練遞歸神經(jīng)網(wǎng)中的參數(shù),并利用驗(yàn)證集數(shù)據(jù)對(duì)每次訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行評(píng) 估,更新并保存Μ的每個(gè)取值下性能最優(yōu)的LSTM遞歸神經(jīng)網(wǎng)絡(luò),評(píng)估性能滿足終止條件則終 止訓(xùn)練;對(duì)比Μ的每個(gè)取值對(duì)應(yīng)的訓(xùn)練完成并保存的性能最優(yōu)網(wǎng)絡(luò),選取相對(duì)性能最優(yōu)的網(wǎng) 絡(luò)作為LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的行程時(shí)間的預(yù)測模型。
[0020] 優(yōu)選的,所述步驟A23進(jìn)一步包括以下步驟:
[0021 ]步驟A231:進(jìn)行外循環(huán)初始化,設(shè)定M=1;進(jìn)行設(shè)定誤差值的設(shè)置;
[0022]步驟A232:進(jìn)行內(nèi)循環(huán)初始化,設(shè)定迭代次數(shù)=1,設(shè)定當(dāng)前最小誤差為無窮大,設(shè) 定最大迭代次數(shù);
[0023]步驟A233:基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理,利用訓(xùn)練集數(shù)據(jù)進(jìn)行LSTM遞歸神經(jīng)網(wǎng)絡(luò)的 訓(xùn)練;
[0024] 步驟A234:將驗(yàn)證集數(shù)據(jù)輸入步驟A233訓(xùn)練好的LSTM遞歸神經(jīng)網(wǎng)絡(luò),利用經(jīng)驗(yàn)風(fēng) 險(xiǎn)函數(shù)進(jìn)行驗(yàn)證集誤差的計(jì)算;
[0025]步驟A235:若驗(yàn)證集誤差大于或等于當(dāng)前最小誤差,則直接迭代次數(shù)+1;
[0026]若驗(yàn)證集誤差小于當(dāng)前最小誤差,則將驗(yàn)證集誤差的值賦予當(dāng)前最小誤差,則把 當(dāng)前LSTM遞歸神經(jīng)網(wǎng)絡(luò)作為最優(yōu)網(wǎng)絡(luò),更新并存儲(chǔ)最優(yōu)網(wǎng)絡(luò)的參數(shù)和驗(yàn)證集誤差,然后進(jìn) 行如下判斷:
[0027]若驗(yàn)證集誤差小于設(shè)定誤差,則讀取當(dāng)前LSTM遞歸神經(jīng)網(wǎng)絡(luò)的參數(shù),并執(zhí)行步驟 A238;若驗(yàn)證集誤差大于或等于設(shè)定誤差則迭代次數(shù)+1;
[0028] 步驟A236:若迭代次數(shù)小于或等于最大迭代次數(shù),則執(zhí)行步驟A233;
[0029] 若迭代次數(shù)大于最大迭代次數(shù)則M=M+1,然后進(jìn)行如下判斷:
[0030] 若M>Mmax則執(zhí)行步驟A237;若M<Mmax則執(zhí)行步驟A232;
[0031] 步驟A237:對(duì)比不同Μ值時(shí)最優(yōu)網(wǎng)絡(luò)的驗(yàn)證集誤差,選取驗(yàn)證集誤差最小的最優(yōu)網(wǎng) 絡(luò),并讀取所對(duì)應(yīng)的LSTM遞歸神經(jīng)網(wǎng)絡(luò)的參數(shù);
[0032]步驟A238:依據(jù)所選擇的網(wǎng)絡(luò)參數(shù)確定LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的行程時(shí)間的預(yù)測 模型。
[0033] 優(yōu)選的,所述步驟B1進(jìn)一步包括以下步驟:
[0034] 步驟B11,獲取指定路段當(dāng)前時(shí)段的行程時(shí)間數(shù)據(jù)Tt,以及當(dāng)前時(shí)段之前的行程時(shí) 間數(shù)據(jù) Tt-iTt-2,···,ινn;
[0035] 步驟B12,采用步驟Α1同樣的方法對(duì)Tt-ν,Tt- (Ν-υ,…,Tt-!,Tt進(jìn)行數(shù)據(jù)歸一化處理;
[0036] 步驟B13,依次將歸一化處理后的行程時(shí)間xt-N,x t-(Ν-υ, - ,χ*-i,xt輸入步驟A2所獲 得的預(yù)測模型,經(jīng)過遞推計(jì)算得到Xt對(duì)應(yīng)的輸出尤 +1,毛+1即為未來下一時(shí)段的行程時(shí)間 的歸一化預(yù)測值;
[0037] 步驟B14,將xt-N ,Xt-(N-1),…,Xt,Λ+1,…,Λ+Α' 輸入預(yù)測模型,經(jīng)過遞推計(jì)算得到 盡rf對(duì)應(yīng)的輸出,尤4+1即為未來第(Κ+1)個(gè)時(shí)段的行程時(shí)間的歸一化預(yù)測值;
[0038] 步驟B15,所得到的歸一化預(yù)測值進(jìn)行反歸一化,得到預(yù)測的未來時(shí)段的行程時(shí) 間。
[0039]本發(fā)明的有益效果是:本發(fā)明所述的一種基于LSTM的路段行程時(shí)間預(yù)測方法能夠 挖掘行程時(shí)間數(shù)據(jù)的短時(shí)關(guān)聯(lián)模式和長時(shí)關(guān)聯(lián)模式,根據(jù)當(dāng)前狀態(tài)自動(dòng)調(diào)整歷史信息對(duì)當(dāng) 前預(yù)測的貢獻(xiàn),預(yù)測精度高、魯棒性好。
【附圖說明】
[0040]圖1是本發(fā)明路段行程時(shí)間預(yù)測方法框圖;
[0041 ] 圖2是LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖;
[0042] 圖3是LSTM模塊結(jié)構(gòu)圖;
[0043] 圖4是遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練流程示意圖。
【具體實(shí)施方式】
[0044]下面將結(jié)合附圖對(duì)本發(fā)明加以詳細(xì)說明,應(yīng)指出的是,所描述的實(shí)施例僅旨在便 于對(duì)本發(fā)明的理解,而對(duì)其不起任何限定作用。
[0045]本發(fā)明給出一種基于LSTM的路段行程時(shí)間預(yù)測方法。如圖1所示,該方法包括預(yù)測 模型生成和未來時(shí)段的行程時(shí)間的預(yù)測兩部分;
[0046] 預(yù)測模型生成:
[0047]步驟A1:對(duì)指定路段的歷史行程時(shí)間數(shù)據(jù)進(jìn)行數(shù)據(jù)歸一化處理;
[0048]所述歷史行程時(shí)間數(shù)據(jù)來源于交通數(shù)據(jù)采集系統(tǒng),可以通過路段出口處和入口處 的自動(dòng)車輛識(shí)別設(shè)備獲取車輛進(jìn)入路段和駛出路段的時(shí)刻,進(jìn)而計(jì)算車輛在指定路段的行 程時(shí)間,通過統(tǒng)計(jì)各個(gè)時(shí)段進(jìn)入指定路段的車輛在指定路段的行程時(shí)間,得到各個(gè)時(shí)段指 定路段的車輛行程時(shí)間的平均值,作為該路段各個(gè)時(shí)段的行程時(shí)間。
[0049]數(shù)據(jù)歸一化處理方法包括以下步驟:
[0050]步驟All:提取指定路段的最長歷史行程時(shí)間Tmax;
[0051]步驟A12:提取指定路段的行駛里程L和最高限速Vmax,計(jì)算指定路段的限制最短行 程時(shí)間Tmin,具體如公式(1)所示;
[0053]步驟A13:使用min-max標(biāo)準(zhǔn)化方法對(duì)指定路段的歷史行程時(shí)間數(shù)據(jù)進(jìn)行歸一化處 理,使歷史行程時(shí)間數(shù)據(jù)Tt映射到[0,1 ]的區(qū)間。
[0054]歸一化后的行程時(shí)間數(shù)據(jù)xt定義如公式(2)所示為,
[0056] 步驟A2:利用歸一化處理后的歷史行程時(shí)間數(shù)據(jù)訓(xùn)練LSTM遞歸神經(jīng)網(wǎng)絡(luò)獲得預(yù)測 豐旲型;
[0057]所述遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)預(yù)測模型如圖2所示。其中,網(wǎng)絡(luò)的隱層由LSTM模塊構(gòu)成, LSTM模塊的結(jié)構(gòu)如圖3所示。遞歸神經(jīng)網(wǎng)絡(luò)的輸入為歸一化處理后第t個(gè)時(shí)段的行程時(shí)間 xt,輸出為預(yù)測的第t+Ι個(gè)時(shí)段的行程時(shí)間足+1??紤]到各個(gè)時(shí)段之間的時(shí)序關(guān)聯(lián),第t個(gè)時(shí) 段的隱層連接至第t+Ι個(gè)時(shí)段的隱層,第t個(gè)時(shí)段的隱層輸出為h t。遞歸神經(jīng)網(wǎng)絡(luò)隱層的 LSTM模塊包含3個(gè)控制門:輸入門(input gate)、記憶門(forget gate)、輸出門(output gate)。3個(gè)控制門的輸入都是本時(shí)段輸入xt和上時(shí)段隱層輸出h t-1<33個(gè)控制門的輸出分別 是"、匕、〇*。^為輸入的模塊狀態(tài),匕為當(dāng)前的模塊狀態(tài)丸為模塊的輸出即遞歸神經(jīng)網(wǎng)絡(luò)的 隱層輸出。
[0058] 遞歸神經(jīng)網(wǎng)絡(luò)從輸入到輸出的計(jì)算過程如公式(3)~(9)所示:
[0059] 輸入門:it = 〇(Wi · [xt,ht-i]+bi) (3)
[0060] 記憶門:ft = 〇(Wf · [xt,ht-i]+bf) (4)
[0061] 輸出門:0t = o(W?!?[Xt,ht-d+b。) (5)
[0062] 輸入的模塊狀態(tài)C = tanh(/fr * [xf,私-J + ^ ) (6)
[0063] 當(dāng)前的模塊狀態(tài):q = /. * ? + /_: * G , (7) T> L. T, L. T,一1
[0064] 模塊的輸出(遞歸神經(jīng)網(wǎng)絡(luò)的隱層輸出):ht = 〇t*tanh(Ct) (8)
[0065] 遞歸神經(jīng)網(wǎng)絡(luò)的輸出= cKl - 4 +々) (9)
[0066] 其中,11、1^1。、^^是連接遞歸神經(jīng)網(wǎng)絡(luò)輸入層和隱層的權(quán)重參數(shù),這4個(gè)參數(shù)組成 圖2中的參數(shù)Wi; bi、bf、b。、be分別是輸入門、記憶門、輸出門和輸入的模塊狀態(tài)的偏置參數(shù); W2是連接遞歸神經(jīng)網(wǎng)絡(luò)隱層和輸出層的權(quán)重參數(shù),b是遞歸神經(jīng)網(wǎng)絡(luò)輸出層的偏置參數(shù)。〇
[0067] 訓(xùn)練遞歸神經(jīng)網(wǎng)絡(luò)的目標(biāo)是使得網(wǎng)絡(luò)的預(yù)測輸出和實(shí)際的觀測值相等。給定訓(xùn)練 集{^^…,咖^-+山定義網(wǎng)絡(luò)的經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù)如公式⑶彡所示:
[0069]通過梯度下降法最小化Jo可以推導(dǎo)出遞歸神經(jīng)網(wǎng)絡(luò)中的參數(shù)Wi,Wf,W。,Wc,bi,bf, 13。,匕,,13,為了便于描述本實(shí)施例用0進(jìn)行表示。為了避免"過擬合"現(xiàn)象,在經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù) 上添加表示模型復(fù)雜度的正則化項(xiàng),得到網(wǎng)絡(luò)的結(jié)構(gòu)風(fēng)險(xiǎn)函數(shù)如公式(11)所示:
[0071]其中λ多〇是權(quán)衡經(jīng)驗(yàn)風(fēng)險(xiǎn)和模型復(fù)雜度的系數(shù)。通過最小化心可以推導(dǎo)出遞歸神 經(jīng)網(wǎng)絡(luò)中的參數(shù)Θ,得到正則化的預(yù)測模型。
[0072]具體的訓(xùn)練過程包括以下步驟:
[0073]步驟A21,將歸一化處理后的歷史行程時(shí)間數(shù)據(jù)按照序列的時(shí)間順序分為兩組,時(shí) 間順序靠前的一組作為訓(xùn)練集數(shù)據(jù)、時(shí)間順序靠后的一組作為驗(yàn)證集數(shù)據(jù);
[0074]步驟A22,設(shè)定LSTM遞歸神經(jīng)網(wǎng)絡(luò)的輸入維度和輸出維度為1,設(shè)定LSTM模塊的維 度為Μ,其中M=l,2,3,…Mmax,Mmax為預(yù)設(shè)值;
[0075]步驟A23,依次在Μ的每個(gè)取值所對(duì)應(yīng)的LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上,利用訓(xùn)練集數(shù) 據(jù)迭代地訓(xùn)LSTM練遞歸神經(jīng)網(wǎng)中的參數(shù),并利用驗(yàn)證集數(shù)據(jù)對(duì)每次訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行評(píng) 估,更新并保存Μ的每個(gè)取值下性能最優(yōu)的LSTM遞歸神經(jīng)網(wǎng)絡(luò),評(píng)估性能滿足終止條件則終 止訓(xùn)練;對(duì)比Μ的每個(gè)取值對(duì)應(yīng)的訓(xùn)練完成并保存的性能最優(yōu)網(wǎng)絡(luò),選取相對(duì)性能最優(yōu)的網(wǎng) 絡(luò)作為LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的行程時(shí)間的預(yù)測模型。
[0076] 一般LSTM模塊的維度Μ的最優(yōu)值是輸入維度的1到3倍,為了對(duì)LSTM模塊的更多的 維度進(jìn)行訓(xùn)練優(yōu)化以得到更多維度下的性能最優(yōu)網(wǎng)絡(luò),從而增加相對(duì)性能最優(yōu)的網(wǎng)絡(luò)的選 擇空間,本實(shí)施例選擇5倍的輸入維度作為M max,即Mmax = 5。
[0077] 步驟A23的過程如圖4所示,包括以下步驟:
[0078] 步驟A231:進(jìn)行外循環(huán)初始化,設(shè)定M=l;進(jìn)行設(shè)定誤差值的設(shè)置;
[0079] 步驟A232:進(jìn)行內(nèi)循環(huán)初始化,設(shè)定迭代次數(shù)=1,設(shè)定當(dāng)前最小誤差為無窮大,設(shè) 定最大迭代次數(shù);
[0080] 步驟A233:基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理,利用訓(xùn)練集數(shù)據(jù)進(jìn)行LSTM遞歸神經(jīng)網(wǎng)絡(luò)的 訓(xùn)練;
[0081] 步驟A234:將驗(yàn)證集數(shù)據(jù)輸入步驟A233訓(xùn)練好的LSTM遞歸神經(jīng)網(wǎng)絡(luò),利用經(jīng)驗(yàn)風(fēng) 險(xiǎn)函數(shù)進(jìn)行驗(yàn)證集誤差的計(jì)算;
[0082]步驟A235:若驗(yàn)證集誤差大于或等于當(dāng)前最小誤差,則直接迭代次數(shù)+1;
[0083]若驗(yàn)證集誤差小于當(dāng)前最小誤差,則將驗(yàn)證集誤差的值賦予當(dāng)前最小誤差,則把 當(dāng)前LSTM遞歸神經(jīng)網(wǎng)絡(luò)作為最優(yōu)網(wǎng)絡(luò),更新并存儲(chǔ)最優(yōu)網(wǎng)絡(luò)的參數(shù)和驗(yàn)證集誤差,然后進(jìn) 行如下判斷:
[0084]若驗(yàn)證集誤差小于設(shè)定誤差,則讀取當(dāng)前LSTM遞歸神經(jīng)網(wǎng)絡(luò)的參數(shù),并執(zhí)行步驟 A238;若驗(yàn)證集誤差大于或等于設(shè)定誤差則迭代次數(shù)+1;
[0085]步驟A236:若迭代次數(shù)小于或等于最大迭代次數(shù),則執(zhí)行步驟A233;
[0086]若迭代次數(shù)大于最大迭代次數(shù)則M=M+1,然后進(jìn)行如下判斷:
[0087] 若M>Mmax則執(zhí)行步驟A237;若M<Mmax則執(zhí)行步驟A232;
[0088]步驟A237:對(duì)比不同Μ值時(shí)最優(yōu)網(wǎng)絡(luò)的驗(yàn)證集誤差,選取驗(yàn)證集誤差最小的最優(yōu)網(wǎng) 絡(luò),并讀取所對(duì)應(yīng)的LSTM遞歸神經(jīng)網(wǎng)絡(luò)的參數(shù);
[0089]步驟A238:依據(jù)所選擇的網(wǎng)絡(luò)參數(shù)確定LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的行程時(shí)間的預(yù)測 模型。
[0090] 未來時(shí)段的行程時(shí)間的預(yù)測:
[0091] 步驟B1:將當(dāng)前行程時(shí)間數(shù)據(jù)采用步驟A1同樣的方法進(jìn)行數(shù)據(jù)歸一化處理,然后 輸入步驟A2所獲得的預(yù)測模型進(jìn)行未來時(shí)段的行程時(shí)間的預(yù)測,對(duì)預(yù)測結(jié)果進(jìn)行反歸一化 處理得到未來時(shí)段的行程時(shí)間。
[0092] 步驟B11,獲取指定路段當(dāng)前時(shí)段的行程時(shí)間數(shù)據(jù)Tt,以及當(dāng)前時(shí)段之前的行程時(shí) 間數(shù)據(jù) Tt-iTt-2,···,ινn;
[0093] 步驟B12,采用步驟Α1同樣的方法對(duì)Tt-ν,Tt- (Ν-υ,…,Tt-!,Tt進(jìn)行數(shù)據(jù)歸一化處理;
[0094] 步驟B13,依次將歸一化處理后的行程時(shí)間xt-N,xt-(Ν-υ, - ,χ*-i,xt輸入步驟A2所獲 得的預(yù)測模型,經(jīng)過遞推計(jì)算得到Xt對(duì)應(yīng)的輸出足#,為 +1即為未來下一時(shí)段的行程時(shí)間 的歸一化預(yù)測值。
[0095] 步驟B14,將xt-n,xt-(n-1),…,xt,冬+1,…輸入預(yù)測模型,經(jīng)過遞推計(jì)算得到毛 對(duì)應(yīng)的輸出即為未來第(K+1)個(gè)時(shí)段的行程時(shí)間的歸一化預(yù)測值。
[0096] 步驟B15,所得到的歸一化預(yù)測值進(jìn)行反歸一化,得到預(yù)測的未來時(shí)段的行程時(shí) 間。
[0097] 反歸一化后,預(yù)測的未來時(shí)段的行程時(shí)間ξ+1如公式(12)所示,
[0099]以上所述,僅為本發(fā)明中的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任 何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可理解想到的變換或替換,都應(yīng)涵蓋在 本發(fā)明的包含范圍之內(nèi),因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種基于LSTM的路段行程時(shí)間預(yù)測方法,其特征在于,該方法包括預(yù)測模型生成和 未來時(shí)段的行程時(shí)間的預(yù)測兩部分; 預(yù)測模型生成: 步驟A1:對(duì)指定路段的歷史行程時(shí)間數(shù)據(jù)進(jìn)行數(shù)據(jù)歸一化處理; 步驟A2:利用歸一化處理后的歷史行程時(shí)間數(shù)據(jù)訓(xùn)練LSTM遞歸神經(jīng)網(wǎng)絡(luò)獲得預(yù)測模 型; 未來時(shí)段的行程時(shí)間的預(yù)測: 步驟B1:將當(dāng)前行程時(shí)間數(shù)據(jù)采用步驟A1同樣的方法進(jìn)行數(shù)據(jù)歸一化處理,然后輸入 步驟A2所獲得的預(yù)測模型進(jìn)行未來時(shí)段的行程時(shí)間的預(yù)測,對(duì)預(yù)測結(jié)果進(jìn)行反歸一化處理 得到未來時(shí)段的行程時(shí)間。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A1中的數(shù)據(jù)歸一化處理方法包括 W下步驟: 步驟All:提取指定路段的最長歷史行程時(shí)間Tmax; 步驟A12:提取指定路段的行駛里程L和最高限速Vmax,計(jì)算指定路段的限制最短行程時(shí) 間 Tmin; 步驟A13:使用min-max標(biāo)準(zhǔn)化方法對(duì)指定路段的歷史行程時(shí)間數(shù)據(jù)進(jìn)行歸一化處理, 使歷史行程時(shí)間數(shù)據(jù)映射到[0,1 ]的區(qū)間。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A2進(jìn)一步包括W下步驟: 步驟A21,將歸一化處理后的歷史行程時(shí)間數(shù)據(jù)按照序列的時(shí)間順序分為兩組,時(shí)間順 序靠前的一組作為訓(xùn)練集數(shù)據(jù)、時(shí)間順序靠后的一組作為驗(yàn)證集數(shù)據(jù); 步驟A22,設(shè)定LSTM遞歸神經(jīng)網(wǎng)絡(luò)的輸入維度和輸出維度為1,設(shè)定LSTM模塊的維度為 M,其中1=1,2,3,…Mmax,Mmax為預(yù)設(shè)值; 步驟A23,依次在Μ的每個(gè)取值所對(duì)應(yīng)的LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上,利用訓(xùn)練集數(shù)據(jù)迭 代地訓(xùn)LSTM練遞歸神經(jīng)網(wǎng)中的參數(shù),并利用驗(yàn)證集數(shù)據(jù)對(duì)每次訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行評(píng)估,更 新并保存Μ的每個(gè)取值下性能最優(yōu)的LSTM遞歸神經(jīng)網(wǎng)絡(luò),評(píng)估性能滿足終止條件則終止訓(xùn) 練;對(duì)比Μ的每個(gè)取值對(duì)應(yīng)的訓(xùn)練完成并保存的性能最優(yōu)網(wǎng)絡(luò),選取相對(duì)性能最優(yōu)的網(wǎng)絡(luò)作 為LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的行程時(shí)間的預(yù)測模型。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟A23進(jìn)一步包括W下步驟: 步驟A231:進(jìn)行外循環(huán)初始化,設(shè)定M= 1;進(jìn)行設(shè)定誤差值的設(shè)置; 步驟A232:進(jìn)行內(nèi)循環(huán)初始化,設(shè)定迭代次數(shù)=1,設(shè)定當(dāng)前最小誤差為無窮大,設(shè)定最 大迭代次數(shù); 步驟A233:基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理,利用訓(xùn)練集數(shù)據(jù)進(jìn)行LSTM遞歸神經(jīng)網(wǎng)絡(luò)的訓(xùn)練; 步驟A234:將驗(yàn)證集數(shù)據(jù)輸入步驟A233訓(xùn)練好的LSTM遞歸神經(jīng)網(wǎng)絡(luò),利用經(jīng)驗(yàn)風(fēng)險(xiǎn)函 數(shù)進(jìn)行驗(yàn)證集誤差的計(jì)算; 步驟A235:若驗(yàn)證集誤差大于或等于當(dāng)前最小誤差,則直接迭代次數(shù)+1; 若驗(yàn)證集誤差小于當(dāng)前最小誤差,則將驗(yàn)證集誤差的值賦予當(dāng)前最小誤差,則把當(dāng)前 LSTM遞歸神經(jīng)網(wǎng)絡(luò)作為最優(yōu)網(wǎng)絡(luò),更新并存儲(chǔ)最優(yōu)網(wǎng)絡(luò)的參數(shù)和驗(yàn)證集誤差,然后進(jìn)行如 下判斷: 若驗(yàn)證集誤差小于設(shè)定誤差,則讀取當(dāng)前LSTM遞歸神經(jīng)網(wǎng)絡(luò)的參數(shù),并執(zhí)行步驟A238; 若驗(yàn)證集誤差大于或等于設(shè)定誤差則迭代次數(shù)+1; 步驟A236:若迭代次數(shù)小于或等于最大迭代次數(shù),則執(zhí)行步驟A233; 若迭代次數(shù)大于最大迭代次數(shù)則M=M+1,然后進(jìn)行如下判斷: 若1>1。3、則執(zhí)行步驟A237;若則執(zhí)行步驟A232; 步驟A237:對(duì)比不同Μ值時(shí)最優(yōu)網(wǎng)絡(luò)的驗(yàn)證集誤差,選取驗(yàn)證集誤差最小的最優(yōu)網(wǎng)絡(luò), 并讀取所對(duì)應(yīng)的LSTM遞歸神經(jīng)網(wǎng)絡(luò)的參數(shù); 步驟Α238:依據(jù)所選擇的網(wǎng)絡(luò)參數(shù)確定LSTM遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的行程時(shí)間的預(yù)測模 型。5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的方法,其特征在于,所述步驟Β1進(jìn)一步包括W下步 驟: 步驟Β11,獲取指定路段當(dāng)前時(shí)段的行程時(shí)間數(shù)據(jù)Tt,W及當(dāng)前時(shí)段之前的行程時(shí)間數(shù) 據(jù)Tt-l,Tt-2, ...,Tt-N; 步驟B12,采用步驟A1同樣的方法對(duì)Tt-N,Tt-(N-i),…,Tt-1,Tt進(jìn)行數(shù)據(jù)歸一化處理; 步驟B13,依次將歸一化處理后的行程時(shí)間Xt-N,Xt-(N-I),· · ·,Xt-i,Xt輸入步驟A2所獲得的 預(yù)測模型,經(jīng)過遞推計(jì)算得到xt對(duì)應(yīng)的輸出即為未來下一時(shí)段的行程時(shí)間的歸一 化預(yù)測值; 步驟B14,將,. · · · ,乂^,穿^,''',穿1+^輸入預(yù)測模型,經(jīng)過遞推計(jì)算得 到iV+j.對(duì)應(yīng)的輸出,克即為未來第化+1)個(gè)時(shí)段的行程時(shí)間的歸一化預(yù)測 值; 步驟B15,所得到的歸一化預(yù)測值進(jìn)行反歸一化,得到預(yù)測的未來時(shí)段的行程時(shí)間。
【文檔編號(hào)】G06N3/04GK106096767SQ201610395939
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月7日 公開號(hào)201610395939.1, CN 106096767 A, CN 106096767A, CN 201610395939, CN-A-106096767, CN106096767 A, CN106096767A, CN201610395939, CN201610395939.1
【發(fā)明人】王飛躍, 段艷杰, 呂宜生, 陳圓圓, 林懿倫, 劉裕良
【申請(qǐng)人】中國科學(xué)院自動(dòng)化研究所