2011-Unveiling the complexity of human mobility by querying and mining massive trajectory data


几百万个 GPS 点,怎样变成一组能追问的交通问题?

论文名片|Fosca Giannotti、Mirco Nanni、Dino Pedreschi、Fabio Pinelli、Chiara Renso、Salvatore Rinzivillo、Roberto Trasarti,Unveiling the complexity of human mobility by querying and mining massive trajectory data,The VLDB Journal,2011,20:695—719。正式期刊版,2011 年 7 月 30 日在线发表。DOI:10.1007/s00778-011-0244-8。研究类型:轨迹查询与挖掘系统,以及真实私家车 GPS 案例分析。

想象一场比赛结束,停车场里的车陆续驶出。热力图能告诉你哪里车多,却不能直接回答:这些车从哪里来,散场后走哪条路,路上的慢车是否一起移动,明天相同时间又会出现在哪里?这是假想的分析场景,论文中则确实有一项米兰球场案例。

这篇论文的回答是:不要让一次挖掘停在一张结果图上。路线类别、常见的区域访问顺序、一起移动的车辆,都可以像原始轨迹一样保存、查询,并继续参与下一步分析。M-Atlas 把这种反复追问组织成数据库语言与可视化系统。

先说结论

  • 两批保险车辆 GPS 记录覆盖米兰约 1.7 万辆车、20 万次行程,以及比萨周边约 4 万辆车、150 万次行程。它们提供细致的私家车活动线索,但不代表全部居民、全部交通方式。
  • 同样从市中心驶向东北郊区的车,可以分出不同路线;再按日期和小时查询,才看出其中一个大类呈现较强的工作日与早晚节奏。
  • 去机场的车未必全程相似,却常在最后一段合流;识别共同片段,比强行把整条行程归成一类更符合问题。
  • 球场聚集、下一地点预测和共同慢行案例展示了工具链的用途;论文没有给出独立的拥堵检测准确率,也没有证明预测热区就是即将拥堵的路段。
  • 系统的重要贡献是让数据、模式和模型互相衔接。性能实验显示主要耗时通常仍在挖掘算法,不能据此声称所有分析都能实时运行。

车的位置很细,代表的人群却有边界

数据来自 Octo Telematics 的车载设备,车辆参加按使用情况定价的保险计划。Milano2007 在 2007 年 4 月 1—7 日覆盖米兰约 20 × 20 km 范围,约 1.7 万辆车、200 万个定位点和 20 万次行程;Pisa2010 覆盖托斯卡纳海岸比萨周边约 100 × 100 km,五周内约 4 万辆车、2,000 万个点和 150 万次行程。Pisa2010 的名称与正文所写年份存在不一致,这里沿用数据集名称与五周观察口径,不据此推断跨年变化。

GPS 大致每 30 秒记录一次,正常定位误差约 10—20 m;相邻记录中断超过 30 分钟时切分行程。车是分析单位,一辆车可能由不同人使用,同一个人也可能搭乘其他交通工具。替换车牌标识只能降低直接识别风险,不能自动消除轨迹再识别风险。

论文拿较早的米兰出行调查作对照。调查覆盖约 4.5 万辆车、21 万人,包含多种交通方式;GPS 则只记录被追踪的私家车,还可能包含非本地居民。因此,两者适合核对大体节奏,不能逐个数值当成同口径误差比较。

图1:调查与GPS记录的日内和周内出行节奏

图 1|GPS 是否保留了熟悉的早晚出行节奏?

左图横轴为一天中的小时,纵轴为调查估计的出行量,保留明显早晚峰;右图把一周按小时连续展开,绿色为 GPS 行程频数,工作日重复出现高峰,周末较弱。两边样本与时间范围不同,主要比较形状,不能直接比较纵轴高度。来源:原论文 Fig. 1。

图2:调查和GPS所见的午间停留空间

图 2|相似的日节奏,会不会遮住空间上的偏差?

