本发明属于空气质量预测技术领域,特别是涉及一种基于注意力增强图卷积神经网络agc和门控循环单元gru的空气质量预测方法。
背景技术:
近年来,随着工业的发展,空气污染问题日益严重,成为了人们关注的热点话题。各种污染物比如pm2.5,pm10,颗粒半径小,面积大,扩散性强,非常容易附带有毒有害物质,对人体健康和大气环境影响巨大,所以治理空气污染问题迫在眉睫。而准确的空气质量预测信息可以为空气污染治理提供很大帮助。为了掌握空气污染情况,政府建立空气监测站实时监测地区的空气质量,但其不能对未来空气质量进行预测,因此对于空气质量预测的研究能够弥补监测站功能上的缺失。
空气质量预测的研究一直都是一个热点,有不同领域的研究人员致力于此。空气质量指数(aqi)的预测具有一定的挑战性,主要的原因是因为影响因素过多且不稳定,其中不仅有地理因素的影响,还有人为因素以及各种污染物之间的化学作用。目前空气污染预测主要分为两种方面,一种是基于大气化学模式的机理模型成为确定性模型,另一方面就是基于机器学习的统计模型。近些年许多神经网络和深度学习的相关技术被应用到这个领域之中,这些模型网络的预测效果良好,展示了一定的预测能力。
但是现在的空气质量预测模型存在了一些不足:(1)对于影响空气质量因素考虑不充分。由于空气具有扩散性,待预测监测站的空气质量受邻近区域空气质量的影响,缺乏合适的方法获取影响空气质量预测的空间因素。(2)传统的循环神经网络模型会因为训练序列长度增大存在梯度消失及误差积累等问题。(3)仅依靠短期数据建模进行预测,忽略空气质量数据具有周期性趋势的特点。当今正处于大数据时代,我们拥有大量的环境空气数据,可以利用海量的数据进行模型训练,而且在大数据训练下模型的参数效果更佳。
技术实现要素:
本发明目的在于解决现有技术中的问题,提出了一种基于注意力增强图卷积神经网络agc和门控循环单元gru的空气质量预测方法。本发明同时考虑到同一监测站的不同时间的空气质量变化,也考虑到不同监测站的空间关系。
本发明是通过以下技术方案实现的,本发明提出一种基于注意力增强图卷积神经网络agc和门控循环单元gru的空气质量预测方法,具体包括以下步骤:
步骤1:选取待预测的污染物,采集用于空气质量预测的数据,并建立数据集;
步骤2:对步骤1中采集到的数据进行预处理;
步骤3:将步骤2中得到的预处理后的数据按比例分为训练集和测试集;
步骤4:构建agc-gru神经网络模型;
步骤5:将步骤3中得到的训练集输入步骤4中的agc-gru神经网络模型进行训练,同时提取时序特征以及空间特征;
步骤6:采用反向传播算法策略对步骤5中的agc-gru神经网络进行迭代学习,得到最优的模型参数;
步骤7:将测试集输入到步骤6中训练后的agc-gru神经网络模型中进行预测,得出所选取污染物的预测值。
进一步地,所述采集用于空气质量预测的数据,具体为:
步骤1.1:采集监测站数据,所述监测站数据为所述污染物浓度历史数据;
步骤1.2:采集路网数据并进行提取处理;
步骤1.3:采集天气数据,所述天气数据包括历史气象数据和天气预报数据;
步骤1.4:采集监测站坐标数据;
步骤1.5:采集兴趣点poi数据。
进一步地,所述待预测的污染物包括pm2.5、pm10、co和no。
进一步地,所述的预处理具体为异常数据、缺失数据和数据标准化处理。
进一步地,对于缺失的数据采用线性插值的方法,即根据当前时刻的前后时刻的缺失值估计出当前时刻的缺失值,具体计算公式为:
其中,xt是t时刻的缺失值,xt-1和xt+1是前后时刻的缺失值。
进一步地,所述数据标准化采用最大最小值标准化方法,通过利用数据集中的最大值和最小值,将输入数据转换为[0,1]之间的数,从而使得数据范围缩小,具体计算公式为:
其中,x为输入数据,xmin为数据集的最小值,xmax为数据集的最大值,xn为采用标准化方式获取的新值。
进一步地,所述步骤4具体为:
步骤4.1:将门控循环单元gru中的算子替换成图卷积算子,使模型可以同时捕获到数据集的时间特征和空间特征;
步骤4.2:将步骤4.1得到的隐藏状态矩阵输入到加性注意力机制中,进一步选择关键节点。
进一步地,在步骤4.2中,agc-gru神经网络模型中的中间隐藏状态包含了数据集中的时间动态信息和空间结构信息,能够训练出关键节点。
本发明的有益效果为:
(1)本发明可以同时考虑到数据的时间,空间特征,实现了数据的时空共现。利用gru提取时间特征,图卷积神经网络gcn学习监测站之间的空间特征,使预测效果更加准确。
(2)本发明使用一种加性注意力机制,利用了gru中含有各种信息的隐藏层,训练出关键节点。
(3)本发明能够为城市提供各监测站地区的预测数据,弥补空气质量监测站不能预测的问题。
附图说明
图1为本发明所述方法的步骤流程图;
图2为本发明中agc-gru神经网络模型结构图;
图3为本发明中加性注意力机制结构图;
图4为本发明中图卷积神经网络gcn结构图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1-图4,本发明提出一种基于注意力增强图卷积神经网络agc和门控循环单元gru的空气质量预测方法,具体包括以下步骤:
步骤1:选取待预测的污染物,采集用于空气质量预测的数据,并建立数据集;
所述数据集包括待预测城市的监测站数据和路网数据以及天气数据等。本发明中选取北京市35个空气质量监测站三年的空气质量数据、气象数据、市区poi数据、路网数据以及工业污染数据为数据集,实验数据跨度为2016年1月1日至2019年1月1日。同一个监测站的数据更新时间为1小时;
所述采集用于空气质量预测的数据,具体为:
步骤1.1:采集监测站数据,所述监测站数据为所述污染物浓度历史数据;
本发明中数据来源于北京市空气质量数据来自北京市环境保护检测中心网站,获取近三年的数据,具体包括pm2.5、pm10、co、no等污染物浓度数据,更新间隔为1小时。
步骤1.2:采集路网数据并进行提取处理;
本发明中数据通过opensteetmap地图下载获取北京市各级路网数据,通过处理后提取数据。
步骤1.3:采集天气数据,所述天气数据包括历史气象数据和天气预报数据;具体为温度,风速,风向等。
本发明中天气预报数据是通过中国天气网的数据获得,具体包括温度、风速、风向等,更新间隔为1天,天气预报数据与气象数据类别和单位相同。
步骤1.4:采集监测站坐标数据;
本发明中通过爬取kdd数据集获得北京市35个监测站经纬度信息。
步骤1.5:采集兴趣点poi数据。
本发明中兴趣点数据通过太乐地图分类下载获得,通过导出数据格式进行提取。
步骤2:对步骤1中采集到的数据进行预处理;
所述的预处理具体为异常数据、缺失数据和数据标准化处理。
所述预处理具体为删除异常数据和有缺失的数据,对于缺失的数据采用线性插值的方法,即根据当前时刻的前后时刻的缺失值估计出当前时刻的缺失值,具体计算公式为:
其中,xt是t时刻的缺失值,xt-1和xt+1是前后时刻的缺失值。
所述数据标准化采用最大最小值标准化方法,通过利用数据集中的最大值和最小值,将输入数据转换为[0,1]之间的数,从而使得数据范围缩小,具体计算公式为:
其中,x为输入数据,xmin为数据集的最小值,xmax为数据集的最大值,xn为采用标准化方式获取的新值。
步骤3:将步骤2中得到的预处理后的数据按比例分为训练集和测试集;
步骤4:构建agc-gru神经网络模型;
所述步骤4具体为:
步骤4.1:将门控循环单元gru中的算子替换成图卷积算子,使模型可以同时捕获到数据集的时间特征和空间特征;
图卷积神经网络是一种能对图数据进行深度学习的方法,是一种深层结构的前馈神经网络。图卷积神经网络与全连接的神经网络之间的区别在于权重分配。因此,在本发明中,可以利用图卷积的特性对相邻监测站点之间的空气质量指数(aqi)进行建模,找到他们之间的内在关系。图卷积神经网络输入的数据是特征矩阵以及图结构的邻接矩阵,如图4所示。{x1,x2,x3,x4....}输入,共享特征最后得到一个输出层包含了各节点的信息。
在本发明中,门控循环单元(gru)设计:rnn(recursiveneuralnetwork,rnn)是具有树状分层结构的人工神经网络,rnn的节点以它们连接的顺序递归地输入信息。gru网络是一种特殊的rnn,它与rnn在长期学习依赖关系方面存在差异。传统rnn中的重复模块仅包括单个层,gru网络对其进行了改善。
gru能够向隐藏状态中移除或者添加信息,通过门结构来管理。该网络包括重置门和更新门,通过门先管理实现信息选择性通过,去除或者添加信息到隐藏状态中。gru的输入输出结构与普通的rnn是一样的。有一个当前的输入xt和上一个节点传递下来的隐状态(hiddenstate),这个隐状态包含了之前节点的相关信息。所以gru可以很好的提取时间序列特征,而并没有添加很多参数,可以很好地对监测站的时序数据提取特征。
本发明中,agc-gru模型网络不仅具有gru的时序建模能力,而且还可以像图卷积网络gcn一样提取空间的特征,实现时空共现。该网络由gru变体而来,整体结构与gru类似,其中agc-gru模型网络与普通gru网络不同之处在于普通的gru内部之间是依靠类似前馈神经网络计算的,可以称之为fc-gru。而agc-gru则是利用图卷积代替这种计算方式。其推导公式也发生了改变,新的推导式如下所示:
rt=σ(wxr*graphxt+whr*graphht-1+br)
zt=σ(wxz*graphxt+whz*graphht-1+bz)
h′t-1=rt*(whn*graphht-1+bn)
h′=tanh(win*graphxt+h′t-1+bh)
yt=σ(w0,ht)
其中*graph代表图卷积算子,rt表示t时刻重置门控的值,zt表示t时刻更新门控的值,σ表示sigmoid函数,wxr为重置门控中输入xt的权重矩阵,wxz为更新门控中输入xt的权重矩阵,whr为重置门控中输入ht-1的权重矩阵,whz为更新门控中输入ht-1的权重矩阵,whn为rt与ht-1拼接中输入ht-1的权重矩阵,win表示h′t-1与输入xt的拼接中输入xt的权重矩阵,br为重置门控中的偏差矢量矩阵,bz为更新门控中的偏差矢量矩阵,bn为rt与ht-1拼接中的偏差矢量矩阵,bh表示h′t-1与输入xt的拼接中的偏差矢量矩阵,h′表示h′t-1与输入xt的拼接再通过一个tanh激活函数来将数据缩放到-1~1的范围内,
步骤4.2:将步骤4.1得到的隐藏状态矩阵输入到加性注意力机制中,进一步选择关键节点。
如图3所示,采用加性注意力模型的目的是在不削弱非聚焦节点信息的情况下强化关键节点信息,保持空间信息的完整性。agc-gru模型中的中间隐藏状态包含了数据集中的时间动态信息和空间结构信息,有利于训练出关键节点。根据加性模型的机制,首先将所有节点的信息聚合为一个查询特征,再将查询特征和特征矩阵一起训练出每个节点的权重:
其中w为可学习参数矩阵。qt表示所有节点的信息聚合成的查询特征,relu表示激活函数,n表示节点的数量,
式中,ɑt=(ɑt1,ɑt2,…ɑtn)和vs,wh,wq均是可学习参数矩阵。bh和bt均为偏差矢量矩阵。考虑到存在多个关键节点的可能性,本发明采用s型非线性函数。节点vti的隐藏状态hti也可以表示为(1+ɑti)·hti。
实验中agc-gru模型中的图结构采用检测站之间的距离来模拟,监测站之间超过20km,节点之间有边,否则认为两节点之间没有关联。
在步骤4.2中,agc-gru神经网络模型中的中间隐藏状态包含了数据集中的时间动态信息和空间结构信息,能够训练出关键节点。
步骤5:将步骤3中得到的训练集输入步骤4中的agc-gru神经网络模型进行训练,同时提取时序特征以及空间特征;
步骤6:采用反向传播算法策略对步骤5中的agc-gru神经网络进行迭代学习,得到最优的模型参数;
反向计算每一个神经元的误差项,主要分为两个部分:一是沿着时间的方向反向传播,另一个是将误差项往上一层传播;最后根据对应的误差项,计算每一个权重的梯度;agc-gru学习的参数为内部各个网络层之间的权重矩阵,以及偏差矢量矩阵。
步骤7:将测试集输入到步骤6中训练后的agc-gru神经网络模型中进行预测,得出所选取污染物的预测值。
以上对本发明所提出的一种基于注意力增强图卷积神经网络agc和门控循环单元gru的空气质量预测方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。