做者: 魏祖昌html
在咱们现实生活中,已经部署大量的传感器(好比气象站点)。每个传感器都有本身独特的地理空间位置,而且不断的产生时间序列读数。一组传感器共同监测一个空间的环境,这些读数之间就会有空间相关性,咱们称这些传感器的读数为地理感知时间序列。此外,当不一样空间位置用同一种传感器来监测, 一般会产生多种地理感知的时间序列。例如,如图1(a)所示,道路上的环形探测器会及时报告过往车辆的读数以及它们的行驶速度。图1(b)表示传感器每5分钟产生三个不一样的水质化学指标。除了监测以外,对地理感知时间序列预测(如交通预测)的需求也在不断增加。前端
图1:(a)-(b)地理传感器时序性数据的例子算法
然而,对地理感知时间序列进行预测是很是复杂的,主要受如下两个复杂因素的影响:网络
为了解决这些挑战,该论文提出了一个多层次的Attention网络(GeoMAN)来预测将来几个小时内地理传感器的读数。该论文的研究有三方面的贡献:app
图2展现了该片论文的整个框架。依据encoder-decoder框架,咱们利用两个分离LSTM网络,一个用于对输入序列(好比地理传感器的历史时间序列)进行encoder,另外一个则用于预测的输出序列。更具体的来讲,论文中的GeoMAN模型主要是由两部分组成:框架
图2:该论文的框架。Attn: attention. Local: local spatial attention. Global: global spatial attention. Concat: concatenation层. : 在t时刻的predicting value. ct: 在t时刻的context vectors. h0: encoder的初始值.函数
该论文是首次引入了local spatial attention机制。对于某个传感器来讲,其的局部时间序列之间存在复杂的相关性。好比,一个空气质量监测站报告不一样物质的时间序列,如PM2.5(特定物质),NO和SO2。实际上,PM2.5浓度一般受其余时间序列的影响,包括其余空气污染物和当地的天气情况。为了解决这个问题,给定第i个传感器的第k个局部特征向量(即),咱们利用attention机制自适应地捕捉目标序列与每一个局部特征之间的动态相关性,其公式为:性能
其中[ ·; ·]是合并操做,是学习来的参数。attention的权重的局部特征值是由输入的局部特征和encoder层中的历史状态(即
,
)共同决定的,这个权重值表明着每个局部特征的重要性。一旦咱们得到了attention的权值,就能够经过下面的公式算出在t时刻的local spatial atttention的输出向量:学习
其余传感器所监测的历史时间序列对将要预测出来的序列,会有直接的影响。然而,影响的权重是高度动态,是随时间变化的。因为会有不少不相关的序列,因此直接用全部的时间序列输入到encoder层来捕获不一样传感器之间的相关性会致使很是高的计算成本而且下降性能。注意,这种影响的权重是受其余传感器的局部条件影响的。好比,当一股风从很远的地方吹来的时候,某些地区的空气质量会比以前更受这些地方的影响。受此启发,构建了一种新型的attention机制来捕获不一样传感器之间的动态变化。给定第i个传感器做为咱们的预测的对象,其余的传感器为l,咱们就能够计算他们之间的attention权值(即影响权重),公式以下:大数据
其中和
是学习得来的参数。该attention机制经过参考目标序列和其余传感器的局部特征来自适应地选择相关传感器进行预测。同时,经过考虑编码器中先前hidden state:
和cell state:
来跨越时间步长传播历史信息。
注意,空间因素也会影响不一样传感器之间的相关性。通常来讲,地理传感器是经过显式或隐式进行相互链接的。这里,咱们使用矩阵来表示地理空间的类似度,其中
表示传感器i和j之间的类似度。与attention权值不一样的是,地理空间的类似度能够视做先验知识。尤为是,在若是
太大,选择最近或类似的传感器会更好。而后,咱们使用一个softmax函数来保证全部的attention权值和为1,结合考虑地理空间类似性得出以下的公式:
其中 是一个可调的超参数。若是
很大,这个公式就会使attention的权重和地理空间类似度同样大。经过这些attention权值,咱们就能够计算出global spatial attention的以下输出向量:
因为随着编码长度的增长,encoder-decoder结构的性能会迅速降低,因此增添一个temporal attention机制能够自适应地选择encoder层的相关hidden states来产生输出序列,即,对预测序列中不一样时间间隔之间的动态时间相关性进行建模。具体来讲,为了计算encoder每一个hidden state下每一个输出时间t‘处的attention向量,咱们定义:
其中
地理传感器的时间序列和空间因素(好比POIs和传感器网络之间)有很强的关系。形式上,这些因素共同决定了一个区域的功能。此外,还有不少时间因素(如气象和时间)在影响着传感器的读数。在受相关论文启发之下,该论文设计了一种简单有效的组建来处理这些因素。 正如上面的图2所示,首先合并了包括时间特征,气象特征和须要被预测传感器的SensorID等时间因素。因为将来时段的天气状况未知,咱们使用天气预报来提升咱们的性能。注意,这些因素大部分是分类的值,不能直接输入到神经网络中,咱们将每一个分类的属性分别输入到不一样的embedding层中,将它们转化为一个低维向量。在空间因素方面,咱们利用不一样类别的POIs密度做为POIs特征。因为传感器网络的特性取决于特定的环境,咱们就简单的利用了网络的结构特征(如居民和交叉口数量)。最后,咱们将获得的嵌入向量和空间特征向量链接起来做为该模块的输出,记为 ,其中
表示decoder层的将来时间步长。
在encoder层中,咱们将local spatial attention 和 the global spatial attention简单汇总成:
其中是使用在decoder层中LSTM单元。而后,咱们再把先前的环境向量
和如今获得的hidden state
结合起来,成为新的hidden state来作以下的最终的预测:
该论文中用了两个数据集分别来训练该模型,数据集的详细内容如图3所示:
图3:数据集的详细内容。
可是因为完整数据没有公开的问题,咱们后面复现是使用的是一个他提供的sample_data,便是他处理完以后获得的向量,因此这部分不作深刻介绍,若是对这部分还有疑问或者兴趣,能够自行参考论文相应部分。
咱们使用多个标准来评估咱们的模型,包括根均方偏差(RMSE)和平均绝对偏差(MAE),这两个标准在回归任务中都被普遍使用。
鉴于先前的一些研究,该论文设置时间间隔为6天来作短时间预测。在训练过程当中,咱们设batch的大小为256,learning rate为0.001。在外部特征自动抽取模块,论文把SensorID嵌入到 中,把时间特征嵌入到
中。总的来讲,在这个模型中有4个超参数,其中权衡参数
从经验上来讲是固定在0.1到0.5之间的。对于窗口长度T,咱们令T∈{6,12,24,36,48}。对了简单起见,咱们在encoder层和decoder层使用相同维度的hidden层,而且在{32, 64, 128, 256}上进行网格搜索。此外,咱们使用堆叠的LSTMs(层数记做q)做为encoder和decoder的单位,以提升咱们的性能。实验发现,在设置q=2,m=n=64,
=0.2时在验证集表现的最好。
在本节中,咱们将论文的模型与两个数据集上进行比较。为了公平起见,在图4中给出了不一样参数设置下每种方法的最佳性能。
图4:在不一样模型中的表现对比
在水质预测方面,咱们提出的方法在两个指标上都明显优于其余方法。特别地,GeoMAN在MAE和RMSE上分别以14.2%和13.5%超过了最早进的方法(DA-RNN)。另外一方面,因为residual chlorine(RC)的浓度遵循必定的周期规律,所以stDNN和RNN方法(即Seq2seq, DA-RNN和GeoMAN)经过考虑更长的时间关系,得到了比stMTMVL和FFA更好的性能。与LSTM对将来时间步长的预测相比,GeoMAN和Seq2seq因为解码器组件的积极做用而带来了显著的改进。值得注意的是,GBRT在大多数基线上都有较好的表现,这说明了集成方法的优越性。
与相对稳定的水质读数相比,PM2.5浓度波动较大,预测难度较大。图4是北京空气质量数据的综合比较。很容易看出,咱们的模型同时达到了MAE和RMSE的最佳性能。继以前的工做关注MAE以后,咱们主要讨论了这种度量。论文的方法比这些方法低了7.2%到63.5%,代表它在其余应用上有更好的泛化性能。另外一个有趣的观察结果是,stMTMVL在水质预测方面效果很好,但在这方面表现出了劣势,由于空气质量预测的联合学习任务的数量远远大于水质预测的联合学习任务的数量。
这篇论文提出了一种基于多层attention的时间序列预测网络。在第一个层次,应用local和global spatial attention机制来捕获地理感知数据中的动态传感器间关联。在第二层,论文利用temporal attention自适应地选择相关的时间步长进行预测。此外,论文的模型考虑了外部因素的影响,使用通用的特征抽取模块。论文中使用在两类地理传感器的数据集上对论文的模型进行了评价,实验结果代表,论文的模型在和其余9个模型同时在RMSE和MAE两个指标得到了最佳的性能。
Mo(网址:https://momodel.cn)是一个支持 Python 的人工智能在线建模平台,能帮助你快速开发、训练并部署模型。
Mo 人工智能俱乐部 是由网站的研发与产品设计团队发起、致力于下降人工智能开发与使用门槛的俱乐部。团队具有大数据处理分析、可视化与数据建模经验,已承担多领域智能项目,具有从底层到前端的全线设计开发能力。主要研究方向为大数据管理分析与人工智能技术,并以此来促进数据驱动的科学研究。
目前俱乐部每两周在杭州举办线下论文分享与学术交流。但愿能汇聚来自各行各业对人工智能感兴趣的朋友,不断交流共同成长,推进人工智能民主化、应用普及化。