左图为调查中的 11—12 时停留分布,右图为 GPS 车辆停留分布;各自暖色表示较多停留,冷色表示较少。两者在部分道路与居住区相符,但 GPS 对中心区的集中程度较弱。论文提出私车限制、停车不足及公共交通通勤等解释,没有将它们逐一分离检验。来源:原论文 Fig. 2。

这两批记录也包含不同长度与时长的行程。行程长度把相邻 GPS 点间的直线距离逐段相加,不是起终点直线距离;时长由首末时间计算。把所有车压成一个平均出行距离,会丢掉大量长短行程差异。

图3:行程长度和时长的长尾

图 3|为什么一个平均值不够?

左图横轴为行程长度 km,右图为时长分钟,纵轴均为随阈值增加而下降的累计尾部比例,双轴采用对数刻度。红色米兰、绿色比萨都显示大量短行程与少量很长行程;这里没有据此识别唯一的幂律机制。来源:原论文 Fig. 3。

图4:速度分组中的平均里程和样本数量

图 4|高速段的平均行程,为什么更不稳定?

左为米兰,右为比萨;横轴是速度 km/h,红线对应左轴平均行程长度,绿线对应右轴该速度组行程数量。中低速范围内速度越高通常行程越长,高速端绿线已接近零,红线的大幅起伏不能当成稳定规律。来源:原论文 Fig. 4。

车辆的常用地点与城市的总体车流还属于不同层次。论文计算轨迹的中心位置,以及定位点围绕中心的回转半径(radius of gyration);中心是坐标平均意义上的位置,不能仅凭这个计算认定为真实住址。

图5:单车轨迹和对齐后的常用地点分布

图 5|常去中心怎样从杂乱轨迹中浮现?

左图为一辆车一周的轨迹;右图将车辆活动放在各自的内在参考系中,显示不同相对位置的访问概率,暖色向常用中心集中。单车示例与汇总后的概率图不能读成已经核实的家庭、单位分布。来源:原论文 Fig. 5。

图6:不同时段的移动车辆密度

图 6|城市里正在移动的车,随时间怎样变化?

从左到右依次是 0—2 时、6—8 时、18—20 时的移动车辆密度,较暖颜色表示较高密度。夜间与早晚的热点不同;这些图统计移动车辆,与图 2 的停留车辆口径不同。来源:原论文 Fig. 6。

图7:居民规模和被追踪车辆规模的关系

图 7|样本数量能否直接换算成全城车流?

左为米兰、右为比萨;横轴是推定常驻的 GPS 车辆数,纵轴是统计机构居民人口,红点为地区,绿线显示规模关系。地区人口与样本车数总体相关,但散点并不完全贴线。论文估计样本约占比萨登记车辆的 2%、米兰的 0.5%;按比例放大全体车流仍需额外的代表性假设。来源:原论文 Fig. 7。

不同问题,需要保留不同的轨迹信息

两条车程从同一街区出发,不意味着沿途相同;两辆车在一天内走过同一条路,也不意味着同时在一起。M-Atlas 的对象设计,就是把这些容易混淆的问题分开。

图8:M-Atlas对象类型与模型模式关系

图 8|哪些结果可以继续参与查询?

上方 Data 保存空间、时间与移动对象;下方 M-Pattern 保存局部模式,M-Model 保存面向数据集的模型。虚线标示聚合关系,例如聚类模型包含多个轨迹簇,OD 矩阵包含多条流。挖掘结果因此可以存回数据库,成为下一条查询的输入。来源:原论文 Fig. 8。

图9:四类轨迹模式

图 9|路线相似、经过顺序与同时同行,有何区别?

(a)T-Cluster 把按指定距离函数判为相似的轨迹归组;是否比较起点、终点或全路线,由问题决定。(b)T-Pattern 保留常见区域访问序列及区域间的相对转移时间。(c)T-Flock 要求多个对象在持续一段时间内保持空间接近,时间一致性不能省略。(d)T-Flow 表示从 A 到 B 的行程量,示例数字 120 是流量,不是速度。来源:原论文 Fig. 9。

