Combining time-series and textual data for taxi demand prediction in event areas: a deep learning approach
论文题目:结合时间序列和文本数据以预测活动区域中的出租车需求:深度学习方法
摘要
翻译:
准确的时间序列预测对于交通,能源,金融,经济等众多应用领域至关重要。但是,尽管现代技术能够探索大量的时间数据以建立预测模型,但它们通常会忽略有价值的信息通常以非结构化文本的形式提供。尽管此数据的格式完全不同,但它通常包含在时间数据中观察到的许多模式的上下文解释。在本文中,我们提出了两种深度学习架构,这些架构利用单词嵌入,卷积层和注意力机制将文本信息与时间序列数据相结合。我们将这些方法应用于活动区域的出租车需求预测问题。通过使用纽约公开提供的出租车数据,我们经验表明,通过融合这两个互补的交叉模式信息源,所提出的模型能够显着减少预测中的误差。
总结:
- 提出了两种深度学习架构,这些架构利用单词嵌入,卷积层和注意力机制将文本信息与时间序列数据相结合。
- 方法应用于活动区域的出租车需求预测问题
- 使用纽约公开提供的出租车数据
- 融合这两个互补的交叉模式信息源,所提出的模型能够显着减少预测中的误差。
介绍
典型的方法仅集中于捕获与习惯/例行行为有关的复发性移动趋势[1],以及利用与近期观察模式的短期相关性[2,3]。
- 这种方法对于长期规划应用或在诸如居民区这样的非重要区域,在容易发生多个特殊事件(例如音乐演唱会)的活跃且高度动态的区域中对需求进行建模可以成功
- 体育比赛,节日,游行和抗议,这些方法无法准确地模拟出行需求[4]。
- 这种情况涉及需求激增,这强调了良好的预期能力的需求。
大多数事件信息通常采用非结构化自然语言文本的形式。
跨域数据融合挑战问题
在时序数据中观察到的来自Web的文本数据可以提供上下文来解释某些模式
将时间序列和文本数据相结合,以预测事件区域中的移动需求。
深度学习已被证明能够胜过传统的出租车需求预测方法,并获得最新的最新成果[9,10]
以前的方法都没有探索有关事件的Web数据,特别是非结构化文本形式的Web数据,以便开发更准确的需求预测模型。
提出的神经网络体系结构结合了词嵌入,卷积层和注意机制,以构建事件文本描述和历史出租车需求数据的联合模型,用于未来需求预测。而且,这两个提议的体系结构非常通用,可以应用于来自不同域的类似数据融合问题。
使用来自纽约的11亿次出租车出行的大规模公共数据集和来自Web的事件数据
相关工作
城市交通和特殊事件
可伸缩的需求预测解决方案(如本文中提出的需求解决方案)基于从Web上自动提取的事件数据,然后为自己展现出预测事件影响并为事件和动态区域提供可靠预测的潜力。
4步模型:基于调查响应数据,他们针对每种事件预测出行的次数,类型,行进时间,行进起点/目的地(OD),模式和由于这些事件而产生的行车里程/过境登机牌。
缺点:没有考虑事件特征。事件特征会影响对移动性的影响。作者凭经验表明,事件类别在可用时确实是预测公共交通需求的有价值的输入。
推广这些方法的关键困难在于,大多数相关事件信息通常都以非结构化文本的形式提供
解决方法:开发跨域数据融合技术,以便将这些信息纳入需求预测模型中。
时间序列和文本的数据融合
一个非常重要但具有挑战性的问题:将时间序列数据与文本信息相结合以更好地理解现实世界中的现象
文本信息可能包含与时间序列观察相关的线索,并且至少在某种程度上解释了它们的行为。
跨域数据融合问题的普遍性
金融,Ruiz等人[22]分析了Twitter中微博活动之间的相关性,例如与公司相关的推文和转发的数量以及股市事件。 他们的结果表明,这些指标对于改善股票市场的交易策略很有用。
一种方法来分析新闻报道中某些词的存在,这些词是从网络上自动提取的。 为了选择相关的单词,作者依赖于一组用于识别相关文档的手动预定义单词,然后允许他们根据其概率比(PR)选择最相关的单词。
一个结合ARIMA和支持向量回归(SVR)的模型来预测六家证券公司的季度权益收益率(ROE)这个想法是ARIMA模型能够分析序列的线性自回归分量,但仅基于文本特征向量的非线性SVR模型可以对其进行补充。 在这种情况下,作者依靠TF-IDF来表示文本数据。
研究了推文中的文本情感与民意测验的时间序列数据之间的关系。 通过使用10亿条推文的数据集,作者使用一组预先定义的关键字来标识与某些主题相关的推文,例如奥巴马与麦凯恩当选。 然后根据单词情感词典根据它们包含的单词的情感来分析这些单词。 获得的结果表明,与某些情感相关的单词频率可以与民意测验密切相关(最多80%)
Twitter被广泛用于政治审议,而只有少数党的提及准确地反映了选举结果。
通过解释文本数据中的信息以解释观察的时间序列,所有这些工作都与本文提出的工作有关。
但是它们通过依赖于与某些主题或情感相关的单个单词的预定词典而明显不同。
本文提出的方法使用卷积神经网络层在联合建模方法中自动学习与观察到的时间序列数据相关的单词模式或序列,从而避免使用临时启发式方法,例如情感词频率和预先定义的词典 。
研究了使用事件数据来帮助预测公共交通需求的问题
包括使用事件描述的词袋表示来学习主题模型(即潜在狄利克雷分配(LDA)),并将主题分配用作浅层神经网络模型的特征。
本文的优势:
- 不依赖词袋表示,因此不会忽略词的顺序。能够捕获文本中的多单词模式。
数据融合的方法(三大类):
- 平等对待不同数据源并将从中提取的特征汇总到一个单一特征向量中的方法
- 在不同阶段使用不同数据源的方法
- 将不同的数据集同时馈入模型的不同部分的方法
本文提出的深度学习模型属于第3类。
交通领域中的深度学习
使用堆叠式自动编码器(SAE)模型来学习通用的流量特征,然后将其用于流量预测。
根据来自全加州各州高速公路系统中部署的15.000个单独流量检测器的数据,他们的经验结果表明,SAE的性能优于基于SVR和径向基函数(RBF)的更为传统的方法。
研究了长期短期记忆(LSTM)网络在行进速度预测中的使用。 他们从北京获得的经验结果表明,LSTM优于其他方法,例如ARIMA和SVR,作者证明LSTM具有捕获时间序列中长期依赖关系的能力。
一种基于卷积层和残差连接的深度学习架构,用于联合预测整个城市范围内的人群流量,即区域之间的流入和流出。利用北京的出租车数据和纽约市的自行车共享数据,作者凭经验表明,他们提出的体系结构优于ARIMA和矢量自回归模型等标准方法。
LSTM和混合密度网络(MDN)的组合来预测纽约市出租车的需求。在他们的方法中,先将城市划分为较小的区域,然后使用基于LSTM的模型来联合预测所有区域中下一时间段(20-60分钟)的出租车需求。
缺点:均未考虑事件的影响以改善其预测
本文的目标:旨在通过关注事件区域并显示将事件的文本数据与流动性需求的时间序列观察相结合的数据融合技术来显着改善预测,从而弥合这一差距。
提议方法
时间序列趋势(Time-series detrending)
准备时间序列数据以供分析的最重要步骤之一就是降低趋势
识别这些每日或每周重复模式的简单但非常有效的方法是构建历史平均值模型,该模型包括根据历史数据(来自)计算每对(一天中的时间,一周中的某天)对的个人平均值。【仅限火车】
历史平均值代表固定的重复趋势,可以很容易地将其从数据中删除。
预测模型的目标是学习预测趋势消除所导致的残差。
根据我们在处理城市流动性数据的各种时间序列预测问题方面的经验,通过消除从模型中捕获这些众所周知的经常性趋势的负担,这种简单的去趋势程序可以显着提高预测性能。
文本数据预处理(Text data preprocessing )
遵循一个简单的常规文本预处理管道,该管道包括:
HTML标记删除-在处理从Web提取的数据时,这尤其重要;
小写转换-减少单词在文本中出现方式的可变性;
标记化-将字符序列分成称为标记的部分;
合法化-删除单词的惯用词尾并返回单词的基数或字典形式,这称为引理/论点;
删除停用词和非常常用的词-删除诸如“ a”,“ the”和“ and”之类的词,这些词通常不会带来任何其他有用的信息;
删除仅出现一次的单词-就像非常频繁的单词一样,这些单词通常信息性不强; 【减少词汇量,降低神经网络的复杂性,还不会降低预测性能】
使用的词嵌入技术有望解决文本预处理管道所涵盖的某些问题
但在预处理阶段进行这些转换仍然是一种更安全,更可取的方法。显着减少了嵌入层使用的词汇量-具有计算优势。
神经网络架构
两种提议的体系结构
共同点:将文本数据合并到模型中的方式
- 由单词嵌入和卷积层组成。
- 网络的文本输入是一维向量,每个元素由文本中相应单词的整数标识符组成,因此一个单词的多次出现都被赋予相同的标识符。
输入到网络的文本对应于原始文本(在前面所述的文本预处理之后),其形式为单词标识符(整数)的一维向量。
向量的长度对应于预定的最大长度S,该长度通常设置为序列集中最长的输入单词序列。
表示文本序列的整数矢量进入单词嵌入层。
词嵌入的想法是通过为字典中的每个词分配一个数字向量,从而将语义含义映射到几何空间中,这样嵌入空间中任意两个向量之间的距离就可以捕获它们对应词之间的语义关系。另一方面,在语义上非常不同的单词之间的嵌入空间中的L2距离应该很大。好的单词嵌入还允许在单词嵌入向量之间进行语义上有意义的操作。
单词嵌入通常是通过将无监督学习技术应用于非常大的语料库中单词之间的共现统计数据集而获得的。
本文使用了流行的GloVe嵌入
- 该嵌入是通过将矩阵分解技术应用于2014年英语版维基百科的转储而获得的。
- 基于整个语料库中单词共现频率的矩阵,作者学习单词矢量,使其点积等于单词共现概率的对数,以加权最小二乘目标表示 。
- 然后,使用GloVe产生的单词embeddings来初始化我们提出的深度学习架构中的embeddings层。
- 我们为每个单词使用300维嵌入向量。
文本中单词嵌入的数字矢量在大小为$S×1×300$的3D张量中放在一起
- 其中S表示最大序列长度。
然后将这个张量传递给一系列一维卷积过滤器和最大池化层,这些层能够学习以不同的抽象级别检测文本中的某些模式,类似于卷积神经网络(CNN)学习检测图像中的特征。
- 张量的最后一个维度(300)如何对应于CNN文献中的“深度”或“通道数”。
本文使用三个卷积层的序列,分别具有3×3、3×3和5×5的大小,以及50、30和30个过滤器。每个卷积层都使用ReLU激活,然后是一个最大池层,其大小与前面的卷积相同。在卷积层之间,我们以50%的概率保持连接而应用Dropout [31]。最后一层的输出经过一个(可选)注意机制,然后与网络从学习到的时序数据表示形式相结合。
图3的顶部说明了用于对文本数据进行建模的神经网络体系结构。
由于所提出的体系结构是基于卷积层的事实(并且由于卷积的性质),因此它能够捕获任意大小的输入文本序列中的可变长度模式。
- 开发了一种简单的软注意力机制,更加强调最突出的文本信息。
- 参考论文:K. Cho, A. Courville, Y. Bengio, Describing multimedia content using attention-based encoderdecoder networks, IEEE Transactions on Multimedia 17 (11) (2015) 1875–1886.
- 该注意机制将最后一个卷积层的文本表示形式(称为$z$)作为输入,并基于时间序列数据的潜在表示所提供的上下文$c$,可以确定文本的哪些部分与$t + 1$预测更相关。具体而言,关注层$h$的输出由元素乘积$h =\alpha \bigodot z$给出,其中权重$\alpha_i$由softmax函数给出:
$$
\alpha_i = \frac{exp(e_i)}{\sum_{k=1}^K exp(e_k)}\
$$ - 其中$e_i = a_i(z_i,c)$是一个学习的相关函数,在给定上下文向量c的情况下对提取的文本特征$z_i$进行评分,并定义为具有双曲正切(tanh)激活的完全连接层。
为了对时间序列数据建模,本文考虑了两种不同的方法:
- 一种基于循环神经网络(RNN),即LSTM
- 另一种基于完全连接(FC)密集层。
利用LSTM的数据融合体系结构:
- DL-LSTM
- 使用LSTM编码时间序列数据
步骤:
时间序列数据与二进制变量向量一起进入LSTM层,该向量指示时间序列中时间t处的对应值是否具有事件,因此LSTM的隐藏状态单元还可以将该信息考虑在内以确定下一个状态。
为了防止过度拟合,我们对LSTM的权重应用了正则化。
然后对应于该LSTM单元的最后一个隐藏状态矢量被假定为已编码的需要进行预测对于$t + 1$相关的时间序列信息。
令$z_ts$和$z_text$分别表示所提出的神经网络体系结构对时间序列和文本数据所学习的潜在表示。
- $z_ts$是一个向量,它对应于对时间序列数据进行编码的LSTM(或FC)层的输出
- 向量$z_text$则对应于对文本数据进行建模的注意力机制和卷积层的输出。
在网络的最后一层,通过完全连接的(密集)层将这两个学习的表示进行组合,该层将计算$t+1$的最终预测,作为权重可调的$w_ts$和$w_text$的两个向量与相应的潜在表示之间的点积( $z_ts$和$z_text$)。
在其他相关信息可用的情况下,例如有关天气的信息或有关事件的其他详细信息,可以很容易地将这些信息作为对模型的最后一个密集层的输入
对于LSTM的分析:
优势:
- 研究表明LSTM成功地应用于时间序列预测问题,包括出租车需求预测。
- 归因于他们捕获数据中长期依赖关系的能力。
劣势:
- RNN很难训练[8]。
- 如果将有效的去趋势技术应用于移动需求的时间序列数据,从而消除了清晰的每日和每周周期性重复模式,那么就可以在很大程度上消除捕获长期依存关系的需求。这可能会使LSTM对于某些时间序列的建模没有吸引力,因为它可能导致过度拟合。
开发了一种深度学习架构,该架构依赖于FC层对时间序列数据进行建模。
利用全连接(FC)层对时间序列数据建模的数据融合体系结构:
DL-FC
在DL-FC的情况下,所有时间序列信息均以“lagged observations(滞后观察)”或lags. 的形式作为“输入”向量提供给网络。即网络在大小为$L+1$的向量中的时间${t,t-1,…,t-L}$处被馈送观测值,其中$L+1$对应于滞后数。
该滞后向量被馈送到具有100-200个隐藏单位和双曲线正切(tanh)激活的FC层,该层还可以接收带有其他相关信息的附加输入,例如天气数据或事件详细信息。
然后,此FC层的输出将传递到具有50个单位和tanh激活的第二FC层。
在每个FC层之前应用BatchNormalization [34],在FC层之间应用Dropout,并在必要时使用正则化。
最后一个FC层的输出对应于一个潜在向量表示,该向量表示对来自时间序列和其他相关输入(例如天气)的所有必要信息进行编码。
然后将该潜在矢量表示与文本数据的潜在表示相结合,以便使用密集层生成t + 1的预测。 通过将去除的重复趋势(基于历史平均值)加回到神经网络的输出中,可以得到最终的预测。
- 提议的两种深度学习架构的所有层(用于将时间序列与文本数据融合)的所有层均使用Adam优化器[35]和大小为64的mini-batches 通过反向传播进行了训练。
- 使用单独的验证集来跟踪 训练期间表现最佳的模型。该验证集还用于指导上述深度学习架构所反映的大多数设计和超参数选择。
实验
- Keras提出了将时间序列数据与文本信息相结合的数据融合方法
- 考虑有事件的地区的出租车需求预测问题
数据集和样例研究
数据集:
- 包括从纽约(2009年1月至2016年6月)的11亿次出租车出行
- 查看了纽约市顶级场馆清单[37],并选择了可在线获取更完整事件记录的两个场馆:巴克莱中心和5号航站楼。
位于布鲁克林的巴克莱中心是现代化的 拥有18,000个座位的多功能竞技场,定期举办重要的音乐表演,并成为NBA布鲁克林篮网的新家。
5号航站楼是一个三层场地,经常在曼哈顿的中心地带举办许多观众的音乐会。
考虑到这两个场所的地理坐标,我们选择了在±0.003十进制度度(约500米)的边界框内进行的所有出租车接送作为我们的研究区域。
- 单个拾音器 pickups 按每日计数的时间序列分组。
- 目标:根据前几天的接载,天气数据和从Web提取的事件信息,来预测该区域第二天的出租车接载的数量。
气象数据
- 从美国国家海洋与大气管理局(NOAA)获得的,并且与位于纽约中央公园的气象站的测量结果相对应。它包含有关最低和最高温度,降水,风,是否有雪,雾,雪深等信息。
事件数据
使用屏幕抓取技术或API从网络上自动提取的。对于巴克莱中心,事件信息是从其官方网站上抓取的,因为它保留了非常准确和详细的日历,使我们可以及时返回并检索与出租车需求数据匹配的时期的数据。自2012年底启用至2016年6月,我们共收集了751个事件。对于5号航站楼,我们使用Facebook API提取了相同时间段的315个事件。
在这两种情况下,事件数据都包括事件标题,日期,时间和描述。
实际上,人们可以轻松地使用许多可用的在线事件目录和聚合器之一。本文选择依赖这些特定目录是为了方便检索过去的事件,通常在常规的在线事件目录中不可用。
数据的多样性和异质性。注意描述的长度和质量如何变化。
对于巴克莱中心和5号航站楼,每个事件描述的平均单词数分别为113(标准±114)和20(标准±16)。 实际上,文本中的单词数可以大于500。但是,由于使用卷积层,它可以捕获任意大小的输入文本序列中的模式,因此对于所提出的神经网络体系结构而言,这不是问题。
由于某些事件发生在深夜,因此它们可能会导致第二天黎明时出租车需求急剧上升,从而导致第二天的总需求急剧上升。所以导出了其他功能以解决这一问题。
实验设置
- 对于巴克莱中心,培训集包括21个月的观察结果(2013年1月至2014年9月),验证集包含2014年的剩余数据(3个月),而2015年1月至2016年6月的数据(18个月)为 用于测试不同的方法。
- 关于第5终端,由于事件的频率较小,因此我们增加了验证集的大小,以便包含代表性的事件数。 然后,训练集包含2年的数据(2013年和2014年),2015年用于验证,而2016年的其余数据用于测试。
基线
评估不同信息来源的贡献 -增量分析
仅从负责对时间序列数据建模的网络部分开始,并不断向网络中添加组件,直到获得完整模型。
- 从仅将滞后观察或滞后(称为“ L”)作为输入的模型开始
- 然后移至还包括以下模型:天气信息(表示为“ L + W”),有关事件存在的信息(“ L + W + E”)
- 以及最后,完整的模型还将考虑事件的文本描述(“ L + W + E + T”)。
在其最简单的版本(“ L”)中,建议的模型DL-LSTM和DL-FC分别等效于使用普通LSTM和标准前馈神经网络方法进行时间序列预测。
现有的两种最流行的时间序列预测方法进行比较:
支持向量回归(SVR)
高斯过程(GPs)
SVR方法使用线性核,实验结果表明,它为该特定问题提供了最佳结果。
GP,使用了一个复合协方差函数,该函数由平方指数和白噪声协方差函数的和组成。
SVR和GP的超参数均基于其在验证集上的性能进行了调整,使用了该组{0.001,0.01,0.1,1.0,10,100}中所有可能组合的详尽搜索过程。
对于GP和SVR这两种基线方法,我们还对上述不同信息源对预测性能的贡献进行了相同的增量分析。
指标
- MAE
- RMSE
- MAPE
- $R^2$
结果
- SVR和DL-FC是该研究领域中性能最好的方法
- LSTM的优势并没有延续到某些可以通过时间窗口方法解决的更简单的时间序列预测任务。
分析不同信息来源的贡献:
- 包括有关天气的信息可以改善预测。
- 对不同方法的预测性能影响最大的信息源是有关事件的信息。
- 从DL-LSTM的结果中观察文本信息的贡献
进行更细粒度的分析
同一个需求预测问题的实例,但它们领域的固有特征使得某些类型的深度学习架构比其他类型更适合。
不同天的类型(事件日和非事件日)
- 使用有关事件的文本信息可以减少两种类型的预测误差。
- 事件日的误差会更大,因为事件日对应于非经常性场景,而这种非固有场景本来就很难预测
另一数据集
- LSTM是仅对时间序列数据建模的最佳方法,可以通过比较仅使用滞后观测值(或滞后)作为输入(“ L”)的不同模型的结果来验证。
- 包括天气信息(“ W”)会提高所有方法的预测性能。
- 包含有关事件的存在的信息(“ E”)可以显着减少所有方法的预测误差。
从数据融合的角度来看,这些结果清楚地凸显了时间序列数据和文本信息的关键数据融合的重要性,特别是对于本文所考虑的事件区域中的出租车需求预测问题。文本数据包含上下文信息,该上下文信息与时间序列数据的某些方面相关并解释了这些方面。
在预测充满活力的城市地区的出行需求时,应对特殊事件影响的重要性。
通过利用从Web上自动提取的事件信息,以及开发两种新颖的深度学习体系结构以将该信息与历史时间序列数据相结合,我们能够在两个研究领域中显着减少事件区域中的预测误差 。
总结
两种深度学习数据融合架构,该架构将时态数据与非结构化文本形式的信息结合起来,以改善时间序列预测。
利用单词嵌入和卷积层来捕获文本中与时间序列观察结果相关的模式,这些模式是使用LSTM或完全连接的层的堆栈进行建模的。
本文开发的神经网络体系结构能够构造时间序列和文本数据的潜在表示,然后可以将其组合以产生更准确的预测。
考虑了事件区域中出租车需求预测的问题
通过利用来自Web的事件信息,提出的深度学习架构能够显着提高其预测的质量,从而显着优于现有技术中不占事件信息的其他流行的时间序列预测方法 。
探索如何利用提出的数据融合技术来开发全市范围的时空深度学习模型,以解释有关整个城市发生的所有事件的信息,包括标题和描述中的文字信息,以帮助模型区分有影响的事件和可忽略的事件。
即
- 文本信息和时间序列信息融合
- 词嵌入和卷积层来捕获文本中与时间序列观察结果相关的模式
- 强调了在对移动需求进行建模时需要考虑事件的影响。
模型总结:
文本信息:
- 使用词嵌入,从而将文本信息转换成向量形式
- 然后利用卷积可以捕获文本信息
- 最后使用软注意力机制,可以确定文本的哪些部分与 𝑡+1 预测更相关。
LSTM:
时间序列数据与二进制变量向量(事件数据)一起进入LSTM层,该向量指示时间序列中时间t处的对应值是否具有事件,因此LSTM的隐藏状态单元还可以将该信息考虑在内以确定下一个状态。然后对应于该LSTM单元的最后一个隐藏状态矢量被假定为已编码的需要进行预测对于 𝑡+1 相关的时间序列信息。
在其他相关信息可用的情况下,例如有关天气的信息或有关事件的其他详细信息,可以很容易地将这些信息作为对模型的最后一个密集层的输入
FN:
所有时间序列信息均以“lagged observations(滞后观察)”或lags. 的形式作为“输入”向量提供给网络。即网络在大小为 𝐿+1 的向量中的时间 𝑡,𝑡−1,…,𝑡−𝐿 处被馈送观测值,其中 𝐿+1 对应于滞后数。
该滞后向量被馈送到具有100-200个隐藏单位和双曲线正切(tanh)激活的FC层,该层还可以接收带有其他相关信息的附加输入,例如天气数据或事件详细信息。
然后,此FC层的输出将传递到具有50个单位和tanh激活的第二FC层。
最后一个FC层的输出对应于一个潜在向量表示,该向量表示对来自时间序列和其他相关输入(例如天气)的所有必要信息进行编码。
然后将该潜在矢量表示与文本数据的潜在表示相结合,以便使用密集层生成t + 1的预测。 通过将去除的重复趋势(基于历史平均值)加回到神经网络的输出中,可以得到最终的预测。