CPD距离定义简单,但是容易受到局部极端情况的影响,考虑两条轨迹在某点相交,然而整体情况差异很大,这种情况用CPD距离显然不合适。总体来说,这种方法不是很好。
SPD[2]距离对两条轨迹对应序号的点对计算距离并求和,以该求和距离作为轨迹相似性分数。计算公式如下:
[attach]122351[/attach]
观察SPD距离发现,SPD距离要求轨迹A和轨迹B具有相同的轨迹点个数。在此基础上可以做出一些改进[3],以便可以适应轨迹长度不同的情况,同时考虑轨迹方向的影响,参考Hausdorff distance algorithm ,类似于对称SPD距离。
[attach]122352[/attach]
总体距离分数为score = (d(A,B) + d(B,A)) / 2。对于d(A,B),按照轨迹点index顺序,找出轨迹A上每个点到轨迹B的最短距离,求和并除以总点数。
DTW距离的计算不受到轨迹点数是否相同的限制,计算公式为:
[attach]122353[/attach]
给定轨迹A<a1,a2,...an>和轨迹B<b1,b2,...bm>,Head(A)表示a1,Rest(A)表示<a2,a3...an>。
在噪声点存在的情况下,之前的计算方法会受到很大影响,而LCSS方法[4]在解决噪声点影响时很有效。LCSS全称为最大公共子串,假定A和B是点数分别为n和m,给定整数δ 和距离阈值ε 。LSSS的定义如下:
[attach]122354[/attach]
与DTW一样,计算方法用一种动态规划的形式定义。
虽然LCSS距离考虑到噪声的影响,但是LCSS无法区分具有相同公共子序列的轨迹,因此提出EDR[5]距离。
[attach]122355[/attach]
n,m为轨迹A,B的长度。subcost定义为:
[attach]122356[/attach]
轨迹相似性度量在轨迹聚类,移动目标分析中是个关键的问题,考虑到数据量,计算复杂度,噪声等影响因素,不同情况下需要选择不同度量。
参考资料:
《Computing with Spatial Trajectories》 郑宇
Agrawal, R., Faloutsos, C., Swami, A.N.: Efficient similarity search in sequence databases.
FODO pp. 69–84 (1993)
Chen, L., Ozsu, M.T., Oria, V.: Robust and fast similarity search for moving object trajectories.
SIGMOD (2005)
Chen, Z., Shen, H.T., Zhou, X., Zheng, Y., Xie, X.: Searching trajectories by locations - an
efficiency study. SIGMOD (2010)
Jon Froehlich John Krumm: Route Prediction from Trip Observations(2008)
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |