使用 GPS 信号,确定此人是否驾驶出租车

数据挖掘 机器学习 训练 地理空间
2021-09-27 17:43:01

纽约市提供数十个全市出租车路线数据。我想做的是使用这些数据(或其他方法),提出一种算法,可以在短时间内(比如一个小时)获取一个人的 GPS 数据,然后回答这个问题:是这个人开出租车?

该算法应该适用于任何地点,而不仅仅是纽约市。这个想法是我希望能够确定模式,这表明由人驾驶的路线是驾驶出租车的人将采取的路线类型。

理想情况下,我想用 Ruby 写这个。但我对其他建议、方法和实施持开放态度。我应该研究的项目的链接、对使用语言的建议、采取的方法等都值得赞赏。

1个回答

取出租车路线,与民车路线结合,形成数据集进行分类。使用地图(例如,来自谷歌)将每条路线分解为一系列路段,从交叉路口到交叉路口。如果您只有 GPS 轨迹,这将涉及时空分割。(十字路口/终点站是汽车去但停在的地方,路段是汽车从一个十字路口到达另一个十字路口的地方)。将这些建模为分类变量(路段 1、2、3 等);抽象出物理位置。然后训练一个分类器,然后接受一个序列作为输入(例如,循环神经网络)。使用出发时间作为另一个特征,建模为两个实变量,cos(2πt/24),sin(2πt/24), 在哪里0<t<24. 如果您有非常准确的 GPS 信息,我也会尝试估计车道交叉率;出租车司机以其激进的驾驶而闻名,而车道交叉的速度可以很好地捕捉到这一点。最后,使用一对布尔变量来记录出发地和目的地是否是停车区,如果你能得到这个信息。我想出租车将更有可能在禁止的地方开始和停止。

剩下的就是你常用的超参数优化黑魔法了。

如果除了将给定路线归类为出租车驱动之外,您还希望能够做任何事情,请说出来。