一种基于组感知图神经网络的全国城市空气质量预测方法

文档序号:26009737发布日期:2021-07-23 21:29阅读:148来源:国知局
一种基于组感知图神经网络的全国城市空气质量预测方法

本发明属于城市空气质量预测领域,具体涉及一种基于组感知图神经网络的全国城市空气质量预测方法。



背景技术:

由于工业化进程的快速推进、机动车的污染排放增加,近年来多地空气污染事件频发。解决空气污染问题既能保护公众健康,大大降低呼吸道及肺部疾病的发生率,又能对外展示良好的城市面貌,提升我国的国际形象。政府建立了空气质量监测站点来实时监测当地空气质量,并通过标准公式计算出空气质量指数(aqi)定量描述当地空气质量水平,同步向公众发布相关信息。研究者们认为,利用空气质量的历史观测数据以及其他城市大数据可以预测未来空气质量。高精度的空气质量预测能够辅助公众出行规划和政府政策制定,具有很强的实际应用价值。全国城市空气质量预测作为其中的一个典型问题,具有建模实体数量多,实体间依赖关系复杂等难点。

现有空气质量预测方法一般可以分为基于物理模型的方法和基于机器学习的方法。基于物理模型的方法以领域内的专业模型为基础,通过模拟空气污染物产生、扩散的完整物理化学过程来预测空气质量。该类方法对数据集质量要求极高,而这点在实际应用中往往难以满足。此外,该类模型往往需要专业人员依据实际场景调整相关参数,因此泛化能力较差。

基于机器学习的方法采用数据驱动的方式,学习从历史观测数据及其他影响因素到未来空气质量的复杂映射关系,可以进一步细分为基于时序分析模型的方法、基于通用回归模型的方法和基于深度学习的方法。基于时序分析模型的方法通过发现历史观测序列中的线性规律来预测未来aqi的变化趋势。但实际场景中的序列一般无法满足时序分析模型要求的平稳性假设,而且该类方法不能接受序列数据以外的特征输入,适用场景有限。基于通用回归模型的方法采用一些经典的统计回归模型来预测aqi,支持多源数据输入。但该类方法并没有根据空气质量预测场景的特点改进模型,仅仅是在输入特征上做适配,因此模型的预测性能十分依赖于特征工程,增加了模型的落地难度。

基于深度学习的方法通过堆叠多层神经网络来拟合从输入到输出的非线性复杂映射关系来实现自动化特征学习。这类方法一般采用循环神经网络(rnn)及其变体建模序列在时间上的复杂依赖关系,采用卷积神经网络(cnn)或者图神经网络(gnn)建模城市在空间上的复杂依赖关系。但是,现有基于深度学习的城市空气质量预测方法只考虑了距离较近城市间的空间依赖关系,没有考虑距离较远城市间的隐依赖关系(如受地形等因素影响,一些在地理上相距较远的城市可能具有相似的空气质量)。



技术实现要素:

鉴于上述,本发明的目的是提供一种基于组感知图神经网络的全国城市空气质量预测方法,通过有效建模全国城市间的空间依赖关系和隐依赖关系来实现全国城市空气质量的预测。

为实现上述发明目的,本发明提供以下技术方案:

一种基于组感知图神经网络的全国城市空气质量预测方法,包括以下步骤:

步骤1,采集每个城市的城市空气质量监测数据和天气数据经预处理后形成历史观测序列数据;

步骤2,根据城市的地理分布确定城市节点和城市节点之间的边,依据城市间存在的空间依赖关系确定边属性,利用自注意力网络提取历史观测序列数据的特征作为城市节点的初始表示,以此构建城市图;

步骤3,融合城市的地理信息和城市节点的初始表示确定城市组节点的初始表示,根据城市组节点的初始表示采用组关系编码机制两两编码城市组间的边属性,以此构建城市组图;

步骤4,在编码器中,在城市组图上采用消息传递机制建模城市组间的依赖关系,以对城市组节点进行表示更新;根据更新后城市组节点的表示和城市节点的初始表示确定融合本地特征与城市组信息的城市表示,依据城市表示在城市图上采用消息传递机制建模城市间的依赖关系,以对城市节点进行表示更新;

步骤5,将更新后城市节点的表示和城市之间的边属性作为解码器的输入,在解码器中按照步骤4在城市组图和城市图上采用消息传递机制更新城市组节点的表示和城市节点的表示,获得城市节点的最终表示;

步骤6,依据城市节点的最终表示预测城市空气质量。

优选地,步骤1中,将采集的城市空气质量监测数据和天气数据经过异常值处理、归一化预处理,得到历史观测序列数据。

优选地,步骤2中,所述依据城市间存在的空间依赖关系确定边属性包括:

