HGSM——基于层级结构图的相似度分析

HGSM算法(Hierarchical-graph-based Similarity Measurement),基于层级结构图的相似度分析:主要是基于用户的历史位置信息挖掘用户之间的相似度。与其他关于位置信息的算法不同的地方在于它考虑了人们运动行为的序列性质和地理空间的层次性。

GPS记录:一系列GPS数据点的有序集合, P={ p1,p2,,pn} 。每个GPS数据点 pi=(Lati,Lngti,Ti) 。图一左边是一个GPS记录,将这些点描绘在一个二维平面内,得到一个GPS轨迹,如右图。
这里写图片描述

根据GPS记录提取停留点
1、GPS记录是由很多个GPS数据点组成的,其中有很多不带有什么意义;
2、每一个GPS数据点都或多或少地存在着误差;
3、当用户进入室内场所时,可能得不到当时的GPS数据,直到重新到达室外。

图一右图中有两种类型的停留点:
停留点1:在某一段时间内,用户的位置信息是静止不动的,可能用户进了一个没有信号的房子里。
停留点2:在某一段时间内,用户一直在一个特定的区域内徘徊,产生了很多GPS数据点,因此我们需要把这些数据点取平均位置作为一个停留点。

定义:如果在一定范围(D<200m)内,用户停留超过一定时间(T>30min),则认为用户在这一地点进行了停留,取这一部分GPS点的平均值作为停留点坐标,取第一个GPS点的时间戳作为到达时间(arvT),取最后一个GPS点的作为离开时间(levT),记作:

SP=(P^,arvT,levT)

范围D、时间T的选取可以根据不同情况进行调整,选择合适的数值就可以避免一些无意义的停留点的出现,比如交通堵塞。

下面是检测停留点的算法:
这里写图片描述

根据GPS轨迹和检测出的停留点,用户的历史位置记录可以表示成一系列带有到达时间和离开时间的地点。由于不同的用户的停留点很多都是不同的,很难对其进行比较,用停留点之间的距离来度量用户相似度也会误差很大。

为了解决这个问题提出了层级结构图。将所有用户的停留点放在一个数据集内,再对这个数据集进行层次聚类,得到几个不相交的空间区域。所以不同用户相似的停留点在每一层中将会被分在同一个区域内。
这里写图片描述
随着层级降低,空间区域的个数变多,每个空间区域的规模变小,在更低层级上有相同历史位置记录的用户比高层级上相同历史位置记录的用户更相似。

聚类之后我们用层级结构图来表示用户的历史位置信息,比如:
这里写图片描述
首先找到两个用户共有的区域,这里是A,B和C区域,用户1的位置序列为 <C,A,B,B,C,C,B,C> <script type="math/tex" id="MathJax-Element-114"> </script>,用户2的位置序列为 <A,B,C,A,A,C,A> <script type="math/tex" id="MathJax-Element-115"> </script>,更进一步,我们把位置序列表示为:

User1:C(1)Δt1A(1)Δt2B(2)Δt3C(2)Δt
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值