《Real-Time Taxi-Passenger Prediction With L-CNN》

论文题目:L-CNN的实时出租车乘客预测

摘要

  • 本文提出了一种基于CNN和LSTM的新型神经网络L-CNN,并开发了一种有效的实时预测模型来预测出租车司机最有可能的乘客。
  • 本文的模型可以轻松地扩展到其他实时交通预测问题,例如道路交通和流量预测。
  • 最后,我们根据成都出租车产生的GPS轨迹测试了我们的方法。 提出的方法可以在15分钟的间隔内提前1小时进行乘客预测,结果证明了我们的预测系统的效率。

介绍

局限性:

  • 在出租车推荐系统中,有大量的统计学习模型可用于乘客预测。 然而,由于复杂的特征工程,这些方法总是遭受不良性能的困扰并且不适用于实时系统。 另外,很难将这些模型推广到其他应用程序。
  • 神经网络模型可以从数据中提取有意义的特征,但是深度学习中很少考虑交通应用中必不可少的空间结构。

L-CNN采用高级架构-在线学习框架和基于卷积神经网络(CNN)[7],长期短期记忆网络(LSTM)[1],[2]和嵌入层[ 8]。
L-CNN的目标是直接通过类似于图像的输入来理解和完善乘客的机动性。
L-CNN利用来自图像处理算法的启发,为交通预测提供了一种新的解决方案。

本文的贡献:

  1. 提出一种基于LSTM,CNN和嵌入层的本地L-CNN自然网络,以预测潜在的出租车司机的乘客,而无需经过广泛的工程设计和其他外部数据。同时,该算法可以捕获时空维度上的特征以用于出租车乘客预测,并且可以轻松地扩展到其他交通预测问题。
  2. 提出了用于实时预测的在线学习模型。 可以训练模型以根据可用的最新数据保持状态为最新。 因此,它适用于当前流行的基于流数据的预测系统。 它不需要保存任何历史数据,所有知识都记录在模型中。

相关工作

多项工作已经通过智能驾驶[9],出租车服务的时空结构建模[10]-[12],建立乘客发现策略[13],[14]甚至不同的应用程序成功地探索了此类数据。 通过乘客角度预测出租车位置[15](在方案2的市区)。

  1. 统计模型
    这些预测模型大多数使用统计学习模型。 在静力学上,出租车业务的这些模型[16],[17]专注于从历史位置痕迹和集合点中提取节能运输模式。 在[18]中,时空因素被用于交通预测,因为一些研究人员认为轨迹数据具有两个特征:时间和空间,这大大提高了统计学习建模的复杂性。 Chen等。 [19]分析拼车服务。 Pamula等。 [20]提出了出租车共享服务,目的是显着减少每辆出租车的总行驶距离和每人的旅行成本。 但是,由于复杂的功能工程,这些方法总是性能较差,并且不适合实时系统。

  2. 机器学习模型
    随着机器学习的发展,深度学习已经完成了一些工作,例如计算机视觉,交通相关研究[21],[22]。Zhangetal。[23]提出了一种基于深度学习的模型来预测人群的流动性。模型中很少考虑空间结构。卷积RNN已用于处理空间和时间,但仅用于视频应用。在[24]-[26]中,实时预测对算法的及时响应能力有很高的要求,因此具有较低复杂度的贝叶斯算法适合将来的特征提取。尽管过去的短期交通流量预测方法已经存在了一段时间,但新兴的智能交通技术要求交通流量预测功能必须快速且可扩展到整个城市网络。在本文中,我们提出了一种具有时空相关性的神经网络,即基于CNN和LSTM的L-CNN,并开发了一种有效的实时预测模型来预测出租车司机最有可能的乘客。 L-CNN可以轻松扩展到其他实时交通预测问题,例如道路交通和流量预测。

定义

原始数据

GPS轨迹数据是2014年从成都收集的。记录的信息如下:
{DriveID, Time, Flag, Latitude, Longitude}.

  • DriveID: The taxi’s identifier. 出租车的标识符。
  • Time: The timestamp of each GPS record. 每条GPS记录的时间戳。
  • Latitude: The latitude of GPS record. GPS记录的纬度。
  • Longitude: The longitude of GPS record. GPS记录的经度。
  • Flag: The mark of whether the taxi is carrying passengers.出租车是否载有乘客的标记。Flag= 0和1分别代表空闲和占用出租车。