当城市之间地理距离小于距离阈值时,两城市之间存在连边,且边属性定义为地理距离的倒数。

优选地,步骤2中,所述利用自注意力网络提取历史观测序列数据的特征作为城市节点的初始表示包括:

采用自注意力网络包括依次连接的多头自注意力机制单元、第一加操作&层归一化单元、多层感知机、第二加操作&层归一化单元以及降维单元;历史观测序列数据输入至多头自注意力机制单元后,经计算输出提取结果,该提取结果和历史观测序列数输入至第一加操作&层归一化单元,经过加操作和层归一化处理后输入至多层感知机,经过多层感知处理后输入至第二加操作&层归一化单元,第一加操作&层归一化单元的结果也输入至第二加操作&层归一化单元,经加操作和层归一化处理后输入降维单元,经降维处理得到向量矩阵作为城市节点的初始表示。

优选地,步骤3中,融合城市的地理信息和城市节点的初始表示确定城市组节点的初始表示包括:

将城市的地理信息和城市节点的初始表示融合得到城市节点包含地理信息的表示;

依据城市节点包含地理信息的表示采用可微分组网络将所有城市映射到固定数量的城市组,得到城市组节点的初始表示。

优选地,所述根据城市组节点的初始表示采用组关系编码机制两两编码城市组间的边属性包括:

将两个城市组的初始表示和全局时间信息向量拼接后经过激活处理得到城市组间的边属性。

优选地,所述在城市组图上采用消息传递机制建模城市组间的依赖关系,以对城市组节点进行表示更新包括:

根据城市组图中城市组的边属性确定每个城市组的消息集合,依据消息集合更新每个城市组的消息,依据每个城市组的消息和初始表示更新城市组节点的表示。

优选地,所述依据城市表示在城市图上采用消息传递机制建模城市间的依赖关系,以对城市节点进行表示更新包括:

将每个城市节点的表示与初始表示拼接来第一次更新城市节点的表示,然后依据城市节点的第一次更新后表示和边属性确定每个城市的消息集合,依据消息集合更新每个城市的消息,依据每个城市的消息和第一次更新后城市表示更新城市节点的表示。

优选地,步骤6中,采用线性预测函数依据城市节点的最终属性计算得到城市空气质量的预测值。

与现有技术相比,本发明具有的有益效果至少包括:

以数据驱动的形式构建了城市图和城市组图,在城市图和城市组图上分别捕获城市间的空间依赖关系和隐依赖关系。引入了组关系编码机制,以端到端可微学习的方式编码城市组间的相关性,来有效地捕获城市组间的依赖关系。依据依赖关系进行全国城市空气质量预测,提升全国城市空气质量的预测准确度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是实施例提供的基于组感知图神经网络的全国城市空气质量预测方法的流程图;

图2是实施例提供的全国城市空气质量预测方法框架图;

图3是实施例提供的自注意力网络架构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

为了解决如何有效建模全国城市间的空间依赖关系和隐依赖关系,以提升全国城市空气质量预测的准确性的问题,实施例提供了一种基于组感知图神经网络的全国城市空气质量预测方法,通过结合组感知图神经网络和编解码器架构来预测全国城市空气质量。具体包括:首先对城市空气质量监测数据和天气数据进行预处理,并利用滑动时间窗口得到训练数据集;其次根据城市的地理分布构建城市图,建模城市间的空间依赖关系;然后在编码器中利用可微分组网络将所有城市映射到固定数量的城市组,并利用组关系编码网络构建城市组图,建模城市组之间的相关性;之后在城市图与城市组图上采用消息传递机制分别建模城市间与城市组间的依赖关系;最后解码器接受编码输出,实现端到端的预测输出。

图1是实施例提供的基于组感知图神经网络的全国城市空气质量预测方法的流程图。图2是实施例提供的全国城市空气质量预测方法框架图。如图1和图2所示,实施例提供的全国城市空气质量预测方法包括以下步骤:

步骤1,采集每个城市的城市空气质量监测数据和天气数据经预处理后形成历史观测序列数据。

实施例中,对采集的城市空气质量监测数据和天气数据进行异常值处理和归一化处理,并利用大小为τin+τout的滑动时间窗口对处理后的数据进行划分,得到训练数据集,τin表示历史时刻数,τout表示预测时刻数。

城市空气质量监测数据和天气数据中的异常值将视同缺失值进行处理。对于所有数据集中的缺失值,采用线性插值法进行填充,线性插值法的计算公式如下:

其中,x、x0和x1表示缺失值及其前后有效样本的数值,t、t0和t1表示缺失值及其前后有效样本对应的时刻值。

对补全后的数据进行归一化操作,归一化计算公式如下:

