1. 什么是驾车 ETA
邻近节假,短途自驾返乡的你是否曾为无奈预知路上到底有多堵而纠结?通勤下班,作为有车一族的你是否在为路况变幻莫测的早晚顶峰而懊恼?外出旅行,赶火车、赶飞机的你是否还在为放心错过班次而焦虑?不要慌,高德的驾车 ETA 帮你预知将来路况,让每个用户轻松成为“工夫治理巨匠”!
ETA(Estimated Time of Arrival),即预估达到工夫,指的是用户在以后时刻登程依照给定路线返回目的地预计须要的时长。如图 1 展现了驾车 ETA 在导航软件的前端页面上出现的状态,用户在应用过程中会次要参考这一数据安顿行程工夫、进行出行相干决策;对于打车的场景,平台出现给用户的预估价也基于这一数据进行计算。因而,如何精确地预估 ETA 对于高德地图的诸多业务板块都起到至关重要的作用。
图 1 ETA 在高德地图上的前端展现
为不便后文表述,这里先简略介绍一下 ETA 相干的技术概念:
link:路段,是分叉口之间根本的路线组成单元。
trace:轨迹,对应的是一个由一连串 link 组成的序列。
SP(Speed Profile):同一特色日雷同工夫区间的历史平均速度,按 10min 聚合。例如每周一早上 9:00-9:10,某个 link 上所有轨迹,能够将过来几周聚合求一个平均速度,这个平均速度能够代表对这个 link 在将来周一早上 9:00-9:10 这个工夫区间内通行速度的动态预测。
AutoLR(Autonavi Location Reference):实时路况,路线以后通行耗时,每分钟都会公布新的值。
link 通行耗时真值:在一个 5min 的工夫窗口内进入某一 link 的所有轨迹,在实现去噪后求取平均值,即失去该 link 在该 5min 窗口内的通行耗时真值。
2. 业务板块
图 2 展现了 ETA 业务的各个板块。
图 2 ETA 整体框架
根底数据层面,link 场景分层依据历史实走真值将 link 归为不同类别。每类 link 预测的难度不同,例如有些 link 的通行工夫每天鲜有拥挤,则可间接利用动态 SP 预测,因而调用的预测模块也不尽相同。真值生产及推演零碎首先将各个 link 上 5min 窗口的实走轨迹聚合求均匀通行工夫,失去 link 通行耗时真值;同时利用真值推演工具可推算给定 trace 的通行耗时真值。link 级、trace 级的通行耗时真值是模型训练、模型评估、线上问题考察等一系列工作的数据基石。
预测模块层面,有三大预测模块可用于 link 级预测。
一是动态 SP:该办法通过历史均值进行预测,不利用实时信息。
二是线性模型,该模块在 ETA 服务中被调用,通过实时信息 AutoLR 和历史信息 SP 来拟合 link 级真值。
三是精准预测,该模块作为算法服务提供 link 级预测后果,通过深度学习模型利用实时通行速度、流量等信息对较为简单的突发路况进行预测。
预测性能层面,除 link 级预测外,ETA 服务还提供 trace 级预测性能,对用户布局的整条路线进行 ETA 预测;以及准点率预测性能,对给定 trace 级预测后果的可信度做出判断。
利用场景层面,自驾、打车业务都需应用 ETA,但两者样本分布以及重点关注的场景不尽相同。ETA 的算法能力在前端页面还波及到一些其余模式的透出,例如拥挤段预计通过耗时、拥挤将来趋势阐明,以及准点率等等。
成果评测层面,波及到本身 link 级、trace 级根底指标评测,对真值推演后果的评测、各个场景的成果评估。监控干涉层面,波及到实时捞取头部问题 case、对问题 link 的 ETA 进行主动干涉、人工干预等。
3. ETA 的预测流程
线上的 ETA 服务为其余服务提供 ETA 预测计算接口。精准预测模型部署在另外的算法服务中,该服务每分钟将 link 级多时间跨度预测值写入缓存,ETA 服务按需查取相应值。对某个 link 进行预测时,有精准预测值的状况下将优先应用精准预测后果。ETA 服务中的线性模型提供 link 级多时间跨度预测能力。在精准预测没有被触发的状况下,查看是否有实时路况以及待预测时刻与发动预测时刻时间差是否在 1 小时以内,满足上述条件则应用线性模型预测的后果。SP 数据加载在 ETA 服务内存中,因为是动态历史均值,预测时间跨度可达将来一周。link 级预测中,最低优先级的是利用 SP 进行动态预测。
link 级预测后果可依照上述计划获取,那么整条路线的 ETA 要如何计算呢?这里就要用到 link 序列 ETA 推演的性能。如果用户布局的路线如图 3 所示,则在进行预测时,link1 应选取对应间隔以后 [0min, 5min) 时间跨度的通行工夫预测值,例如该预测值为 11min;则用户预计进入 link2 的时刻为 11min 之后,在 link2 上的通行工夫应该选取 link2 对应 [10min, 15min) 时间跨度的通行工夫预测值……依此逻辑推演到最初一根 link(若推演到的某根 link 累积工夫已超出 1h,则用 SP 作为预测值),从而失去对整条路线 ETA 的预测。
图 3 link 序列 ETA 推演
4. ETA 预测的难点及解决方案
在一些出行量大且拥挤法则复杂多变的场景,精确预估 ETA 的挑战性极大。例如工作日的早晚顶峰,路况非常复杂,而且学校寒暑假后的开学、以往疫情期的重复、一些非凡日期(例如七夕、圣诞等)出行需要的剧增,都会使得历史法则无奈间接复用。
为了能让深度模型 提前感知拥挤的到来 ,咱们在预测中 引入了“将来流量”。设想这样的场景:来自北京的用户 A 因为家到公司较远,每天早上 6 点就要开车路径北五环去公司。9 月 1 日,他像平常一样早上 6 点开车出门。走到北五环,用户 A 发现明天分外堵。直到在北五环上堵得快要早退,才忽然觉悟,原来明天是开学第一天,早顶峰车流量大幅减少,悔恨本人没有登程前没早点关上高德看看 ETA。
咱们留神到,因为用户 A 登程很早,登程时刻全程路况仍十分畅通,此时各个 link 流量也根本和 8 月无区别。这样,想要让模型能预判将来会呈现比平常重大很多的拥挤,就必须引入能在用户登程时刻就与 8 月雷同工夫有显著区分度的特色。用户 A 的例子中,在他刚刚登程时,北五环上车流很小,但曾经有很多像他一样早起且须要走北五环的用户开着导航从家里登程了,这些人尽管还没有上五环,但只有他们不偏航且齐全依照 ETA 预估的工夫前进,那么将来任意时刻这些用户的地位咱们都能够推算失去,这意味着咱们能够统计“将来的交通流量”。也就是说,这些曾经在导航中的用户,将来各个工夫片上会在北五环的各个 link 上别离造成多大的交通流量,都能够统计到(注:这里统计到的流量是匿名的聚合总量)。如图 4 所示,咱们把这个统计量称作“将来的交通流量”特色。下面的例子中,早上 6 点,有很多须要上北五环的用户曾经登程了,因而此时五环上的 link 曾经显著高于 8 月份。
图 4 打算中的交通流量
模型层面,咱们提出了一种 新的用于通行工夫预测的深度学习框架:混合时空图卷积网络(H-STGCN),该框架利用上述 打算中交通流量 晋升模型成果。
在该模型中,咱们设计了域转换器,以此整合异质模态的交通流量特色。同时,咱们设计了复合邻接矩阵使得图卷积层可能更好地捕获路段间的靠近性。试验发现,在实在场景数据集上,H-STGCN 和较先进的其余时空预测模型相比获得了显著更优的成果,在突发拥挤的预测上劣势尤为显著。这项研究成果在为用户带来更优出行体验的同时,相应论文也被 AI 畛域国内顶级会议 KDD2020 接管。
5. ETA 的成果评估
对应 link 级预测与 trace 级预测,ETA 成果的评估也有 link 级评测与 trace 级评测。
5.1. link 级评测
trace 计算参加的角色泛滥,波及到方方面面(实时信息、历史统计信息、路线推演等)都会给 trace 级别的 ETA 带来影响,咱们为了更好的掂量在独自 link 上 ETA 的计算品质,咱们提出了 link eta 的评估办法。
bad link 率
bad link 率计算方法为,bad link 批次总数同总 link 批次数的比值。bad link 率越低,link 级预测成果越好。bad link 批次的定义如公式:
i 示意批次 id,满足这个条件即为 bad link。
MSE
这里的 n 指的是 link 数量,k 指的是评估批次数量。MSE 越低,link 级预测成果越好。
5.2. trace 级评测
通过比照用户实走时长和 ETA 行前预测的后果,能够对用户全行程轨迹的 ETA 品质进行评估。应用 trace 级评测,能够监控 trace 的 MSE、MAE、MAPE、优良率、顽劣率等指标。
6. 总结
本文对高德驾车 ETA 整体的业务板块进行了简要的介绍。