每个GPS数据记录都描述了特定时间和地点的出租车的行驶状况。

数据预处理

地图网格划分

为减少处理大量轨迹数据的复杂性,将地图网格划分方法应用于过程地图和GPS位置以建立网格路网。与单独的经纬度坐标相比,网格图可以合并更多的信息。 网格的大小对于预测的准确性和数据处理中消耗的运行时间至关重要。
在本文中,地图网格是一个边长为500米的正方形。 至于出租车司机,接机位置与其正在制定的战略密切相关。 但是,相邻的提货通常是一个区域,在该区域中,驾驶员遇到潜在乘客的机会更高。

位置离散化

在原始数据集中,每个轨迹分别记录坐标位置和乘客的携带状态。 为了找到该区域的客流模式,我们需要统计乘客在机上和机外的位置,即,载客状态的GPS坐标从0变为1或从1变为0。 因此,我们按时间戳对每个DriveID的所有GPS记录进行了排序,并选择了标志更改的GPS记录以指示上车或下车的地点。

时间离散化

一个区域具有相同的模式,用于在同一时间段内正常地提取和下放客流。 由于时间是一个连续变量,我们需要对其进行离散以考虑一段时间内的模式。 我们在位置离散化之后执行时间离散操作,将24小时除以固定的时间间隔,并统计到该分割点的时间段内的数据。本文将间隔时间取为15分钟,并将该时间段的数据打包到一个文件中。 可以在数据预处理后从原始数据集中提取登机位置,注意pt = {lat,lng},其中lat,lng和Tre分别代表经度,纬度和时间戳。

方法

在本节中,我们将重点放在实时出租车乘客预测问题上。 通过分析成都出租车的GPS轨迹数据发现了两个关键发现。

  • 首先,乘客行为在短期内具有一定的随机性,但从长期来看则具有规律性。
  • 其次,出租车客预测依赖于时空维度,这意味着要考虑时空维度的特征,同时要用传统的预测方法进行预测。
    因此,提出了一种基于CNN,LSTM和嵌入技术的中性神经网络L-CNN。

定义

通过对连续多个矩的G(t)矩阵进行统计分析,我们发现G(t)具有时空相关性。 因此,为了提取空间特征,我们首先输入了G(t)矩阵到CNN [7],然后将LSTM [2]应用于时间维预测,并最终通过逆网络生成了预测结果矩阵。 此外,我们使用嵌入层技术进行语义学习,因为交通模式显然与时间,天气等有关。

我们使用D(t)三倍来记录T时刻的星期和分钟。 请注意,由于我们将时间离散化了15分钟,因此min只能取四个值。 我们将min映射到集合{0,1,2,3}以进行嵌入层处理。 可以考虑其他描述性信息,例如温度,天气,季节,是否为法定假日等。在较短的时间跨度内,我们目前仅使用星期,小时,分钟这三个指标。

L-CNN网络

逆网络用于通过h(t)重建预测结果。 在本文中,我们尝试使用两种方法来构建逆网络:1)逆卷积网络; 2)示例完全连接的网络并重塑转换。 我们通过实验对这两种方法进行了测试,令人惊讶的是,方法2的性能更好,而方法1却损失了很多细节。因此,实验部分的策略采用方法2作为逆变换。 我们模型的正向传播过程定义为公式4、5。

image.png

学习问题:我们的算法的目的是直接从观测序列中学习两个映射函数fw,b和Inversew,b,其潜在状态h(t)。 MSE损失函数用于形式化此学习问题,以便捕获序列的动态以及从该潜在空间到观测值的映射。

我们的模型主要由卷积网络,LSTM和逆网络组成。卷积网络用于提取特征,LSTM用于产生时间维预测,逆网络用于重构结果矩阵。 本文根据这三个网络的特征来确定这三个网络所扮演的不同角色,并构建模型以集成这三个网络。

在本节中,我们描述使用L-CNN网络进行在线学习和预测的细节。 在线学习是指根据可用的最新数据对模型进行最新培训,从而避免了传统的机器学习模型无法利用最新数据的缺点。 对于新数据T,首先计算损失函数以进行反向传播以在线训练模型,然后将其用作预测T +1矩的输入。 在训练模型时,需要注意两个关键方面。 1)h(t)并非总是传入,在新的一天开始时,它将被重新初始化。 2)L-CNN是逐步模型,为了在+3范围内获得预测,我们使用G(t +1)预测作为G(t +2)的输入,然后使用G(t +2)作为输入 G(t +3)。 在+3视界预测之后,h(t + 3)将返回到h(t + 1)进行训练。