其中μ表示样本均值,σ表示样本标准差,xnorm表示归一化操作后的输出值。

人为设定历史时刻数为τin,预测时刻数为τout,利用τin+τout的滑动时间窗口对预处理后的数据进行步长为p的划分。其中每个样本包括所有城市τin+τout个历史及未来时刻的aqi观测数据aqi和所有城市τin个历史时刻的天气数据weather。

根据各个历史时刻各个城市的aqi观测数据和天气数据得到各个历史时刻各个城市的观测数据以及各个城市的历史观测序列其中t表示时刻值,i表示城市序号,城市观测数据的计算公式如下:

其中分别表示t时刻城市i的aqi观测数据和天气数据,表示拼接操作。

步骤2,根据城市的地理分布确定城市节点和城市节点之间的边,依据城市间存在的空间依赖关系确定边属性,构建城市图。

空气质量在地理分布上具有平滑性,地理距离相近的城市具有相似的空气质量,即城市间存在空间依赖关系。根据城市的地理分布构建城市图并且考虑到计算量问题,在城市图中只有地理距离小于阈值rh的两个城市之间才存在边的连接。根据上述条件计算城市图的边属性矩阵e,完成城市图的构建过程:

其中[xi,yi]和[xj,yj]分别表示城市i和城市j的地理坐标,di,j和dj,i表示城市i和城市j间的欧式距离,rh为地理距离阈值,ei,j表示连接城市i到城市j边的属性,ei,j和ej,i是对称的。

步骤3,将训练数据集按照固定的批量大小进行分批,批次总数为nbatch。

根据人为经验设定的批量大小m对训练数据集进行分批,批次总数为nbatch。具体计算公式如下:

其中nsample表示训练数据集中样本总数。

步骤4,从训练数据集中选取索引为k的一批训练样本,其中k∈{1,…,nbatch}。对于该批次中的每一个训练样本,重复步骤5~10。

步骤5,利用自注意力网络提取历史观测序列数据的特征作为城市节点的初始表示。如图3所示,利用自注意力网络提取历史观测序列数据的特征作为城市节点的初始表示包括:

采用的自注意力网络包括依次连接的多头自注意力机制单元、第一加操作&层归一化单元、多层感知机、第二加操作&层归一化单元以及降维单元;历史观测序列数据输入至多头自注意力机制单元后,经计算输出提取结果,该提取结果和历史观测序列数输入至第一加操作&层归一化单元,经过加操作和层归一化处理后输入至多层感知机,经过多层感知处理后输入至第二加操作&层归一化单元,第一加操作&层归一化单元的结果也输入至第二加操作&层归一化单元,经加操作和层归一化处理后输入降维单元,经降维处理得到向量矩阵作为城市节点的初始表示。

其中,多头自注意力机制(multi-headself-attention)以多组不同的参数进行自注意力机制的运算,能够建模输入序列中元素点对点的相关性。自注意力机制的运算过程如下:

q=f(h,wquery),k=f(h,wkey),v=f(h,wvalue)(7)

其中h表示历史观测序列,经转换函数f计算出query矩阵q、key矩阵k和value矩阵v,wquery、wkey和wvalue表示参数矩阵,dkey为key的维度大小。

在自注意力网络中还加入了层归一化(layernormalization)和跳跃连接(skipconnection)设计,以稳定低层神经网络的输出分布,避免梯度爆炸或梯度消失问题,有利于深层神经网络的训练。自注意力网络最终生成城市的初始表示x。基于此,构建得到的城市图表示为其中v表示城市图上的城市节点集合,a表示城市图上边的集合,x表示节点表示矩阵,e表示边属性矩阵。

步骤6,融合城市的地理信息和城市节点的初始表示确定城市组节点的初始表示,根据城市组节点的初始表示采用组关系编码机制两两编码城市组间的边属性,以此构建城市组图。

实施例中,首先,基于城市的地理位置信息l来更新城市的初始表示x,得到包含地理信息的城市表示x′,计算过程如下:

其中xi表示由自注意力网络输出的城市i初始表示,li为城市i的地理坐标信息,w0表示系数矩阵,b0表示偏置向量,σ表示激活函数,表示拼接操作。

然后采用可微分组网络中可学习的映射矩阵和城市表示x计算出城市组的初始表示z,具有较强隐依赖关系的城市将共享城市组表示,计算过程如下:

其中zj为城市组j的表示,x′i为地理信息的城市i表示,ncity为参与建模的城市数量,ngroup为预先设定的城市组数量。

构建的构建城市组图为全连接图,采用组关系编码机制两两编码城市组间的边属性r,不仅可以考虑城市组的表示,还能够考虑其他影响城市组间依赖关系的因素(时间信息),组关系编码过程如下:

