当所罗门说有一个时间和地点,他没有遇到停车问题。
-Bob Edwards,广播记者
大部分驾驶都花在交通堵塞或寻找停车场。通过Google Maps和Waze等产品,我们的长期目标是帮助人们轻松高效地在道路上行驶。但到目前为止,还没有一种工具可以解决常见的停车问题。
2017年1月,我们在美国25个城市推出了适用于Android版Google地图的新功能,可以提供有关目的地附近停车难度的预测,以便您进行相应的规划。提供此功能需要解决一些重大挑战:
根据时间,星期几,天气,特殊事件,假期等因素,停车位置变化很大。使问题更加复杂的是,几乎没有关于免费停车位的实时信息。
即使在有互联网连接的停车收费表提供可用信息的地区,这些数据也不能说明那些非法停车,带有许可证停车或早退车费的人。
道路形成了一个大致平面的图形,但停车结构可能更复杂,交通流量跨越多个层次,可能具有不同的布局。
停车的供应和需求都在不断变化,因此即使是最好的系统也有可能在建成后立即过时。
为了应对这些挑战,我们使用众包和机器学习(ML)的独特组合来构建一个系统,可以为您提供目的地的停车难度信息,甚至可以帮助您确定要采取的旅行方式 - 启动实验,我们看到过境旅行模式按钮的点击量显着增加,表明具有额外停车难度知识的用户更有可能考虑公共交通而不是驾驶。需要三个技术部分来构建停车难度特征背后的算法:来自众包的良好地面实况数据,适当的ML模型以及用于训练模型的强大功能集。
地面真相数据
收集高质量的地面实况数据通常是构建任何ML解决方案的关键挑战。我们首先询问各个地点和时间的个人是否发现停车困难。但是我们了解到像这样的主观问题的答案会产生不一致的结果 - 对于给定的位置和时间,一个人可能会回答说找到停车位很“容易”而另一个人觉得“很难”。切换到客观问题,如“多久”是否需要找到停车位?“导致答案信心增加,使我们能够通过超过100K的响应众包一组高质量的地面实况数据。
型号特点
有了这些数据,我们就开始确定我们可以训练模型的功能。幸运的是,我们能够转向人群的智慧,并利用来自选择共享其位置数据的用户的匿名汇总信息,这些信息已经是估计实时流量或流行时间和访问持续时间的重要信息来源。
我们很快发现,即使有这些数据,仍然存在一些独特的挑战。例如,如果有人在门控或私人停车场停车,我们的系统不应该被误解为认为停车很充足。乘坐出租车抵达的用户可能看起来像是前门停车位充裕的标志,同样,公共交通用户似乎也可以停在公交车站。这些误报以及许多其他误报都有可能误导ML系统。
所以我们需要更强大的聚合功能。也许并不奇怪,其中一个功能的灵感来自我们在山景城市中心的后院。如果谷歌导航观察到许多用户在午餐时间沿着像这样的轨迹在市中心的山景城上空盘旋,那么强烈暗示停车可能很困难:
我们的团队考虑如何识别难以停车的“指纹”作为训练的特征。在这种情况下,我们汇总了用户到达目的地时的差异,如果他们只是开车到前门,而不是他们实际到达时,考虑到盘旋,停车和步行。如果许多用户在这两次之间显示出很大的差距,我们希望这是一个有用的信号,停车很困难。
从那里开始,我们继续开发更多功能,考虑到任何特定目的地,停车位置的分散,时间和停车的日期依赖性(例如,如果用户在清晨靠近目的地停车,但是更忙碌的时间?),历史停车数据等等。最后,我们为这个模型确定了大约20种不同的特征。然后是调整模型性能的时候了。
模型选择与训练
出于几个不同的原因,我们决定对此功能使用标准逻辑回归ML模型。首先,逻辑回归的行为很好理解,并且它往往对训练数据中的噪声具有弹性;当数据来自众包复杂的响应变量(如停车难度)时,这是一个有用的属性。其次,将这些模型的输出解释为难以停车的概率是很自然的,然后我们可以将其映射为“限制停车”或“简单”等描述性术语。第三,很容易理解每个特定功能的影响,这使得更容易验证模型是否合理。例如,当我们开始培训过程时,我们中的许多人都认为上面描述的“指纹”功能将是为我们解决问题的“银弹”。我们惊讶地发现情况根本不是这样 - 实际上,这是基于停车位置分散的特征,结果证明这是停车难度最强大的预测因素之一。
结果
通过我们的模型,我们能够在任何地点和时间生成对停车难度的估计。下图给出了我们系统输出的一些示例,然后用于为给定目的地提供停车难度估计。例如,周一早上停车很难在整个城市进行,特别是在最繁忙的金融和零售区域。星期六晚上,事情再次繁忙,但现在主要是在有餐馆和景点的地区。
我们在旧金山金融区和联合广场地区输出停车难度模型。 红色表示停车困难的信心更高。 顶行:典型的星期一〜早上8点(左)和~9点(右)。 底行:同一时间,但在典型的星期六。
我们很高兴有机会根据用户反馈继续改进模型质量。 如果我们能够更好地了解停车难度,我们将能够开发新的和更智能的停车辅助形式 - 我们对ML的未来应用感到非常兴奋,以帮助使运输更加愉快!