本發明實施例涉及交通技術領域,尤其涉及一種旅行時間預測方法及裝置。
背景技術:
近年來,隨著我國城市機動車保有量的迅速增加,交通擁堵問題日益嚴峻。交通管理部門也在一直積極探索通過提升交通管理方法緩解交通擁堵,優化出行體驗。旅行時間作為交通信息的一種,作用相當重要,準確的旅行時間預測能夠幫助出行者提前知道通過某段道路的時間,從而提前選擇最優路徑。
現有的旅行時間預測方案是使用時間序列、卡爾曼(kalman)濾波模型、貝葉斯算法等方法實現,預測結果存在較大的隨機性、也不夠準確。
技術實現要素:
本發明實施例提供一種旅行時間預測方法及裝置,用以解決的問題。
本發明實施例提供的一種旅行時間預測方法,包括:
獲取機動車所在道路的各路段的當前過車數據、各路段的長度和紅綠燈配時數據;
根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間;其中,所述機動車的出行路徑規律集合由機動車所在道路的各路段的歷史過車數據確定。
可選的,所述機動車的出行路徑規律集合由下述步驟確定:
獲取機動車所在道路的各路段的預設周期內的歷史過車數據;
根據所述各路段的歷史過車數據,獲得機動車的規律停留點集合;
根據所述機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出行路徑規律集合。
可選的,所述根據所述各路段的預設周期內的歷史過車數據,獲得機動車的規律停留點集合,包括:
依據所述各路段的預設周期內的歷史過車數據,遍歷機動車每天的過車記錄,獲得機動車順序經過的卡口和經過所述卡口對應的時間段的集合;
依據所述機動車經過的卡口和經過所述卡口對應的時間段的集合,在所述機動車經過的卡口出現的次數大于出現次數閾值且機動車停留時間次數大于時間次數閾值時,將所述機動車經過的卡口所在的點添加到機動車的規律停留點集合;所述機動車停留時間次數為機動車經過所述卡口對應的時間段的停留時間大于停留時間閾值的次數;
依據上述步驟分析完所述機動車的各路段的預設的歷史過車數據,獲得所述機動車的規律停留點集合。
可選的,所述根據所述機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出行路徑規律集合,包括:
依據所述機動車的規律停留點集合,按照時間順序對所述機動車的規律停留點集合中每天的各停留點進行排序,獲得機動車多條出行的停留點的順序序列;所述停留點的順序序列包括起始停留點和到達停留點以及位于所述起始停留點至所述到達停留點之間的停留點;
依據所述機動車多條出行的停留點的順序序列,統計每個停留點出現的次數并計算每個停留點出現次數的平均值;
依據所述每個停留點出現的次數,獲得多條出行的停留點的順序序列中滿足頻次要求的停留點;
將所述滿足頻次要求的停留點確定為每條出行的停留點的順序序列中機動車主要途徑的停留點;
將每條出行的停留點的順序序列中機動車主要途徑的停留點依據所述次數的平均值進行排序,得到機動車的出行路徑規律集合。
可選的,所述根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間符合公式(1):
tk=((sd+sm+r)*1.5+l)/v/la/t……………………………(1)
其中,tk為機動車經過路段k的旅行時間,sd為機動車經過路段的上游路段的當前過車數據,sm為機動車經過路段的當前過車數據,r為隨機擾動數據,l為機動車經過路段的長度,v為機動車的平均車速,la為機動車經過路段的車道數,t為機動車經過路段的信號燈放行時間。
相應的,本發明實施例還提供了一種旅行時間預測的裝置,包括:
獲取單元,用于獲取機動車所在道路的各路段的當前過車數據、各路段的長度和紅綠燈配時數據;
處理單元,用于根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間;其中,所述機動車的出行路徑規律集合由機動車所在道路的各路段的歷史過車數據確定。
可選的,所述處理單元根據下述步驟確定所述機動車的出行路徑規律集合:
獲取機動車所在道路的各路段的預設周期內的歷史過車數據;
根據所述各路段的歷史過車數據,獲得機動車的規律停留點集合;
根據所述機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出行路徑規律集合。
可選的,所述處理單元在根據所述各路段的預設周期內的歷史過車數據,獲得機動車的規律停留點集合時,具體用于:
依據所述各路段的預設周期內的歷史過車數據,遍歷機動車每天的過車記錄,獲得機動車順序經過的卡口和經過所述卡口對應的時間段的集合;
依據所述機動車經過的卡口和經過所述卡口對應的時間段的集合,在所述機動車經過的卡口出現的次數大于出現次數閾值且機動車停留時間次數大于時間次數閾值時,將所述機動車經過的卡口所在的點添加到機動車的規律停留點集合;所述機動車停留時間次數為機動車經過所述卡口對應的時間段的停留時間大于停留時間閾值的次數;
依據上述步驟分析完所述機動車的各路段的預設的歷史過車數據,獲得所述機動車的規律停留點集合。
可選的,所述處理單元在根據所述機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出行路徑規律集合時,具體包括:
依據所述機動車的規律停留點集合,按照時間順序對所述機動車的規律停留點集合中每天的各停留點進行排序,獲得機動車多條出行的停留點的順序序列;所述停留點的順序序列包括起始停留點和到達停留點以及位于所述起始停留點至所述到達停留點之間的停留點;
依據所述機動車多條出行的停留點的順序序列,統計每個停留點出現的次數并計算每個停留點出現次數的平均值;
依據所述每個停留點出現的次數,獲得多條出行的停留點的順序序列中滿足頻次要求的停留點;
將所述滿足頻次要求的停留點確定為每條出行的停留點的順序序列中機動車主要途徑的停留點;
將每條出行的停留點的順序序列中機動車主要途徑的停留點依據所述次數的平均值進行排序,得到機動車的出行路徑規律集合。
可選的,所述處理單元根據公式(1)預測所述機動車經過各路段的旅行時間:
tk=((sd+sm+r)*1.5+l)/v/la/t……………………………(1)
其中,tk為機動車經過路段k的旅行時間,sd為機動車經過路段的上游路段的當前過車數據,sm為機動車經過路段的當前過車數據,r為隨機擾動數據,l為機動車經過路段的長度,v為機動車的平均車速,la為機動車經過路段的車道數,t為機動車經過路段的信號燈放行時間。
本發明實施例表明,獲取機動車所在道路的各路段的當前過車數據、各路段的長度和紅綠燈配時數據,根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間,其中該機動車的出行路徑規律集合由機動車所在道路的各路段的歷史過車數據確定。本發明實施例通過對機動車的出現規律進行統計,可以提高對機動車的旅行時間預測結果的準確率。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種旅行時間預測的方法的流程示意圖;
圖2為本發明實施例提供的一種確定機動車的規律停留點集合的流程示意圖;
圖3為本發明實施例提供的一種確定機動車的出行路徑規律集合的流程示意圖;
圖4為本發明實施例提供的一種出行路徑的結構示意圖;
圖5為本發明實施例提供的一種旅行時間預測的裝置的結構示意圖。
具體實施方式
為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
圖1示例性的示出了本發明實施例提供的一種旅行時間預測的流程,該流程可以由旅行時間預測的裝置執行。
如圖1所示,該流程具體步驟包括:
步驟101,獲取機動車所在道路的各路段的當前過車數據、各路段的長度和紅綠燈配時數據。
步驟102,根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間。
在本發明實施例中,上述流程是基于路網地圖實現的,各路段的長度和紅綠燈配時數據都可以直接獲知。其中,機動車的出現路徑規律集合可以由機動車所在道路的各路段的歷史過車數據來確定。具體的,首先獲取機動車所在道路的各路段的預設周期內的歷史過車數據,然后根據各路段的歷史過車數據,獲得機動車的規律停留點集合,最后再根據機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出現路徑規律集合。
在根據各路段的歷史過車數據,獲得機動車的規律停留點集合時,可以通過如圖2所示的流程來描述。
如圖2所示,該流程具體步驟為:
步驟201,依據所述各路段的預設周期內的歷史過車數據,遍歷機動車每天的過車記錄,獲得機動車順序經過的卡口和經過所述卡口對應的時間段的集合。
步驟202,依據所述機動車經過的卡口和經過所述卡口對應的時間段的集合,在所述機動車經過的卡口出現的次數大于出現次數閾值且機動車停留時間次數大于時間次數閾值時,將所述機動車經過的卡口所在的點添加到機動車的規律停留點集合。
步驟203,依據上述步驟分析完所述機動車的各路段的預設的歷史過車數據,獲得所述機動車的規律停留點集合。
在本發明實施例中,所述機動車停留時間次數為機動車經過所述卡口對應的時間段的停留時間大于停留時間閾值的次數。得到歷史過車數據之后,可以通過火花流式(sparkstream)計算對歷史過車數據中所有機動車信息提取車牌號碼、車牌種類等信息進行歸類處理,然后再通過數據挖掘算法分析機動車規律性的停留點,給出停留點名稱和規律停留時間段等信息。例如:設機動車車牌號為ca,t1為統計起始時刻(一般為凌晨,如5:00),t2為統計終止時刻(一般為午夜,如24:00),t為卡口過車記錄時刻。
對于t1<t<t2,提取機動車統計周期(例如三個月,設為t=90天)的卡口過車數據d={di,i=1,2,…,90},遍歷每天di的過車記錄,設順序經過的卡口及其對應時段的集合為ai={bj}={[kjtj],j=1,2,…ni}。ni為經過的卡口數量。設停留時間閥值tk,遍歷ai,設出現次數閾值w1和時間次數閾值w2。
若kj出現的次數(每天不重復計算)>w1且(tj>tk)的次數(每天不重復計算)>w2,則kj對應的物理卡口區域為規律停留點,將bj加入到規律停留點集合g中。
依據上述步驟依次分析,最終得到規律停留點集合g={bk,k=1,2,…,m},m為規律停留點個數。
在上述根據所述機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出行路徑規律集合的過程中,為了更好的描述該步驟,可以如圖3所示的流程來描述。
如圖3所示,該流程具體步驟包括:
步驟301,依據所述機動車的規律停留點集合,按照時間順序對所述機動車的規律停留點集合中每天的各停留點進行排序,獲得機動車多條出行的停留點的順序序列
步驟302,依據所述機動車多條出行的停留點的順序序列,統計每個停留點出現的次數并計算每個停留點出現次數的平均值。
步驟303,依據所述每個停留點出現的次數,獲得多條出行的停留點的順序序列中滿足頻次要求的停留點。
步驟304,將所述滿足頻次要求的停留點確定為每條出行的停留點的順序序列中機動車主要途徑的停留點。
步驟305,將每條出行的停留點的順序序列中機動車主要途徑的停留點依據所述次數的平均值進行排序,得到機動車的出行路徑規律集合。
在本發明實施例中,停留點的順序序列可以包括起始停留點和到達停留點以及位于所述起始停留點至所述到達停留點之間的停留點。根據機動車規律停留點,通過數據挖掘算法,分析機動車到達停留點的路徑,給出機動車的出行路徑規律集合。具體如下:
以起始點記錄的過車時刻開始(設對應的卡口為ks),以停留點記錄的過車時刻結束(設對應的卡口為ke),按時間從早到晚順序,對過車記錄進行排序。
設第i天(i=1,2,…,w)按上述方法得到的過車記錄卡口順序為:
ks,ki1,ki2,…,ke,由此得到w個(可能大于w個,但這種情況極少)以ks為起點,以ke為終止點的卡口順序序列(由于每天行車軌跡不盡相同,所以得到的卡口序列長度、卡口順序一般不同)。
以上述w個卡口順序序列為對象,統計其中每個卡口出現的次數并計算每個卡口出現次數的平均值。
設統計完成,卡口kx出現了y次(一般情況下,y≤w),其出現次數平均值為q。設定頻次閥值eh(eh暫取50%),當y/w>eh時,表明kx是起始點ks到終止點ke的主要途經卡口點。將其加入到起始點ks到終止點ke的主要途經卡口點序列中,并記錄其次數平均值q。
按上述過程,設共有l個卡口滿足頻次要求,其中某個卡口kj(j=1,2,…,l),其次數平均值為qj。將這l個卡口按次數平均值從小到大的順序排列(由于起始點到終止點的路徑可能不止一條,所以次數平均值相同的卡口按不同路徑標識)。設排序后的卡口順序序列為ka,kb,…,kn,則起始點o到終止點d的行車(規律)路徑為ks—>ka—>kb—>…—>kn—>ke(多個路徑,會出現多個序列,都進行記錄)。
由此,可以得到機動車的出行路徑規律集合l={li,i=1,2,…,n},n為規律路徑總條數。
在得到機動車的出現路徑規律集合之后,再基于各路段的當前過車數據、各路段的長度和紅綠燈配時數據以及隨機擾動數據,即可對機動車經過各路段的旅行實際進行預測。該隨機擾動數據為一經驗值,可以依據經驗進行設置。
具體的,根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間符合公式(1):
tk=((sd+sm+r)*1.5+l)/v/la/t……………………………(1)
其中,tk為機動車經過路段k的旅行時間,sd為機動車經過路段的上游路段的當前過車數據,sm為機動車經過路段的當前過車數據,r為隨機擾動數據,l為機動車經過路段的長度,v為機動車的平均車速,la為機動車經過路段的車道數,t為機動車經過路段的信號燈放行時間。
例如,現在對圖4所示的路段示意圖中的c1-z路段進行旅行時間預測,我們通過過車數據已知a-c1、d2-c1、b2-c1三條可以通往c1-z路段的道路上以及c1-z道路上的所有機動車信息。首先考慮a-c1路段,比如有v1,v2……vn等機動車,結合已經計算出來的機動車出行規律可知v1,v2……vi等機動車將左轉進入c1-b2路段,vi……vj等機動車將右轉進入c1-d2,vj……vn等機動車將進入c1-z路段,同理計算d2-c1、b2-c1等道路的機動車,可得出vj……vq等s1輛機動車將進入c1-z道路,加入隨機擾動數據r,結合已知的c1-z路段的過車數據s2以及c1-z的路段長度l,車道數la,z處的信號燈放行時間t可預測出a處的機動車經過c1-z路段的旅行時間為:((s1+s2+r)*1.5+l)/v/la/t,其中v為40km/h。
通過sparkstream、spark可以對道路上的出行者感興趣的某一路段的旅行時間進行即時預測。
本發明實施例相比其他的旅行時間預測方法極大的提高了旅行時間預測的準確性。其他的旅行時間方法基本都是通過概率論的思想進行分析,具有較大的隨機性,預測結果準確率無法保證。而城市交通中通勤時間路徑都有明顯的規律,本發明實施例增加了對所有機動車的出行規律分析,極大的提高了預測結果的準確率。
本發明實施例利用大數據技術來分析用戶出行規律、預測旅行時間,極大的提高了預測的實時性。由于大數據平臺分布式的特性,可以根據不同的城市規模,靈活的增加或減少服務器數量,以獲得數據處理時間的線性對應,更重要的是對數億、數十億的過車數據的處理、挖掘在很短的時間內就可以完成,極大的提高了預測的實時性。
本發明實施例表明,獲取機動車所在道路的各路段的當前過車數據、各路段的長度和紅綠燈配時數據,根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間,其中該機動車的出行路徑規律集合由機動車所在道路的各路段的歷史過車數據確定。本發明實施例通過對機動車的出現規律進行統計,可以提高對機動車的旅行時間預測結果的準確率。
基于相同的發明構思,圖5示例性的示出了本發明實施例提供的一種旅行時間預測的裝置的結構,該裝置可以執行旅行時間預測的方法。
如圖5所示,該裝置具體包括:
獲取單元501,用于獲取機動車所在道路的各路段的當前過車數據、各路段的長度和紅綠燈配時數據;
處理單元502,用于根據所述各路段的當前過車數據、各路段的長度和紅綠燈配時數據、機動車的出行路徑規律集合以及隨機擾動數據,預測所述機動車經過各路段的旅行時間;其中,所述機動車的出行路徑規律集合由機動車所在道路的各路段的歷史過車數據確定。
可選的,所述處理單元502根據下述步驟確定所述機動車的出行路徑規律集合:
獲取機動車所在道路的各路段的預設周期內的歷史過車數據;
根據所述各路段的歷史過車數據,獲得機動車的規律停留點集合;
根據所述機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出行路徑規律集合。
可選的,所述處理單元502在根據所述各路段的預設周期內的歷史過車數據,獲得機動車的規律停留點集合時,具體用于:
依據所述各路段的預設周期內的歷史過車數據,遍歷機動車每天的過車記錄,獲得機動車順序經過的卡口和經過所述卡口對應的時間段的集合;
依據所述機動車經過的卡口和經過所述卡口對應的時間段的集合,在所述機動車經過的卡口出現的次數大于出現次數閾值且機動車停留時間次數大于時間次數閾值時,將所述機動車經過的卡口所在的點添加到機動車的規律停留點集合;所述機動車停留時間次數為機動車經過所述卡口對應的時間段的停留時間大于停留時間閾值的次數;
依據上述步驟分析完所述機動車的各路段的預設的歷史過車數據,獲得所述機動車的規律停留點集合。
可選的,所述處理單元502在根據所述機動車的規律停留點集合,分析機動車到達停留點的路徑,確定出機動車的出行路徑規律集合時,具體包括:
依據所述機動車的規律停留點集合,按照時間順序對所述機動車的規律停留點集合中每天的各停留點進行排序,獲得機動車多條出行的停留點的順序序列;所述停留點的順序序列包括起始停留點和到達停留點以及位于所述起始停留點至所述到達停留點之間的停留點;
依據所述機動車多條出行的停留點的順序序列,統計每個停留點出現的次數并計算每個停留點出現次數的平均值;
依據所述每個停留點出現的次數,獲得多條出行的停留點的順序序列中滿足頻次要求的停留點;
將所述滿足頻次要求的停留點確定為每條出行的停留點的順序序列中機動車主要途徑的停留點;
將每條出行的停留點的順序序列中機動車主要途徑的停留點依據所述次數的平均值進行排序,得到機動車的出行路徑規律集合。
可選的,所述處理單元502根據公式(1)預測所述機動車經過各路段的旅行時間:
tk=((sd+sm+r)*1.5+l)/v/la/t……………………………(1)
其中,tk為機動車經過路段k的旅行時間,sd為機動車經過路段的上游路段的當前過車數據,sm為機動車經過路段的當前過車數據,r為隨機擾動數據,l為機動車經過路段的長度,v為機動車的平均車速,la為機動車經過路段的車道數,t為機動車經過路段的信號燈放行時間。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。