其中ri,j表示连接城市组i和城市组j的边属性,zi和zj为城市组表示,time为表示全局时间信息的向量,w1表示系数矩阵,b1表示偏置向量。基于此,构建的城市组图其中表示城市组图上的城市组节点集合,表示城市组图上边的集合,z表示城市组图节点表示矩阵,r表示边属性矩阵。

步骤7,在编码器中,在城市组图上采用消息传递机制建模城市组间的依赖关系,以对城市组节点进行表示更新。

城市组图上的消息传递机制包括信息聚合和表示更新两个过程,具体的计算过程如下:

ri={(zi,zj,rj,i)}i≠j(12)

ri←ρg(ri)(13)

z′i←φg(ri,zi)(14)

其中,ri表示所有从其他所有城市组传递到城市组i的消息集合,并通过函数计算出向量ri,城市组表示zi会基于接受到的消息ri更新,得到更新后的城市组i表示z′i,ρg和φg是变换函数,由多层感知机实现。

步骤8,在编码器中,根据更新后城市组节点的表示和城市节点的初始表示确定融合本地特征与城市组信息的城市表示,依据城市表示在城市图上采用消息传递机制建模城市间的依赖关系,以对城市节点进行表示更新。

实施例中,根据映射矩阵s和更新后的城市组表示z′计算出基于城市组信息的城市表示x1,并与城市初始表示x拼接得到融合本地特征与城市组信息的城市表示x2。之后在城市图上采用消息传递机制建模城市间的依赖关系,得到更新后的城市表示x3

城市组的信息可以通过映射矩阵s反馈到城市节点,得到基于城市组信息的表示x1,计算过程如下:

其中为城市i基于城市组信息的表示,z′j为更新后的城市j表示。

在城市图上同样采用消息传递机制建模城市间的依赖关系,与城市组图上的计算步骤略有不同的是,首先需要将从城市组图反馈的信息融合到城市表示中,再进行信息聚合和表示更新过程,具体的运算过程如下:

ri←ρ(ri)(18)

其中是融合了本地特征与城市组信息的城市i表示,ri表示所有从邻居城市传递到城市i的消息集合,并通过函数计算出向量ri,是基于ri更新得到的城市i表示,ρ和φ是变换函数,由多层感知机实现。

步骤9,将更新后城市节点的属性和城市之间的边属性作为解码器的输入,在解码器中按照步骤7和8在城市组图和城市图上采用消息传递机制更新城市组节点的表示和城市节点的表示,获得城市节点的最终属性。

实施例中,将编码器中更新后的城市表示x3、映射矩阵s和城市组图边属性矩阵r作为编码结果输入到解码器中,在解码器中重复步骤6和7在城市组图和城市图上的消息传递过程,得到城市的最终表示xoutput。将xoutput输入到预测函数中,输出所有城市τout个未来时刻的aqi预测结果。

解码器接受编码器产生的编码输出:所有更新后的城市表示x3、映射矩阵s(解码器中s的参数将不会被更新)以及城市组图边属性矩阵r(解码器中的城市组图边属性将不会被重新编码)。解码器中的计算过程与编码器类似,区别是输入解码器的已经是城市的表示向量,而不是观测序列,因此省略了用于提取序列特征的自注意力网络。

在解码器中重复步骤7和8在城市组图及城市图上的消息传递过程后,可以得到城市的最终表示xoutput,通过预测函数得到城市空气质量的预测输出序列:

其中为城市i的最终表示,w2表示系数矩阵,b2表示偏置向量。

步骤10,计算单个训练样本的预测损失ls,即该样本的真实值和模型输出的预测值之间的误差,其中s表示样本序号。

预测任务的损失函数定义为平均绝对误差,单个训练样本的预测损失计算方式如下:

其中s表示样本序号,ncity表示城市数量,表示城市i在τin+k时刻的aqi预测值,表示城市i在τin+k时刻的aqi真实值。

步骤11,根据批中所有样本的预测损失l,对整个模型中的网络参数进行调整。

计算批中所有样本的预测损失l,具体计算方式如下所示:

其中ls表示样本s的预测损失,m表示每个批中样本的数量。在本发明中,根据所有样本的预测损失l,对整个模型中的网络参数进行调整。

步骤12,重复步骤4-10直到训练数据集的所有批次都参与了模型训练。

步骤13,重复步骤4-11直到达到指定迭代次数。

步骤14,对当前时刻及之前τin个历史时刻的城市空气质量监测数据和天气数据进行异常值和归一化处理。

步骤15,将处理后的数据样本输入已训练好的模型,得到当前时刻之后τout个未来时刻的全国城市空气质量预测结果。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1