用户位置预测在人群检测、交通疏导和位置服务推荐等方面都有非常重要的作用。现有的位置预测研究大都基于两种轨迹数据:GPS log数据和社交媒体签到数据。GPS数据采样频率高,数据稠密。对于这类数据的位置预测一般是先获取轨迹中的停留点(用户停留或者徘徊的区域),然后根据历史的停留点信息对用户下一个可能的停留点进行预测。而社交媒体数据的个体时空轨迹往往比较稀疏分散,获取停留点的方法并不适用。现有针对社交媒体数据的研究多是利用用户历史的Point of Interest (POI)签到数据来直接预测下一个可能访问的精确POI坐标。相对于GPS轨迹序列来说,POI轨迹的时空关联较弱,但是预测位置的精度要求却更高,所以POI预测的准确率一般不高。
事实上,在许多情形下我们并不需要预测用户可能会去的精确的POI点,预测用户下一个可能去的地理区域也是十分有意义的。例如区域位置预测可以用于估计特定区域内潜在的用户群体和可能到达的用户数量,从而提前应对区域的交通堵塞、优化区域内的公共设施布局等。
本研究基于微博签到数据,利用HiSpatialCluster空间聚类算法将研究区聚类成大小不一的区域Clustering Area(CA),将对位置点的预测转换成对聚类区域CA的预测。为更好地挖掘用户的出行规律,我们使用了机器学习中的Graph Embedding算法构建CA graph,对CA的隐含特征进行充分提取和描述,接着提出了一种BiLSTM-CNN模型实现对用户区域位置的精准预测。通过比较不同聚类尺度下的预测结果,我们使用的BiLSTM-CNN位置预测模型准确率在各个尺度上都要好于对标模型,以武汉市研究区为例,在聚类数为100时,CA预测的Top-5准确率达到了80%。
图 1 方法流程图
本文的整体流程如图1所示,整个算法流程分为3步:
- 获取Clustering Area
首先使用HiSpatialCluster将原始数据聚类成不同大小的Clustering Area。HiSpatialCluster是一种自适应的高性能空间聚类算法,它可以根据空间密度自适应划分边界,即在签到密集的区域划分的CA范围小,在签到稀疏的区域划分的CA范围大。获取到所有的CA以后,用户的原始POI签到轨迹可以转化成CA序列轨迹,即目标任务变成了根据用户历史访问的n-1个CA, 预测用户可能去的第n个CA。
- 构建CA graph
我们认为一个用户签到序列中不同的CA都有着联系,且签到时间间隔越近那么CA直接的联系越大。于是我们将CA当做节点,构建了CA graph,构建流程如图2所示。例如User1和User2分别访问了A,B,C和A,C,D三个CA,图中连边颜色越深的边代表签到时间间隔越小,即边的权重越大(A与B的权重大于A与C的权重)。
图 2 构建CA图的流程
假设研究区中共有n个CA,那么CA graph的节点集可以表示为
,假设用户k一共有m条签到信息
, t1 < t2 < t3 < … < tm,其中
代表用户k访问的第i个CA。则k访问的Ci
k
和Cj
k
之间的权重可以定义为:
其中Tmax = tm – t1是用户k签到的最大时间间隔,α是权重调节系数。对于所有用户都采用这种方式获取CA节点间的权重,最终构建出CA graph。接着我们使用Large-scale Information Network Embedding (LINE, 一种Graph Embedding算法) 来获取每个CA的低维向量表示。
- 构建预测模型
得到每个CA的特征向量以后,根据用户的CA签到序列可以获取该用户的特征矩阵。在本研究中我们提出了一种集成BiLSTM和CNN的模型来实现CA预测,能够同时兼顾CA序列的全局特征和局部特征。具体地,首先将用户的特征矩阵输入BiLSTM模型中,将得到的输出作为CNN的特征输入,然后使用1维卷积和池化获取最终特征并用于分类预测。
案例分析
本研究使用的是新浪微博13,311名用户在湖北省武汉市的272,872条签到数据。整体的数据分布如图3所示:
图 3 武汉市签到数据分布
我们将武汉市所有签到数据通过HiSpatialCluster分别聚类成100,300,500,1000,1500和2000个签到区域。为了比较体现出聚类方法的优势,我们将网格划分与聚类划分的方式进行了比较。图4(a)展示了网格划分方式下45*45=2025个区域的签到数据热力图,可以看到城中心的小部分网格集中了大部分的签到数据,签到的网格分布极其不均衡。同时如图4©所示,在相同的聚类数目下,CA的空间范围也要远小于网格,即位置表达更为精确。并且由于聚类算法自适应地划分聚类范围大小,每个CA中的签到数目差异更小,这样不同聚类区域之间的空间交互相比于网格会大大增加。如果以网格作为节点构建graph,那么该graph中的连边比CA为节点的少很多,并且聚类数目越多连边数差距越明显(如图4(b)所示),越多的连边数意味着越多的空间交互和网络信息,可以更好的表达不同节点之间的关系。综上所述CA的划分方式相较于网格划分更为合理。
图4(a) 网格划分区域 图4(b) 两种方式建图的连边数比较
图4© CA与网格的大小比较
通过聚类获取了武汉市的CA以后,我们得到了每个签到用户的CA序列,构建CA graph然后通过LINE得到了每个CA的特征向量,在本研究中CA特征向量的长度设置为200。由于签到数据集中最长的签到序列为50,对于长度不足50的序列我们使用常数补全,具体过程如图5所示。最后对于每个用户的签到序列我们都得到了49*200的特征矩阵。将该矩阵作为BiLSTM-CNN的输入训练模型,最后得到分类结果。
图 5 构建特征矩阵流程
结果分析
我们使用
作为是否预测正确的标志,若真值出现在了前k个(Top-k)预测结果中,定义
的值为1,否则
的值为0。那么整体准确率可以定义为
。在本研究的案例中我们计算了
和
,结果如图6所示:
图 6 实验结果
从图中我们可以看到在各个聚类尺度下本研究提出的模型相比于其他对标模型在
和
中都取得了最好的预测准确率。
具体来说,对比使用One-Hot编码CA的方式,我们由用户的访问关系构建的CA graph和LINE提取的CA的特征向量可以更好的表达不同CA之间的隐含联系,从而影响最后的预测准确率。而One-Hot编码虽然方便直观但是却忽略了不同CA之间的联系,且随着CA数目的增加,One-Hot编码更为稀疏,我们的模型优势相较于One-Hot就更为明显。
对比LSTM和CNN的单模型,我们组合两种模型的方法能够更好的捕获全局特征和局部特征,从而提高了预测准确率。随着聚类数目的增加,用户空间的交互更多且轨迹模式更为复杂,由于CNN能够更好的获取局部特征,获取局部相关的CA能力更强,因而在Top-5的准确率明显优于LSTM。
总结与展望
由于社交媒体数据的稀疏性和离散性,对POI位置点的预测效果往往不够理想。本文构建了一个基于BiLSTM-CNN模型的聚类区域预测模型,将点位置预测任务转化为聚类区域预测任务。随着聚类个数的增加,模型预测精度会减小,但同时每个聚类区域的面积会减小,位置会更加精确。我们可以根据实际的应用场景和需求调整聚类数目,在模型的预测准确率和位置精度找到一个平衡点。例如在估计特定地理区域用户数和人流的时候,我们并不关注用户会去该区域的哪个位置点,而是更加关心用户是否会去该区域,这时候可以适当减小聚类个数从而提高预测准确率。
未来,我们会考虑用户的社交关系以及与签到地点相关的时间、文字、图片等信息对出行偏好的影响,探索并将不同区域之间的交互规则整合到用户位置预测模型中。