图10:可达距离图模式树和OD矩阵

图 10|这些局部线索怎样组成可复用的模型?

(a)Reachability plot 按轨迹排序绘出邻近距离,用距离高低辅助区分密集群与稀疏对象,并非地图上的出行可达性指标。(b)T-PTree 把共享前缀的区域访问模式压成一棵树,边上保留转移时间。(c)T-ODMatrix 用带权有向连接记录区域间流量。来源:原论文 Fig. 10。

要找某类路线的原始记录,系统提供 Entails 关系:从模式返回符合它的轨迹。空间相交、包含、时间筛选也能应用于相应的数据或模式类型。这使一个分析不必在导出图片后重新手工拼接。

图11:数据模式模型之间的关系操作

图 11|怎样把挖出的结果重新接回原始数据?

矩阵的行列是不同对象类型,格中列出可用的相交、包含、相等或 Entails 操作;红色 Entails 特别标出模式与匹配轨迹之间的关系。黑框是传统时空数据操作,框外扩展到模式与模型。空白格不表示已经实现所有类型间的任意比较。来源:原论文 Fig. 11。

数据太多与参数太多,是两道不同的难题

全量路线聚类可能很贵。论文的一种办法是:在一天的轨迹中找出代表路线,再用这些代表给其余日期的轨迹分类。案例先取周三记录,用 750 m 路线距离阈值与至少 5 条轨迹的密度条件聚类,再把全周轨迹与代表路线匹配。没有合适代表的轨迹可以归为噪声,而非强行归类。

图12:一天学习的代表路线用于一周轨迹

图 12|少量代表路线能否保留较大数据的主要形状?

左图蓝色为周三某个路线簇的轨迹,红色为代表;右图绿色为整周被这些代表接纳的轨迹。整周数量更大而主要路线相近,是该案例的直观检查;图中没有给出可推广的分类准确率。来源:原论文 Fig. 12。

若模式每周都大幅改变,旧模式也很难继续使用。研究从 Pisa2010 第一周提取 274 个 T-Pattern,再计算它们在后四周的支持度,也就是符合该模式的轨迹占当周轨迹的比例。

图13:模式支持度的跨周稳定性

图 13|首周的常见移动顺序,后续四周还常见吗?

横轴为首周支持度百分比,纵轴为后续某周支持度;红、绿、蓝与紫分别对应第 2—5 周。同一模式的四个点通常靠近等值方向,说明这批常见模式的相对频率较稳定;并未证明每个人每周都走相同路线。来源:原论文 Fig. 13。

另一道难题是阈值。支持度太低会产生许多偶然模式,太高又会漏掉有用路线;时间容差过宽,会把不同转移节奏合并。论文用分布曲线的斜率变化和分位数缩小候选范围,仍需要分析者判断用途。

图14:频繁区域和时间间隔的参数线索

图 14|阈值能从数据中得到哪些提示?

左图按网格活动频数排序,纵轴为移动数量,斜率变化给出 13、24、82 等候选支持阈值。右图为转移时间的累计分布,插图放大短时间范围;约 33 秒的采样间隔会留下阶梯,约 14 分钟中位数可作时间容差候选。候选值不是统一的最优参数。来源:原论文 Fig. 14。

图15:轨迹与定位点的近邻距离

图 15|空间上多近才算一群,也要看数据密度吗?

左图把米兰轨迹的第 k 近邻距离排序,红、绿、蓝分别为 k=3、4、10,插图放大转折区;右图为比萨定位点的第二近邻距离。纵轴都是距离 m,但对象与距离定义不同,不能把两边阈值直接互换。曲线由缓变转为陡升,为区分群体和稀疏对象提供候选界线。来源:原论文 Fig. 15。

