本發明涉及交通領域,尤其是基于動態時間規整的車輛終點及行程時間計算方法。
背景技術:
出租車公司以及近年來興起了一批打車軟件平臺,在進行車輛的動態調度時,都需要掌握每個車輛出行終點和抵達時間的信息。如果車輛調度員能夠知道出租車完成當前出行的終點和所需的時間,則可以為下一個乘車需求分配距離最近且時間點最契合的車輛,大大降低出租車公司的運營成本,同時提高運營效率。
目前大部分出租車都載有GPS設備,在整個出租車系統的調度和管理過程中,面臨的一個重要問題就是,如何能在海量的GPS數據中挖掘出有用信息,供運營者和管理者參考使用。處理海量的GPS數據,遇到的幾個技術難點如下:(1)計算能力問題:當前大部分處理設備,并不具備處理數量規模巨大的GPS數據的運行和存儲能力,大部分處理器并不擅長存儲復雜的數據結構,也不擅長高效地查詢數據,或者處理超過內存能力的數據;(2)實時性問題:整個路網中運營的出租車,產生的實時GPS數據,雖然可以通過諸如MySQL、PostgreSQL、SQLite或者Oracle等數據庫進行批量處理,但是由于在數據傳輸及計算過程中的耗時,導致計算結果并不能較為及時地反饋給管理中心進行實時車輛動態調度。由此產生了對于出租車運行終點及其行程時間的預測的實際需求,本作品利用出租車的歷史出行軌跡和當前已知的部分行駛軌跡,預測出租車出行終點和行程時間,為出租車管理者動態調度車輛資源提供決策支持。
現有的傳統技術方案中對于車輛出行起點-終點的預測方法,主要有:(1)滾動預測模型,通過時間序列的方法對車輛目的地先估計、再預測;(2)轉化為動態規劃問題,利用諸如最短路徑等數學規劃的方法,根據已知信息反解車輛目的地相關信息;(3)統計學方法,利用車輛出行起點-終點的歷史數據,構造出起訖點矩陣;并使用部分觀測值,運用多元正態近似(multivariate normal approximation)等統計學方法進行車輛目的地的估計與預測。
上述技術方案的缺點分別在于:(1)滾動預測模型,在預測時,由于滾動時間窗口的時間間隔選擇的差異性,導致對于車輛目的地的估計與預測具有一定的滯后性,無法達到實時應用的目標;(2)轉化為動態規劃問題,由于車輛時空分布的不確定性及狀態空間的維數問題,在遞歸求解動態規劃問題的過程中,經常會占用大量計算資源,使得估計整個路網中車輛的目的地變得非常困難,限制了這類方法的大規模工程應用;(3)統計學方法,該方法是基于貝葉斯框架下的一種預測方法,雖然具有較高的計算效率,但是對于先驗分布的選擇,需要根據從業者的相關經驗進行判斷,具有一定的主觀性。
術語解釋:
Haversine(半正矢)公式:用于計算空間中兩點距離,球面模型是對真實地理空間的合理抽象。半正矢公式的本質為球面余弦函數變換,能夠消除計算較近兩點間距離時誤差較大的問題,具有更高的計算精度。
動態時間彎曲算法:動態時間彎曲是一種針對時變數據序列的匹配方法,屬于優化的范疇。動態時間彎曲算法通過計算時序數據之間的最短彎曲路徑進行序列匹配,能有效縮短特征量的搜索比對時間,克服測試序列與參考序列尺度不能完全一致的問題,具有概念簡單和算法魯棒性好的特點。
特征工程:特征工程指由數據集生成、提取、刪除或者組合變化得到特征的過程,是優化機器學習算法性能的技術手段。
支持向量回歸:支持向量回歸是建立在統計學習理論的VC維理論和結構風險最小原理基礎上的,根據有限的樣本信息在模型復雜性和準確性之間尋求最佳平衡,將向量映射到一個更高維的空間里,在高維空間中構造線性決策函數來實現線性回歸。
技術實現要素:
為了解決上述技術問題,本發明的目的是:提供基于動態時間規整實現符合實際地理空間情況、魯棒性好的車輛行程時間計算方法。
本發明所采用的技術方案是:基于動態時間規整的車輛終點及行程時間計算方法,包括有以下步驟:
A、利用經緯度數據與地圖數據進行匹配計算,得到訓練數據集和測試數據集中每一次的出行軌跡數據;
B、采用基于球面模型的半正矢公式,分別計算測試數據集中出行軌跡數據的起點和訓練數據集中每一次出行軌跡數據的起點之間的距離,從而得到多個相似出行軌跡數據樣本;
C、采用多變量的動態時間彎曲距離算法,計算測試數據集中出行軌跡數據和步驟B中多個相似出行軌跡數據樣本之間的動態時間彎曲距離,從而得到多個最近似的出行軌跡數據樣本;
D、對步驟C中得到的多個最近似的出行軌跡數據樣本進行特征工程處理;
E、根據步驟D所得結果,對測試數據集中出行軌跡數據的終點及行程時間進行計算。
進一步,所述步驟B中距離計算公式為:
其中hav是變量θ的Haversine函數:
d為兩點之間的距離,r是球體的半徑,是兩點的緯度,λ1,λ2是兩點的經度。
進一步,所述步驟D中的特征工程處理具體為:對特征間的相關性計算和特征對標簽的敏感度計算,選取對標簽的敏感度大、特征間的相關性小的特征。
進一步,所述步驟E中測試數據集中出行軌跡數據的終點的計算方法為:對多個最近似的出行軌跡數據樣本的終點經緯度求幾何平均值。
進一步,所述步驟E中測試數據集中出行軌跡數據的行程時間通過支持向量回歸模塊計算得到。
本發明的有益效果是:本發明方法采用半正矢公式計算兩點間實際距離,更加符合實際地理空間情景;結合GPS數據呈時間序列的特點,使用適用于時間序列相似性度量的動態時間彎曲算法,有效地縮短了特征量的搜索比對時間,克服了GPS歷史值序列與實時參考序列尺度不能完全一致的問題,具有概念簡單和算法魯棒性好的特點;通過特征工程處理使用高性能、適合模型的特征集,同時結合機器學習算法進一步使得預測過程更為準確。
附圖說明
圖1為本發明方法的步驟流程圖。
具體實施方式
下面結合附圖對本發明的具體實施方式作進一步說明:
參照圖1,基于動態時間規整的車輛終點及行程時間計算方法,包括有以下步驟:
A、利用經緯度數據與地圖數據進行匹配計算,得到訓練數據集和測試數據集中每一次的出行軌跡數據;
其中,經緯度數據利用車載GPS設備采集,再將采集所得的數據與地圖數據進行匹配,以此提供本發明所需的原始數據。
B、采用基于球面模型的半正矢公式,分別計算測試數據集中出行軌跡數據的起點和訓練數據集中每一次出行軌跡數據的起點之間的距離,從而得到多個相似出行軌跡數據樣本;
進一步作為優選的實施方式,對于車輛位置參數(即經緯度數據)采用基于球面模型的半正矢(Haversine)公式,所述步驟B中距離計算公式為:
其中hav是變量θ的Haversine函數:
d為兩點之間的距離,r是球體的半徑,是兩點的緯度,λ1,λ2是兩點的經度。
由于球面模型是對真實地理空間的合理抽象,半正矢公式的本質為球面余弦函數變換,因此能夠消除計算較近兩點間距離時誤差較大的問題,具有更高的計算精度。
作為本發明方法的一個典型實施例,其中步驟B得到多個相似出行軌跡數據樣本的具體個數為20000。
C、采用多變量的動態時間彎曲距離算法,計算測試數據集中出行軌跡數據和步驟B中多個相似出行軌跡數據樣本之間的動態時間彎曲距離,從而得到多個最近似的出行軌跡數據樣本;
作為本發明方法的一個典型實施例,其中步驟C得到多個最相似出行軌跡數據樣本的具體個數為10。
測試數據集中出行軌跡數據由一系列經緯度數據構成,呈現時間序列的特點,在度量時間序列的相似性時,采用動態時間彎曲算法。動態時間彎曲是一種針對時變數據序列的匹配方法,通過計算時序數據之間的最短彎曲路徑進行序列匹配,能有效縮短特征量的搜索比對時間,克服測試序列與參考序列尺度不能完全一致的問題,結合上述基于球面模型的半正矢公式,具有概念簡單和算法魯棒性好的特點。
D、對步驟C中得到的多個最近似的出行軌跡數據樣本進行特征工程處理;
進一步作為優選的實施方式,所述步驟D中的特征工程處理具體為:對特征間的相關性計算和特征對標簽的敏感度計算,選取對標簽的敏感度大、特征間的相關性小的特征;作為本發明方法的一個典型實施例,其計算得到最終選取的特征如下表1所示:
表1:特征表
E、根據步驟D所得結果,對測試數據集中出行軌跡數據的終點及行程時間進行計算。
進一步作為優選的實施方式,所述步驟E中測試數據集中出行軌跡數據的終點的計算方法為采用統計學的方法:對多個最近似的出行軌跡數據樣本的終點經緯度求幾何平均值。
進一步作為優選的實施方式,所述步驟E中測試數據集中出行軌跡數據的行程時間通過機器學習計算得到。
由于上述步驟D中進行特征工程處理,使用了高性能、適合模型的特征集,結合支持向量回歸算法能實現更準確的預測;此外,步驟E中對行程時間還可采用最近鄰算法、決策樹模型、隨機森林算法等進行計算。
以上是對本發明的較佳實施進行了具體說明,但本發明創造并不限于所述實施例,熟悉本領域的技術人員在不違背本發明精神的前提下還可以作出種種的等同變換或替換,這些等同的變形或替換均包含在本申請權利要求所限定的范圍內。