实验

对一系列时空出租车乘客矩阵G(t)进行实验。 我们考虑在+3的范围内进行预测,即在给定大小为T的训练序列的情况下,将在T +1到T + 3的时间步长内对模型的质量进行评估。注意,每个序列的缩放比例都在0和1之间。

数据集

成都出租车数据集:包含来自成都省14000名出租车司机的智能手机的11天丰富数据。数据集结构显示在表I中,应注意,FLAG表示是否载有乘客,而0表示无乘客,正好相反。对于每辆出租车,每10秒钟收集一次数据,对于我们的发现板而言足够准确

数据预处理

成都数据集每天大约有2 GB数据,可以通过spark进行辅助数据处理。首先,将数据集按时间排序,以使用FLAG查找登机位置,然后根据公式2在时空维度上离散化位置数据,最后生成一个 ∗ n矩阵G(t)。 在本实验中,我们将距离500 m * 500 m的空间离散化,以生成50 * 50的矩阵G(t)。 可视化结果如图1所示。我们可以观察到统计结果倾向于在中心附近发散。 在完成数据预处理之后,我们使用Pytorch(这是一个用于深度学习的流行框架)来构建用于培训和测试的L-Unet网络。

环境

数据预处理是在高效的分布式计算平台上执行的,Spark2.6.0由两个服务器组成,两个服务器使用Intel Xeon CPU E5-2640 v2 @ 2.00 GHz,64 GB内存,

结果分析

我们使用以下模型进行了实验:a)均值:一种简单的启发式方法,该方法通过使用一系列具有观测到的过去值的均值拟合的数据来预测训练步骤,从而预测未来值。 b)L-Unet:我们基于LSTM和CNN的模型,该模型是一种在线学习系统,可以在过去30分钟内从过去的历史记录和推测更改后的变化中进行学习,而无需进行大量的要素工程设计和其他外部数据集(例如Weather或POI)。 c)L-Unet-:我们的模型没有嵌入层。所有结果均为T + 1至T + 3预测的平均预测误差。我们使用均方根误差(RMSE)作为得分函数。如表II所示,我们的模型具有较低的RMSE。同时,我们不需要大量适用于在线学习和实时系统的功能工程和其他外部数据集。不断利用持久数据训练模型将在空间维度上保持良好的泛化性能。图3、4、5是预测结果的可视化。从这些图片中,我们可以看到模型的预测与边缘的地面真实情况高度一致。同时,也可以很好地预测客流量的突然增加,这对出租车资源的分配具有重要的指导作用。根据表II,到了晚上,预测结果会稍差一些,因为乘客人数比往常要多(测试数据使用的是最后一天的数据,即周日的数据。人们通常在周末晚上出门在成都放松一下),而我们的培训数据有限,并且缺乏周末样本。但是,四个预测值的相对值与原始数据基本一致,如图4所示。

总结

本文研究了实时出租车驾驶员预测问题。通过对成都出租车数据结构的分析发现了两个关键发现:首先,乘客行为在短期内具有一定的随机性,但在相对长期内具有较高的规律性。其次,滑行乘客预测在时间和空间维度上存在依赖性,这意味着在预测时应考虑空间和时间维度的特征。但是,传统的预测方法很难利用它们。因此,提出了一种基于CNN,LSTM和嵌入技术的本地中立网络L-CNN,用于滑行乘客预测。这里,CNN子网用于提取空间维特征,LSTM用于时间维,嵌入层用于描述。然后,我们引入了一种用于训练和预测的新的在线学习模型L-CNN,可以通过流数据在实时预测系统上轻松实现该模型。大量实验的结果表明,我们的模块具有较低的RSME和更好的可视化效果。值得注意的是,我们的模块可以在不进行大量功能设计的情况下运行,并且很容易将其归纳为其他实时流量预测或其他时空预测问题。在本文中,L-CNN源于图像和视频帧预测方法,这是该领域的新尝试。将来,我们将继续使用L-CNN进行其他实时流量预测。这将大大降低交通问题的预测成本。我们有充分的理由相信,这种实时交通预测将在智慧城市的出租车资源分配中发挥重要的指导作用。