同样去东北郊区,为何有人走城内,有人绕外环?

只统计从米兰中心到东北五个市镇的流量,还不知道车怎么走。M-Atlas 先用行政区构造 OD 矩阵,选出这些目的地,再通过 Entails 取回相关轨迹,按全路线相似性聚类。这个案例的聚类条件为路线距离 400 m、最小群体 5 条轨迹。

图16:行政区定义和OD流量浏览

图 16|怎样先把真正要比较的出行选出来?

左图橙色为米兰中心行政区,周边区域用其他颜色区分;右图圆环节点为区域,连带宽度表示起终点间行程量。选择中心至东北邻城的连接后,才能对相同方向的行程继续比较路线。来源:原论文 Fig. 16。

图17:相同OD方向中的三类主要路线

图 17|一束看似混乱的线,能分出哪些通道?

左图蓝色为筛选出的全部中心至东北郊区轨迹;右图以不同颜色显示主要路线簇。红色簇 0 先向北再向东,绿色簇 2 倾向先向东再沿外环向北,紫色簇 3 走东北向通道。类别由路线相似性得到,不是预先给每位司机贴上通勤标签。来源:原论文 Fig. 17。

同一套路线代表被用于全周记录后,绿色簇 2 的规模变化最接近总体流量:工作日较多,周末较少。另外两簇相对稳定。对每小时行程数量的进一步查询,又显示绿色簇早晨与傍晚较活跃。

图18:全周不同路线类别的流量

图 18|哪个路线类别贡献了较多工作日出行?

横轴为观察周内连续七天,纵轴为轨迹条数;蓝色为全部相关行程,红、绿、紫分别为簇 0、2、3。绿色簇数量最大且随工作日与周末变化,其他类别变化较小。这里统计行程,不是每天不同驾驶员的人数。来源:原论文 Fig. 18。

图19:三个路线类别的小时分布

图 19|日内时间能否帮助解释路线差异?

左、中、右分别为簇 0、2、3,横轴为小时,纵轴为轨迹数量。中间绿色簇呈较强的早晨与午后至傍晚活动;另外两簇的双峰特征较弱。路线加时间支持通勤式节奏的解释,但研究没有用家庭、工作地址核实每次出行目的。来源:原论文 Fig. 19。

去机场的共同路径,可能只在最后一段出现

机场案例换了问题:车辆从不同地方出发,只在靠近目的地时合流。若要求整条路线相似,反而会错过这种共同结构。论文先查询从米兰到各停车场的流量,发现编号 317 的 Linate 机场停车场最突出,再从其行程中挖掘访问顺序模式。

图20:从停车场流量找到机场共同进场片段

图 20|怎样从全城停车场中找到共同目的地和进场线路?

左图为中心至停车场的 OD 浏览界面,小圆环突出较大流量;右图红线是驶向机场的实际行程,蓝色是共同 T-Pattern。分散的出发地不妨碍车辆在末端共享路径。来源:原论文 Fig. 20。

该次挖掘以 50 m 空间网格、900 秒时间容差和 5% 最小支持度寻找共同片段。支持度的分母是被选入的机场行程,不是全城市民。得到的三个主要方向分别来自市中心、北侧和南侧;北侧车辆共享的外环段更长。

图21:机场三种主要接近方向及转移时间

图 21|从哪里接近机场,会改变共同路径与转移时间吗?

左、中、右依次为来自中心、北侧、南侧的主要模式;红线为轨迹,蓝色为共同片段。插框保留模式相邻区域间的平均转移时间,分别显示 15/45、30/60、15/45 分钟,不宜统读为整个机场行程的总耗时。来源:原论文 Fig. 21。

一场比赛结束,能从停留热区追到离场路线吗?

球场附近的车可能只是路过。论文因此统计停留,用 0.5 × 0.5 km 网格和两小时时段计算驻留车辆数,再找超过该网格整周分布第 90 百分位的异常聚集。2007 年 4 月 3 日晚,圣西罗球场附近的聚集与一场米兰对拜仁的欧冠比赛对应。

