原标题《Air quality prediction by integrating mechanism model and machine learning model》
动机
机理模型可应用于污染物浓度预测,但存在精度不高、模型输入苛刻、应用环境受限等问题。例如,AERMOD是一个主要适用于小尺度大气扩散模拟和污染物预测的经验模型。而第三代空气质量模型需要全面准确的源清单和气象场数据作为输入进行预测,其应用受到了限制。
机器学习方法都无法及时捕捉到污染物在空气中扩散造成的区域影响和突变。相对而言,基于大气扩散原理的传统机理模型能较好地模拟周边地区对预测点的影响。
基于以上考虑,本文利用LSTM网络学习空气质量的时序性和周期性,利用GNN学习站点间的空间关系,构建了动态多粒度时空图神经网络DM _ STGNN,为了更好地捕捉污染物浓度的突变及其对空气扩散和沉降的影响,利用机理模型HYSLPLIT动态构建时空图的邻接矩阵和边关系。
贡献
1.作者创新性地提出了一种结合机制模型和GNN的动态多粒度时空图神经网络。基于机理模型对污染气团扩散、传输和沉积的模拟结果,动态构建多粒度时空图的邻接矩阵和边权重向量,使模型能够动态学习多粒度站点间的空间影响关系。
2.为了更好地学习污染物的时间模式和周期性,作者提出在编码器中为每个节点添加季度、月份、星期、小时和节假日的时间特征属性,在解码器中使用基于注意力机制的LSTM进行时间学习,并使用无监督的预训练模型来增强网络学习。
3.作者创新性地提出了一种空气质量训练样本增强方法,通过对天气数据和污染物浓度数据添加扰动来增强样本容量。由于解码器使用的未来天气数据是一种预报数据,其精度是不确定的,因此对天气数据进行扰动不仅可以增加样本容量,还可以提高模型的泛化能力。此外,监测设备、环境等因素都会影响采集的污染物浓度的准确性。因此,对污染物浓度值进行扰动不仅扩大了样本容量,而且提高了模型的稳健性。
HYSPLIT
HYSPLIT 是用于计算大气轨迹,以及复杂的迁移、扩散、化学转化和沉积模拟的系统。T是大气科学中应用最广泛的大气传输和扩散模式之一。他的一个常见的应用是逆向轨迹分析,寻找气团的来源,建立源-受体关系。
如下图中描述了一个使用HYSPLIT进行轨迹分析的例子。该例子以北京中心( 116 ° 20′, 39 ° 56′)为起始点,以2022年5月6日10:00为起始时间,预测未来48 h的气团轨迹。从图中可以看出,通过HYSPLIT可以得到每条轨道的位置和时间。
模型
整体结构如图:
其中重点是编码部分的Dynamic multi-granularity spatiotemporal graph neural network:
patio-temporal graph construction
本文的时空图构建在我看来是挺新奇的,他的多细粒度没有放在时间上而是在空间上,如下图:
对于全局图中的节点,其属性为区域节点的污染物浓度值。对于局部子图中的节点,其属性为站点节点的污染物浓度值,和其地貌特征,以及季度、月份、星期、小时、节假日的时间特征。
对于边的构建作者采用空气质量模型HYSPLIT来学习节点之间的关系,构建动态连接边。
具体而言:以全局图的边计算为例,根据聚类后的区域将城市划分为网格,使每个区域落入唯一的网格中。对于每个区域(节点va ),使用HYSPLIT计算下一时刻t内从va开始并以小时为步长的所有轨迹。跟踪每条轨迹穿越节点所在网格的时间,并记录穿越轨迹的数量和穿越网格的时间,动态构建全局连接边及其属性向量。例如,以v1为起点,利用HYSPLIT计算出在随后的48 h内有5条轨迹经过v2,时间间隔为未来的第1小时、第3小时、第4小时、第8小时和第48小时,则节点v1和v2之间形成边关系,其属性向量为:e12 = [1,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]。 下图则比较直观地表示了这一过程。
Learning of spatial dependencies
利用消息传递机制学习空间关系,主要包括消息聚合和描述更新。消息聚合如下所示:
M
a
M_a
Ma表示传递给节点
v
a
v_a
va的所有消息的集合,
X
a
X_a
Xa为节点
v
a
v_a
va的属性;
X
s
X_s
Xs是邻居节点的属性;
e
a
,
s
e_{a,s}
ea,s为边的属性,
m
a
m_a
ma为节点
v
a
v_a
va的聚合向量;Ψ (⋅)表示聚合函数。
描述更新如下所示
φ 1和φ 2表示更新函数,
m
a
,
i
m_{a,i}
ma,i为节点
v
a
,
i
v_{a,i}
va,i在第a个局部子图中的聚合向量,
x
a
,
i
x_{a,i}
xa,i为
v
a
,
i
v_{a,i}
va,i的属性,
u
a
u_a
ua为第a个局部子图的全局属性
局部子图传递的信息包括当前和历史污染物浓度值,采用平均法对部分子图传递的信息进行聚合:
最终得到序列:
{
c
o
n
α
t
−
τ
i
n
+
1
,
c
o
n
α
t
−
τ
i
n
+
2
,
c
o
n
α
t
−
τ
i
n
+
3
.
.
.
,
c
o
n
α
t
∣
1
≤
a
≤
N
}
\left\{con_{\alpha}^{t-\tau_{in}+1},con_{\alpha}^{t-\tau_{in}+2},con_{\alpha}^{t-\tau_{in}+3}...,con_{\alpha}^{t}|1≤a≤N\right\}
{conαt−τin+1,conαt−τin+2,conαt−τin+3...,conαt∣1≤a≤N}
Learning of temporal dependencies
编码码器部分就是一个简单的LSTM,而在解码器部分为了更好地利用时间特征,在解码器中引入时间注意力机制,学习未来时间和历史时间之间的动态时间依赖关系。给定
t
′
−
1
t'-1
t′−1时刻,则
t
′
t'
t′时刻的注意力计算如下:
我们可以获得编码器中所有历史隐藏状态的注意力权重,并通过加权ht求和计算时间上下文向量c:
隐状态更新如下:
Pre-training enhanced DM_STGNN for air quality forecasting
为了解决以往的时空图难以使用长序列的时间序列,作者利用预训练模型从非常长的历史时间序列(例如,过去的几个月)中高效地学习时间模式。预训练模型使用fragment级表示,从非常长的历史序列中有效地学习时间模式(包含丰富的上下文信息)。作者采用基于TransFormer块的无监督长期序列预训练模型。这一步就是增强DM_STGNN的效果,模型框架变为:
由于STGNN的复杂度随输入序列的长度线性增加,DM_STGNN只取
n
i
n_i
ni的最近一个补丁,如最后一个补丁
n
i
P
n_i^P
niP作为时间序列i的输入。 由于预训练模型具有提取超长时间依赖关系的能力,预训练模型中编码器得到的
H
i
P
H_i^P
HiP包含了时间上下文信息,弥补了DM_STGNN仅以最后一个时间块作为输入的不足。
SP (⋅)是将
H
P
H^P
HP变换到
h
t
h^t
ht的语义空间的语义映射。
最终的结果和损失函数为:
y
^
=
M
L
P
(
h
f
i
n
a
l
)
\hat{y}=MLP(h^{final})
y^=MLP(hfinal)
实验
评价指标:
主要结果: