JUST技術:如何通過軌跡相似性度量方法,發現新冠易感人群
2020年初,一場突如其來的新冠疫情,使得公共衛生安全問題受到了全社會的廣泛關注。與此同時,如何及時掌握人與人之間的病毒傳播路徑,及時發現確診人員的密切接觸者,成為了各地政府疫情防控最迫切的需求。
JUST基於大規模軌跡資料,針對易感人群難以發現的問題,開發並提供了關聯人群查詢功能,通過對軌跡進行匹配挖掘,能夠快速找出與確診人員行動軌跡在時空維度有過“接觸”的人群。其中,實現該功能的很重要的一項工作就是:如何衡量兩條軌跡的相似性。下文將簡要介紹一些常見的軌跡相似性度量方法。
軌跡作為一種時空資料[1],指的是某物體在空間中的移動路徑,通常表示為GPS點的序列,例如tr=<p1→p2→…pn>,其中點pi=(lat,lng,t),表示該物體在t時刻位於地理座標位置(lat,lng)上,lat和lng分別表示緯度和經度。
圖1:離散的GPS點序列組成軌跡
大資料時代,隨著車載導航系統的普及,海量的軌跡資料正在源源不斷的產生,這些軌跡中蘊含著巨大的價值[2],例如可以進行交通流量分析和預測,為政府的城市規劃提供建議;也可以進行軌跡聚類,發現那些被很多軌跡經過的道路,用於指導自行車道的規劃;還可以進行駐留點檢測,發現軌跡經常停留的區域等。
圖2:海量的軌跡資料(北京計程車軌跡)及其應用
軌跡資料的分析處理非常具有挑戰性,主要包含三個方面:1)軌跡資料量大;2)軌跡資料噪音多;3)軌跡資料獲取途徑多樣。其中,軌跡相似性作為一項基礎演算法服務,衡量兩條軌跡之間的距離大小,可為其上層應用提供支援,也是目前研究的熱點之一。
圖3:軌跡相似性查詢示意圖
相對於點與點或點與軌跡之間的距離度量,軌跡之間的距離度量更加的複雜,需要考慮的因素也更多,例如軌跡的取樣率、考慮軌跡的時間資訊和軌跡自身的噪音等。常見的軌跡相似性度量方法大致分類如下圖所示。
圖4:軌跡相似性方法分類
我們定義如下兩條軌跡,長度分別為n和m,則:
- 歐式距離(Euclidean Distance)
歐式距離要求兩條軌跡的長度相同一一對應,其數學定義為:
歐氏距離的定義簡單明瞭,就是兩條軌跡對應點的空間距離的平均值,但是缺點也很明顯,就是不能度量不同長度的軌跡相似性,且對噪音點敏感。
圖5:歐式距離示意圖(黑點與紅點一一對應)
- 動態時間歸整(Dynamic Time Warping,DTW)
如上所述,歐式距離的一個明顯的限制是要求兩條軌跡長度相等,這在實際情況中是不太可能的,更理想的情況應該在軌跡長度上具有一定的靈活性。
動態時間歸整DTW[3]的思想是自動扭曲兩個序列,並在時間軸上進行區域性的縮放對齊,以使其形態儘可能一致,從而得到最大可能的相似性。DTW將兩條軌跡的點進行多對多的對映,從而較為高效地解決了資料不齊的問題,其動態規劃演算法如下:
其中Head(tr)=表示該軌跡的第一個點;Rest(tr)=<p2…pn>表示除第一個點之外的所有點組成的子序列。
圖6:DTW示意圖(黑點與紅點進行多對多對映)
動態時間歸整演算法靈活,對軌跡長度無限制,且效果較好,但是其並未對噪音點進行處理,離群點也會對結果造成較大影響。
- 最長公共字串(Longest Common Sub-Sequence,LCSS)
有一個經典的演算法問題:求解兩序列的最長公共子序列,不要求公共子序列中的兩個連續相連,例如BDCABA和ABCBDAB的最大公共子序列為BCBA。在此基礎上,很自然提出了基於最長公共子序列的軌跡相似性度量方法,即LCSS,其值代表最多可被是為同一點的點數,也就是兩條軌跡中滿足最小距離閾值限制的軌跡點的對數。其基於動態規劃的演算法如下:
其中,引數是最小距離閾值,兩點之間距離小於該值時將被認為是同一點,此外,該演算法對軌跡長度沒有限制。
圖7:LCSS示意圖,有兩對點的距離小於,則被視為同一點,LCSS值為2
最長公共子串距離對噪音點進行了處理,即因噪音點的偏離沒有與其相近的軌跡點故不會被計算在最終結果內,這一步驟有效對抗噪音。但與此同時,該演算法的最小距離閾值不好定義,還有可能返回並不相似的軌跡。
- 編輯距離(Edit Distance on Real sequence,EDR)
給定兩個長度分別為n和m的軌跡tr1和tr2,最小距離的匹配閾值,則兩條軌跡之間的EDR距離[4]就是需要對tr1及逆行插入、刪除或替換使其變為tr2的操作次數,其基於動態規劃的演算法如下。
其中,
圖8:EDR示意圖,在p1處“插入”一點、將p2’“替換”為p3和在p5處“插入”一點,共計3個操作使兩條軌跡相等(即對應點距離均小於閾值),故其EDR值為3
軌跡的編輯距離為軌跡相似新度量提供了一種新的思路,其缺陷也很明顯,就是對噪音點敏感。
- 豪斯多夫距離(Hausdorff Distance)
簡單來說,豪斯多夫距離[5]就是兩條軌跡最近點距離的最大值。
其中,h(tr1,tr2)稱為tr1到tr2的單向豪斯多夫距離,其定義如下:
圖9:豪斯多夫距離示意圖,每個紅點都有一個最近的黑點,豪斯多夫距離就是其中的最大值
- 弗雷歇距離(Fréchet Distance)
直觀的理解,弗雷歇距離[6]就是狗繩距離,即主人走路徑A,狗走路徑B,各自走完兩條路徑過程中所需要的最短狗繩長度。
圖10:狗繩距離示意圖,虛線表示主人和狗在同一時刻所處位置的對應,弗雷歇距離即為長度最長的虛線
弗雷歇距離基於動態規劃思想的演算法如下:
其中,d(p,q)是兩個GPS點的歐式距離,tr(n-1)=<p1→p2→…pn-1> 是軌跡tr的長度為n-1的子軌跡。
弗雷歇距離為我們提供了一種簡單直觀的度量相似性的方式,也能達到較好的效果;但可惜的是其並沒有對噪音點進行處理,例如若狗的某個軌跡點因為噪聲偏離得很遠,那麼弗雷歇距離也隨之增大,這顯然是不合理的。
- 單向距離(One Way Distance,OWD)
單向距離OWD[7]的定義如下:
其中,|tr1|表示軌跡tr1的長度,d(p,tr2)表示GPS點p到tr2的距離。為了對稱,簡單修改上述公式:
圖11:單向距離示意圖,該距離即為各多邊形的面積之和與折線長度的比值
OWD距離的基本思想基於兩條軌跡圍成的面積,當面積大,說明軌跡之間距離較遠,相似度就低;相反,若圍成的面積為0,則說明兩條軌跡重合,相似度最高。
- 多線位置距離(Locality In-between Polylines,LIP)
多線位置距離LIP[8]定義如下:
其中,Ii表示兩條軌跡的第i個交點,權重wi定義如下:
圖12:LIP方法示意圖,該距離為每個區域面積與其權重乘積之和
LIP方法很好理解,當某區域面積的周長佔總長比重大時權重也自然就大;當Area均為0時,說明兩條軌跡重合沒有縫隙,LIP距離為0;當Area加權和大時,則說明兩條軌跡之間縫隙較大,LIP距離也就大。此外,權重由區域周長佔總長比重大決定,也一定程度對抗了噪音點的干擾。
目前,京東城市自研的時空資料引擎JUST(JD Urban Spatio-Temporal Data Engine)已經實現了動態時間規整、豪斯多夫距離和弗雷歇距離等多種軌跡相似性計算方法,使用者無需編碼,僅需一條SQL就可以實現,同時JUST還提供了軌跡的視覺化功能方便使用者觀察,歡迎訪問https://just.urban-computing.cn/進行體驗,合作請發郵件至just@jd.com。
圖13:JUST產品主頁
圖14:JUST產品門戶
參考文獻:
[1] Zheng, Y., et al. Urban Computing: concepts, methodologies, and applications. ACM TIST.
[2] Yu Zheng. Trajectory Data Mining: An Overview. ACM Transactions on Intelligent Systems and Technology. 2015, vol. 6, issue 3.
[3] Yi B K, Jagadish H V, Faloutsos C. Efficient retrieval of similar time sequences under time warping[C]//Proceedings 14th International Conference on Data Engineering. IEEE, 1998: 201-208.
[4] Chen L, Özsu M T, Oria V. Robust and fast similarity search for moving object trajectories[C]//Proceedings of the 2005 ACM SIGMOD international conference on Management of data. 2005: 491-502.
[5] Alt H. The computational geometry of comparing shapes[M]//Efficient Algorithms. Springer, Berlin, Heidelberg, 2009: 235-248.
[6] Eiter T, Mannila H. Computing discrete Fréchet distance[R]. Technical Report CD-TR 94/64, Christian Doppler Laboratory for Expert Systems, TU Vienna, Austria, 1994.
[7] OWD論文:Lin B, Su J. One way distance: For shape based similarity search of moving object trajectories[J]. GeoInformatica, 2008, 12(2): 117-142.
[8] LIP論文:Pelekis N, Kopanakis I, Marketos G, et al. Similarity search in trajectory databases[C]//14th International Symposium on Temporal Representation and Reasoning (TIME’07). IEEE, 2007: 129-140.
本文作者:京東數科 JUST團隊
文章來源:“京東數科技術說”微信公眾號
原文連結: https://mp.weixin.qq.com/s/rvNTfWLqf9OgWfUyiGuBAg.
更多技術乾貨歡迎關注“京東數科技術說”微信公眾號,我們只憑技術說話!
相關文章
- 時間序列分析 | 相似性度量基本方法
- web技術分享| 【高德地圖】實現自定義的軌跡回放Web地圖
- 【論文研讀】通過deep representation learning軌跡聚類聚類
- 如何洞悉城市人群移動規律?DataV海量軌跡視覺化實踐解析視覺化
- 《黎之軌跡》發售紀念訪談:《軌跡》系列的巨大分水嶺
- 如何繪製完美的滑鼠軌跡
- KITTI_00_SPTAM軌跡和KITTI_00_ORB軌跡ORB
- mapboxgl實現帶箭頭軌跡線
- 資料探勘技術在軌跡資料上的應用實踐
- 新冠確診病例軌跡地圖怎麼畫?小區疫情分佈地圖製作!地圖
- 通過NATAPP技術實現內網穿透APP內網穿透
- 軌跡資料 (三)
- 軌跡規劃理解
- 軌跡聯邦用到的具體公式 + 軌跡模組的設計公式
- Leaflet 帶箭頭軌跡以及沿軌跡帶方向的動態marker
- css3實現橢圓軌跡旋轉CSSS3
- 聊聊 RocketMQ 訊息軌跡MQ
- 智慧手環軌跡APIAPI
- 5分鐘學會物流軌跡地圖API嵌入到頁面中,實現物流軌跡視覺化地圖API視覺化
- 抗擊新冠肺炎,人工智慧技術可以發揮哪些效用?人工智慧
- 百度路書實現軌跡回放(標準)
- 新冠疫情:疫情之後的技術趨勢
- HybridDBforPostgreSQL軌跡相似(伴隨分析)SQL
- not noly go —— 執行軌跡[一]Go
- 前端技術之:通過plop生成Controller的方法與步驟前端Controller
- 看 Amazon 如何通過 Nitro System 構建技術優勢
- vue 高德地圖實現進度條軌跡回放Vue地圖
- 如何判斷兩條軌跡(或曲線)的相似度?
- GPS軌跡記錄器:myTracks for macMac
- 來通過寫技術文章掙錢
- 推薦一種通過刷leetcode來增強技術功底的方法LeetCode
- 《創之軌跡》Fami 通評測:承上啟下的系列集大成之作
- 百度地圖軌跡(Andriod SDK)地圖
- 自動生成相機標定軌跡
- Mapbox 輕鬆規劃起始點軌跡
- cesium製作自己的騎行軌跡
- 風場視覺化:繪製軌跡視覺化
- 如何通過微信開發實現財富自由