图22:比赛晚间三个时段的驻留热区

图 22|异常聚集在何时出现,又何时消散?

左、中、右分别是 18—20、20—22、22—24 时驻留分布,暖色表示较多车辆。球场附近在比赛时段形成突出聚集,之后减弱。阈值利用整周数据,是回溯式异常识别示例,不能当作已经盲测通过的实时事件报警。来源:原论文 Fig. 22。

选回这些车辆的行程后,研究用入场行程的终点与离场行程的起点近似到达、离开时间。到达分散在比赛前数小时,离开更集中于比赛结束后;再给 22—24 时离开的路线聚类,就得到不同疏散方向。

图23:球场到离时间和离场路线

图 23|聚集之外,哪些信息有助于理解散场?

左上为到达时刻分布,左下为离开时刻分布,横轴为小时、纵轴为对象数量;离开在 22—24 时集中。右图按颜色显示离场路线类别,包括蓝色较近行程、绿色东北外环与红色东南外环方向。它能为交通管理提供线索,没有测试某项疏导措施的实际效果。来源:原论文 Fig. 23。

预测到一批车要去哪里,距离预测堵车还有多远?

位置预测使用更丰富的 Pisa2010 记录:选五个工作日 8—10 时约 1 万条轨迹训练,再用下一周一相同时段约 4,000 条轨迹测试。T-PTree 利用已见位置序列匹配常见模式,为约 3,000 条轨迹给出下一地点预测,落在 29 个区域。

约 3,000/4,000 表示模型能给出预测的比例,不能改写成 75% 的地点预测正确率。其中五个区域各包含超过 150 条预测轨迹。按登记车辆约 2% 的样本覆盖率外推,相当于超过 7,500 辆车;这是依赖覆盖率假设的换算,不是直接观测到的全体车数。

图24:预测位置与实际位置密度的对照

图 24|预测热区和实际热区有多接近?

左图为预测位置密度,右图为实际位置密度,暖色区域出现于相近位置,但实际活动区域通常更宽。论文用地图作直观比较,没有在这组图中提供平均定位误差、误报率或强基线比较。高密度只表示车可能集中,路网容量与速度尚未纳入,不能直接认定会堵车。来源:原论文 Fig. 24。

拥堵案例采用另一种操作定义:在一段时间内保持接近、且移动较慢的一组车。示例每 60 秒重采样,空间半径为 500 m,至少 3 条轨迹、至少 4 个时间片;不同采样与阈值会改变检出的群体。

图25:两处共同慢行群体

图 25|哪些车辆既靠得近,又共同慢行?

左图为 Pontedera 高速附近发现的 13 个共同移动群体,平均速度范围 15—37 km/h、持续约 3—10 分钟;右图为比萨附近收费站发现的 4 个群体,约 16—24 km/h、持续 3 分钟。图示线条反映部分群体的位置;共同慢行是可能拥堵的线索,没有用独立路况真值给出检出准确率。来源:原论文 Fig. 25。

同样不能把样本里的三辆车直接说成一个有 150 辆车的车队。论文的这一换算沿用了总体渗透率假设;特定道路、时段与保险客户的覆盖率可能不同。

把查询接起来以后,计算成本去了哪里?

M-Atlas 的图形界面帮助选择区域、浏览模型,背后仍会生成查询。数据库保存数据、模型与模式;控制器安排查询计划,算法管理器调用构造、关系、变换等库。架构建立在 PostgreSQL/PostGIS 上,并留有插件扩展位置。

图26:M-Atlas系统架构

图 26|一次地图操作怎样变成数据与挖掘之间的往返?

左侧是图形控制与显示;中间控制器联系语言解析器和算法管理器;右侧数据库管理器访问 PostgreSQL/PostGIS 中的数据、模型与模式类型。下方库负责创建结果、建立关系和转换对象,绿色连接点表示可扩展位置。来源:原论文 Fig. 26。

