市民的出行轨迹数据无论是对于城市管理、规划,还是商业活动,都是重要的参考信息。然而,获取一个城市的人群轨迹数据却非常困难。
在今年4月份召开的国际顶级互联网会议WWW 2020(CCF-A类)上,京东城市报告了被会议收录的论文《What is the Human Mobility in a New City: Transfer Mobility KnowledgeAcross Cities》,研究了如何通过迁移学习,根据一个城市的POI、路网、交通信息来推测它的人群轨迹分布。
1. 背景
城市人群出行所产生的轨迹信息是公共交通规划、城市基础建设、商业选址智能系统的重要参考数据。但由于隐私、商业保密和传感器部署预算等原因,想要得到城市大量的轨迹是非常困难的,尤其是对于一个新的、缺乏数据采集的城市区域。
图1
然而我们知道,一个城市的出行轨迹分布,与该城市的POI、公交、路网信息存在关联。那么,是否可以通过已有轨迹的城市区域,去学习这种关联,并将这种关联应用在目标城市上呢?这正是该工作所作的研究。正如图1示例,通过对已有轨迹的城市如北京、合肥进行出行知识建模,通过雄安的路网、POI、公交信息,得到雄安的轨迹数据分布。
图2
作者将出行的本质归为三个阶段(图2):1)产生出行意图、选择目的地和路线选择。顺着这个思路,该论文将新城市的轨迹生成问题拆分成三步:1)出行意图迁移;2)起始点-终点(OD)生成;3)路线生成。
2. 出行意图生成
由于不同城市的建设程度、规划风格存在差异,从源城市中显式学习到的出行规律,无法很好应用于目标城市。一个典型例子是,北京有大量从家到地铁站的短途出行需求,而小城市没有地铁站,就不存在家-地铁的出行模式。这就是各城市在显式特征空间中的分布不一致现象(图3左)。
图3
虽然显式出行模式不能直接应用在新的城市,但作者尝试找到一个隐空间,在这个空间里,各个城市的数据分布相近,通过源城市学习得到这个一致分布,并将其作为目标城市的分布(图3右)——这就是迁移学习领域的域泛化(Domain Generalization)思想。
图4
图4展示了出行意图生成模块的具体过程。
首先,根据两个源城市轨迹的起始点终点,提取显式的特征——空间信息特征(Spatial Context Features)。提取包括了POI分布、起终点在路网中的拓扑特征、与公交站的距离等信息(图4b)。
接下来,基于域泛化思想,从不同源城市OD点的空间信息特征中学习泛化函数G,最小化G函数映射后源城市之间的分布最大平均差异。如图4c所示,通过学得的G映射函数,在G目标空间——出行意图空间(MobilityIntention Space)中,不同源城市的分布相近。
最后,对出行意图空间中的数据进行建模,对出行意图分布建立生成模型(图4d)。根据作者在早期探查中的试验,从源城市得到的出行意图分布,与目标城市的出行意图分布也很接近。因此,该工作将源城市的出行意图分布直接作为目标城市的出行意图分布。
3. 目标城市的起终点生成
通过上一步,我们得到了出行意图空间的生成模型,产生目标城市的出行意图数据。但出行意图数据是隐空间数据,如何通过产生的出行意图向量,来算得目标城市真实的起终点?
其实换一种问法就是,产生的出行意图,最接近目标城市从哪里到哪里的意图?这就转成了是一个相似查询问题。
图5
图5形象化了该模块的执行过程。分为三步:
首先是候选起终点获取。我们先计算目标城市的所有可能出现的起终点对。根据相关研究,91.7%的短途出行集中在6公里以内。因此,该工作枚举了目标城市所有6公里以内的起终点作为候选集。
然后,通过同样的空间信息特征提取方法,和上一模块学得的域泛化函数G,得到目标城市的起终点候选集映射的出行意图信息(图5b)。
最后,如图5c,利用上一模块生成出行意图f,并查找与其最相似的目标城市的候选起终点作为最终的生成结果。该工作对出行意图空间中的目标城市的候选OD集建立KD-Tree索引,提高了相似性查询的效率。
4. 路线生成
在解决了起终点生成之后,另一个问题是,如何生成起终点间的具体路径?人们对路线的偏好,取决于路线本身的特征:是否是大路、需要经过多少个拐弯、路程是否接近最近路程长度等等。基于此思想,该工作的路线生成分为两步:
图6
首先是候选路线集生成。作者发现,大部分轨迹都会选择最短或者接近最短的路线来完成出行。为此,该工作对起终点计算了前m短非重叠路线,作为候选路线集。这里注意该工作并非直接使用前m短路线作为候选路线,这是因为,前m短路线往往近乎重叠在一起(图6a)。该工作通过wJCD指标计算两条路径的重叠指数,设定wJCD值θ作为重叠阈值,筛掉重叠度高的路径。
那前m短非重叠路线是否覆盖了大部分轨迹呢?图6c统计了真实数据中,轨迹的覆盖比例与m、非重叠阈值θ的关系。可以看出,当选择非重叠阈值为0.7的前5短路径时,已经可以覆盖将近90%的真实轨迹,而不引入非重叠条件(θ=1)时只能覆盖少量轨迹。这证实了非重叠约束的有效性。
图7
其次是选择各条候选路线集的概率计算。该工作通过类似于排序问题中的Listwise方式进行训练,得到各条路线的概率。如图7所示,对给定的起终点OD,先获取三条候选路线,并进行路线特征提取分别得到p1,p2,p3。评分函数Gu会给各条路线进行打分,并通过Softmax函数转为最终的概率分布,再以真实轨迹数据的分布算得交叉熵损失,来训练Gu评分函数。该工作中,Gu采用多层全连接网络实现。
5. 实验
作者通过四个城市区域来验证该方法的有效性:北京朝阳区、北京海淀区、成都、合肥,覆盖了一、二、三线城市。数据包含了:轨迹数据、POI数据、路网数据、交通站点数据。下表列出了详细的统计量信息。
该工作的任务是在目标城市比较生成的轨迹与真实轨迹的分布是否一致。对轨迹分布,如何设置评判标准呢?作者认为,现有的工作会直接比较轨迹热力图的分布一致性并不严谨,因为不同的轨迹集合可以产生同样的轨迹热力分布。为此,作者采用两步验证来衡量结果的准确性,即起终点分布和路线偏好分布——这是因为如果起终点分布准确,且基于起终点的路线偏好分布准确,则最后的轨迹分布也准确。起终点可以看作一对经纬度<lat1, lng1, lat2, lng2>,即四维欧氏空间。作者采用nMMD来衡量分布相似性。而路线分布的准确性,可以通过KL散度来计算。
图8展示了起终点生成的准确度,其中MMD越小越好,并对比了不通过域泛化(No Adpt. )的方法。作者发现,通过域泛化,能明显提高生成的效果;并且,源城市与目标城市的组合也对生成结果也有明显影响。比如,图8a中,朝阳成都-合肥的泛化效果非常好,而成都合肥-朝阳的效果较差。作者猜测这与城市的发展程度导致的出行多样化程度有关。
图8
图9展示了路线偏好模型的实验结果。并对比了前m短路线(mSP)和基于本城市数据的模型(Ours-T2T)这两个基准线方法。作者发现,通过设定候选路线的重叠阈值,可以明显提高准确度,这是因为前m短非重叠路线可以更好地覆盖真实轨迹;另外,无论采用哪个城市的数据进行路线偏好训练得到的模型,都与本城市数据训练得到的模型结果相近(图9d),说明各个城市的路线偏好具有相似性。由于m值的增加可以提高准确度,却会使得前m短路线计算时间增加,作者还测试了m值的选取对准确度、时间性能的影响,发现在m=5时,可以取得准确度和时间性能的最好折中(图9e)。
图9
作者以雄安容城作为案例分析地点。在获取了该区域的POI、路网、交通数据后,以北京成都为源城市训练模型,并生成容城的轨迹数据。图10展示了生成的轨迹与实地考察结果。分析当时,容城的主要居住娱乐区域集中于市中心(图10de),周围老住宅和工厂环绕(图10a)。说明了考察地点人群流动情况与生成结果有较好的符合度。
图10
论文链接:
http://bucket.kangry.net/paper%2Fwww1208tianfu.pdf
论文PPT:
http://urban-computing.com/slides/WWW2020_HumanMobility.pptx