GeoMAN:Multi-layerAttentionNetworkforTimeSeriesPredictionofGeographicSensors作者:魏祖昌1简介在我们的现实生活中,大量的传感器(如天气网站)。每个传感器都有自己独特的地理空间位置,并持续生成时间序列读数。一组传感器共同监测空间中的环境,这些读数之间会存在空间相关性。我们将这些传感器的读数称为地理感知时间序列。此外,当同一传感器监测不同的空间位置时,通常会生成多个地理感知时间序列。例如,如图1(a)所示,道路上的环形检测器会及时报告过往车辆的读数及其行驶速度。图1(b)显示传感器每5分钟产生三种不同的水质化学指标。除了监控之外,对地理感知时间序列预测(例如交通预测)的需求也在不断增长。图1:(a)-(b)来自地理传感器的时间序列数据示例然而,预测地理感知时间序列非常复杂,主要受以下两个复杂因素的影响:动态时空相关性。外在因素。传感器读数还受到周围条件的影响,例如天气(例如强风)、一天中的时间(例如高峰时间)和土地使用。为了应对这些挑战,本文提出了一个多层注意力网络(GeoMAN)来预测未来数小时的地理传感器读数。本文的研究有三个贡献:多层注意机制我们构建了一个多层注意机制来模拟时空动态关联。特别是在第一层,论文提出了一种创新的注意力机制(由局部空间注意力和全局空间注意力组成)来捕获不同传感器时序之间的复杂空间连接(例如传感器之间的连接)。在第二层中,时间注意力用于对时间序列中不同时间间隔的动态时间相关性(例如传感器之间的连接)进行建模。外部因素提取模块该模块设计了一个通用的提取模块来集成来自不同领域的外部参数。然后将提取的潜在代表因素输入到多层注意网络中,以增强这些外部因素的重要性。2Multi-layerAttentionNetwork图2展示了论文的整个框架。遵循编码器-解码器框架,我们利用两个独立的LSTM网络,一个用于编码输入序列(例如,来自地理传感器的历史时间序列),另一个用于预测输出序列。更具体地说,论文中的GeoMAN模型主要由两部分组成:多层注意力机制。它的encoder部分使用了两种spatialattention机制,decoder部分使用了temporalattention机制。论文中encoder层使用的两种不同的attention机制(localspatialattention和globalspatialattention)如图2所示,它可以传递encoder之前的hiddenstate,传感器的历史数据和空间信息(比如作为传感器网络)。捕获每个时间间隔之间传感器内部之间的复杂关系。在解码器层中,时间注意力用于自动选择先前相似的时间间隔进行预测。提取外部因素。该模块处理外部因素的影响,并将它们作为输入的一部分提供给解码器层。这里我们用ht和st分别表示编码器层在时间t的隐藏状态和单元状态。类似地,dt和s'分别用来表示decoder层的两部分图2:论文的框架。Attn:注意。局部:局部空间注意力。全局:全局空间注意力。Concat:连接层。$\hat{y}^{i}_{t}$:时间t的预测值。ct:在时间t的上下文向量。h0:编码器的初始值。2.1SpatialAttention2.1.1LocalSpatialAttention本文是首次引入局部空间注意力机制。对于某个传感器,其局部时间序列之间存在复杂的相关性。例如,空气质量监测站报告不同物质的时间序列,如PM2.5(特定物质)、NO和SO2。实际上,PM2.5浓度通常受其他时间序列的影响,包括其他空气污染物和当地天气条件。为了解决这个问题,给定第i个传感器的第k个局部特征向量(即$x_{i,k}$),我们利用注意力机制自适应地捕获目标序列与每个局部之间的动态相关性feature,公式为:where[;]是合并操作,$\mathbf{v}_l,\mathbf{b}_l\in\mathbb{R}^T,\mathbf{w}_l\in\mathbb{R}^{T\times2m}和\mathbf{U}_l\in\mathbb{R}^{T\timesT}$是学习参数。注意力权重的局部特征值由输入的局部特征和编码层中的历史状态(即$h_{t-1}$,$s_{t-1}$)决定。这个权重值代表了一个局部特征的每个重要性。一旦我们得到了attention的权重,t时刻的localspatialattention的输出向量可以通过以下公式计算:2.1.2GlobalSpatialAttention将其他传感器监测到的历史时间序列与待预测的序列配对,将有成为直接影响。然而,影响权重是高度动态的并且随时间变化。由于会有很多不相关的序列,直接将所有时间序列作为编码器层的输入来捕获不同传感器之间的相关性会导致非常高的计算成本并降低性能。请注意,这种影响的权重受其他传感器的局部条件影响。例如,当一阵风从很远的地方吹来时,某些地区的空气质量会比以前更受这些地方的影响。受此启发,构建了一种新颖的注意力机制来捕捉不同传感器之间的动态变化。给定第i个传感器作为我们的预测对象,其他传感器为l,我们可以计算它们之间的注意力权重(即影响权重),公式如下:其中$\mathbf{v}_g,\mathbf{u}_g,\mathbf{b}_g\in\mathbb{R}^{T\times2m},\mathbf{W}_g\in\mathbb{R}^{T\times2m},\mathbf{U}_g\in\mathbb{R}^{T\timesT}$和$\mathbf{W'}_g\in\mathbb{R}^{T\timesN^t}$是学习参数。注意机制通过参考目标序列和其他传感器的局部特征自适应地选择相关传感器进行预测。同时,通过考虑之前的隐藏状态:$\mathbf{h}_{t-1}$和单元状态:$\mathbf{s}_{t-1}$,历史信息跨时间步传播编码器。请注意,空间因素也会影响不同传感器之间的相关性。通常,地理传感器是显式或隐式互连的。这里,我们用矩阵$\mathbf{P}\in\mathbb{R}^{N_g\timesN_g}$表示地理空间的相似度,其中$\mathbf{P}_{i,j}$表示传感器i和j之间的相似度。与注意力权重不同,地理空间的相似性可以看作是先验知识。特别是,如果$\mathbf{N}_g$太大,最好选择最接近或相似的传感器。然后,我们使用一个softmax函数来确保所有注意力权重之和为1,并通过考虑地理空间相似性得到以下公式:其中$\lambda$是一个可调整的超参数。如果$\lambda$很大,则此公式对注意力的权重与地理空间相似性一样多。通过这些注意力权重,我们可以计算出如下全局空间注意力的输出向量:2.2TemporalAttention随着编码长度的增加,encoder-decoder结构的性能会迅速下降,所以加入一个temporalattention机制可以自适应相关的hidden选择编码器层的状态以产生输出序列,即,对预测序列中不同时间间隔之间的动态时间相关性进行建模。具体来说,为了计算编码器每个隐藏状态下每个输出时间t'的注意力向量,我们定义:where和arelearned。这些值由softmax函数归一化,以在编码器层的隐藏状态上创建注意力掩码。2.3外部因素提取地理传感器的时间序列与空间因素(例如,POI和传感器网络之间)之间存在很强的关系。形式上,这些因素共同决定了一个区域的功能。此外,还有许多时间因素会影响传感器读数,例如天气和一天中的时间。受相关论文的启发,本文设计了一个简单有效的架构来处理这些因素。如上图2所示,首先纳入了时间因素,包括时间特征、气象特征和待预测传感器的SensorID。由于未来时期的天气状况未知,我们使用天气预报来改善我们的表现。注意,这些因素大多是分类值,不能直接输入神经网络。我们将每个分类的属性输入到不同的嵌入层中,并将它们转换为低维向量。在空间因素方面,我们利用不同类别POI的密度作为POI特征。由于传感器网络的特性取决于特定的环境,我们简单地利用网络的结构特性(例如居民数量和交叉路口)。最后,我们将获得的嵌入向量和空间特征向量连接起来作为模块的输出,表示为$\mathbf{ex}_{t'}\in\mathbb{R}^{N_e}$,其中$t'$表示解码器层的未来时间步长。2.4编码器-解码器和模型训练在编码器层,我们简单地将局部空间注意力和全局空间注意力聚合成:我们使用连接的$\tilde{\mathbf{x}}_t$作为编码器层的新输入,并使用$\mathbf{h}_t=f_e(\mathbf{h}_{t-1},\tilde{\mathbf{x}}_t)$更新时间t的隐藏状态,其中$f_e$是一个LSTM单元。在decoder层,一旦我们获得了$\mathbf{c}_{t'}$在未来时间$t'$的环境向量,我们就可以将其与外部特征提取模块$\的输出结合起来mathbf{ex}_{t'}$和decoder层最后的输出$\hat{y}^i_{t'-1}$结合起来更新decoder层的hiddenstate,公式如下:其中$f_d$用于解码层LSTM单元。然后,我们将之前的环境向量$\mathbf{c}_{t'}$与当前的隐藏状态$\mathbf{d}_{t'}$结合成为一个新的隐藏状态,如下最终预测:最后,我们使用线性变换来产生最终输出。因为这种方法是平滑的,所以是可以通过反向传播算法训练的模型。在这个训练阶段,我们使用Adam优化器来最小化传感器i的预测向量$\hat{\mathbf{y}}^i$和实际测量值$\mathbf{y}^i$之间的MSE来训练这个模型:其中$\theta$都是在提议的模型中学习的。3实验3.1实验数据本文分别使用两个数据集对模型进行训练。数据集的详细信息如图3所示:图3:数据集的详细信息。不过由于没有公开完整的数据,后面我们会用他提供的一个sample_data来复现,也就是他处理后得到的vector,所以这部分就不深入介绍了。如果你对这部分还有疑问或者感兴趣,可以参考论文的相应部分。3.2评估指标我们使用多种标准来评估我们的模型,包括均方根误差(RMSE)和平均绝对误差(MAE),这两者都广泛用于回归任务。3.3超参数鉴于之前的一些研究,本文将时间间隔设置为6天进行短期预测。在训练期间,我们将批量大小设置为256,将学习率设置为0.001。在外部特征自动提取模块中,论文将SensorID嵌入$\mathbb{R}^6$,将时间特征嵌入$\mathbb{R}^{10}$。总体而言,该模型中有4个超参数,其中权衡参数$\lambda$根据经验固定在0.1和0.5之间。对于窗口长度T,我们令T∈{6,12,24,36,48}。为简单起见,我们在编码器和解码器层中使用相同维度的隐藏层,并在{32,64,128,256}上执行网格搜索。此外,我们使用堆叠的LSTM(层数表示为q)作为编码器和解码器的单元来提高我们的性能。实验发现,当设置q=2,m=n=64,$\lambda$=0.2时,在验证集中表现最好。4模型比较在本节中,我们在两个数据集上比较论文的模型。为了公平起见,图4给出了每种方法在不同参数设置下的最佳性能。图4:不同模型的性能比较在水质预测方面,我们提出的方法在两个指标上都明显优于其他方法。特别是,GeoMAN在MAE和RMSE上分别比最先进的方法(DA-RNN)高出14.2%和13.5%。另一方面,由于残留氯(RC)的浓度遵循一定的周期性规律,stDNN和RNN方法(即Seq2seq、DA-RNN和GeoMAN)通过考虑更长的时间关系获得比stMTMVL和FFA更好的结果。表现。与LSTM对未来时间步的预测相比,GeoMAN和Seq2seq由于解码器组件的积极作用带来了显着的改进。值得注意的是,GBRT优于大多数基线,这说明了集成方法的优越性。与相对稳定的水质读数相比,PM2.5浓度波动较大且难以预测。图4为北京市空气质量数据综合对比。很容易看出我们的模型在MAE和RMSE上都取得了最佳性能。继之前关注MAE的工作之后,我们主要讨论这个指标。论文的方法比这些方法低7.2%到63.5%,说明它在其他应用中有更好的泛化性能。另一个有趣的观察是,stMTMVL在水质预测方面效果很好,但在这方面表现出劣势,因为空气质量预测的联合学习任务数量远大于水质预测。5总结本文提出了一种基于多层注意力的时间序列预测网络。在第一层,应用本地和全局空间注意机制来捕获地理感知数据中的动态传感器间关联。在第二层中,论文使用时间注意力自适应地选择相关时间步进行预测。此外,论文的模型考虑了外部因素的影响,使用了通用的特征提取模块。在论文中,论文的模型是在两类地理传感器的数据集上进行评估的。实验结果表明,论文模型在RMSE和MAE这两个指标上与其他9个模型同时取得了最好的性能。项目地址:https://momodel.cn/workspace/5d96ed18673496721b0792fb?type=app6参考论文:GeoMAN:Multi-levelAttentionNetworksforGeo-sensoryTimeSeriesPrediction博客:softmax详细博客:注意力介绍博客:AdamoptimizeraboutOurMo(网址:https://momodel.cn)是一个支持Python的人工智能在线建模平台,可以帮助您快速开发、训练和部署模型。Mo人工智能俱乐部是由本站研发和产品设计团队发起,致力于降低人工智能开发和使用门槛的俱乐部。团队拥有大数据处理分析、可视化和数据建模经验,承接过多领域智能化项目,具备从底层到前端的全线设计开发能力。主要研究方向为大数据管理分析和人工智能技术,并以此促进数据驱动的科学研究。目前,俱乐部每两周在杭州举办线下论文分享和学术交流活动。我们希望把对人工智能感兴趣的各界朋友聚集在一起,继续交流,共同成长,推动人工智能的大众化和普及化。