系统可以分批读取固定数量的数据库记录,降低查询阶段内存压力;挖掘算法本身仍可能需要大量内存。复杂度也因任务而异,例如无索引的轨迹邻域比较可能接近平方规模;使用适合的索引或抽样代表,可减少特定任务的成本,不等于消除所有大数据瓶颈。

图27:四类模型构造任务的耗时分解

图 27|系统封装有没有让挖掘本身成为次要开销?

左上为 T-Pattern,右上为路线聚类,左下为 T-Flock,右下为 OD 矩阵;横轴为轨迹数量,纵轴为秒,不同面板尺度不同。蓝、红、绿、紫分别表示数据准备、算法执行、保存模型和显示后处理。每种规模重复十次取平均,整体上红色挖掘成本占主导;各面板参数各自固定,不能据此排列通用算法优劣,也不能推出全流程实时可用。来源:原论文 Fig. 27。

哪些认识可以带走,哪些还需要再验证?

这是一项系统与案例结合的研究。它证明了多种移动性问题能够通过可组合操作表达,也展示了从数百万定位点追到具体路线、事件与共同慢行群体的分析路径。它没有把五个案例都变成经过独立评估的城市管理产品。

推广时至少要保留三道区分:样本车辆与全体交通、可解释的行为模式与已核实的出行目的、密集或慢行的候选信号与经过真值验证的拥堵。只有持续保留这些区分,灵活的查询系统才不会把灵活性变成过度解读。

一句话总结

海量轨迹的价值,不止是画出哪里车多,而是把筛选、挖掘、返回原始行程和再验证连成可以反复追问的过程。

核心来源

Giannotti F, Nanni M, Pedreschi D, Pinelli F, Renso C, Rinzivillo S, Trasarti R. Unveiling the complexity of human mobility by querying and mining massive trajectory data. The VLDB Journal, 2011, 20:695—719。期刊论文与 DOI。本文全部 27 张图均为该论文对应 Fig. 1—27;方法、样本与结果以正式期刊版为准。

作者介绍

  • Fosca Giannotti:论文署名意大利 ISTI-CNR 的 KDD Lab,同时署名美国东北大学 CCNR,参与本研究的轨迹知识发现工作。
  • Mirco Nanni:论文署名 ISTI-CNR 的 KDD Lab,为本研究作者之一。
  • Dino Pedreschi:论文署名比萨大学 KDD Lab,同时署名东北大学 CCNR,为本研究作者之一。
  • Fabio Pinelli:论文署名 ISTI-CNR 的 KDD Lab,为本研究作者之一。
  • Chiara Renso:论文署名 ISTI-CNR 的 KDD Lab,为本研究作者之一。
  • Salvatore Rinzivillo:论文署名 ISTI-CNR 的 KDD Lab,为论文标注的通信作者。
  • Roberto Trasarti:论文署名 ISTI-CNR 的 KDD Lab,为本研究作者之一。原文未逐人列出贡献分工,这里不把某个算法单独归给某位作者。

延伸思考:分析工具最该保留的,可能是一次判断的来路

以下是 AI 基于论文结果所作的延伸,不属于原论文结论。

若某个热区被标成明早可能拥堵,管理者最好还能追问:它来自多少条实际轨迹,多少条模型预测,哪些没有得到预测,是否用了全城统一的样本放大系数?M-Atlas 把模式与原始轨迹接回去的思路,为这种追问提供了技术起点。

还可以进一步把阈值、筛选日期和样本覆盖率与结果一起保存。例如,同一条路在半径 200、500、1,000 m 下都出现共同慢行,与只在某个宽阈值下才出现,值得采取不同的核查优先级。系统不仅要方便发现漂亮模式,也应方便找到一个结论何时不再成立。


文章作者: 猴猴猴
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 猴猴猴 !
  目录