空气质量预测

文章目录

    • MSSTN: Multi-Scale Spatial Temporal Network for Air Pollution Prediction
      • 问题提出
      • 网络结构
        • S-Net
        • T-Net
        • F-Net
        • 源码
      • 数据集分析
    • GeoMAN: Multi-level Attention Networks for Geo-sensory Time Series Prediction
      • 问题提出
      • 网络结构
        • 空间注意力
        • 编码器
        • 时间注意力
        • 外部因素融合
        • 解码器
    • Group-Aware Graph Neural Network for Nationwide City Air Quality Forecasting
      • 核心思想
      • 模型结构
        • 自注意力网络
        • 可微分分组网络
        • 建模城市群之间的依赖关系
        • 建模城市之间的依赖关系
        • 解码器
        • K-means对比
        • 数据集分析

MSSTN: Multi-Scale Spatial Temporal Network for Air Pollution Prediction

问题提出

文章指出,对于空气质量数据集,无论是在时间维度和空间维度上,都存在着多尺度特性,例如,在时间方面存在短期波动,中期周期性和长期趋势,在空间方面存在城市规模和区域规模。
空气质量预测_第1张图片
如上图(b),某个传感器的读数在1年尺度上显示长期趋势,在1天尺度上显示周期性,在1小时尺度上显示波动。如上图(c)个传感器组成的结构可分为城市尺度图和区域尺度图,城市尺度图每个节点代表一个传感器,区域尺度图每个节点代表一个城市(区域>城市)。由此可见在时间和空间维度上都存在多尺度的特征,据此,作者提出了一个多尺度时空网络(MSSTN)。

网络结构

空气质量预测_第2张图片
MSSTN整体的网络结构比较简单,分为三个子网络:S-Net用来提取多尺度空间特征,T-Net用来提取多尺度时间特征,F-Net进行特征融合并给出最后的预测

S-Net

作者定义了多种图, 每个城市为一个图,即城市规模图,从每个城市中预先挑选一个传感器代表该城市,从而构成一个以城市为节点的区域规模图。
空气质量预测_第3张图片
对不同的图做GCN(ChebNet),得到不同图的空间特征集合。

T-Net

空气质量预测_第4张图片
T-Net的结构类似于TCN,但每层加入了一个门控非线性操作,具体公式如下
空气质量预测_第5张图片
u l u^l ul l l l层的输入的时序信号, ∗ d *d d为扩张卷积, σ \sigma σ为sigmoid激活函数

F-Net

将多尺度时间特征和空间特征和原始输入拼接后作为输入,经过一个多层感知器得到预测结果,为了确保有效的预测范围,作者采用了一个trick( μ \mu μ律对数量化),这块不是很懂

源码

数据集分析

空气质量预测_第6张图片
数据集是以北京为中心的15个城市,文中单独提供了北京(bj)、石家庄(sjz)、太原(ty)、呼和浩特(hhht)、大连(dl)五个城市的数据,以组成城市尺度图(city-scale),加一个区域尺度(region-scale)的数据(mid、midscale)。
空气质量预测_第7张图片
PM2.5中的数据shape为(时序长度,节点数,特征数)

GeoMAN: Multi-level Attention Networks for Geo-sensory Time Series Prediction

问题提出

文章指出,基于地理的时序预测,存在两个复杂的因素:

  • 动态时空关联性
  1. 传感器之间的相关性,即空间相关性
  2. 传感器自身的相关性,即与历史时间的相关性
  • 外部因素
    传感器的读数会受到许多外部因素影响,像天气、时间等。这些因素需要考虑。

针对以上几点,作者提出了一个多级注意力网络(GeoMAN),该网络主要分为两个部分:
多级注意力机制和外部因素融合模块。
注:该网络本质还是单纯的时序预测,即每次都是对一个节点进行预测,只是预测这个结果时用到了空间的信息(所有传感器的属性值),故和交通预测直接得到多个节点的预测值有所不同。
空气质量预测_第8张图片

网络结构

网络采用了编解码的架构,用LSTM为基础单元建模,整个网络结构图如下
空气质量预测_第9张图片

空间注意力

  • 局部空间注意力这里的局部和图卷积上的局部不是一个概念,这里的局部就是指每个传感器多个特征,也就是争对各特征的注意力
    以下就是计算注意力的公式
    空气质量预测_第10张图片
    h 、 s h、s hs分别是LSTM中前一时间步上的隐藏状态和细胞状态, k k k为第k个特征
    在这里插入图片描述
    这里直接将得到各注意力分数乘到各特征上。

  • 全局空间注意力
    这里的全局注意力机制就类似图注意力了(GAT),计算各节点(传感器)之间的相关性。
    类似于局部空间注意力,公式如下:
    在这里插入图片描述
    l l l为第 l l l个传感器。
    同时作者考虑到各传感器之间的地理空间相似性 P i , j P_{i,j} Pi,j(例如以距离的倒数来衡量),同时通过一个可调的超参数 λ \lambda λ来调节两个之间的作用程度
    在这里插入图片描述
    在这里插入图片描述

编码器

编码器由多个LSTM单元组成,在输入每个LSTM单元之前都经过一个空间注意力,空间注意力将局部空间注意力和全局空间进行简单拼接。
在这里插入图片描述

时间注意力

随着编码器的长度增加,编解码的架构的性能会极速下降,为了解决这个问题,作者使用一个时间注意力机制。
在这里插入图片描述
空气质量预测_第11张图片

外部因素融合

作者将多种外部因素(气象特征、时间特征、POIs等)引入进来,用一个简单高效的组件来融合这些因素,得到向量
在这里插入图片描述

解码器

解码器也是用LSTM来实现的,LSTM单元的两个输入分别是上一时间步的隐藏状态,上一步的输出、外部因素融合的向量、时间注意力的输出三者的拼接。
在这里插入图片描述
最终的预测
在这里插入图片描述

Group-Aware Graph Neural Network for Nationwide City Air Quality Forecasting

核心思想

提出城市群的概念,通过一个映射矩阵,讲不同城市按概率映射到不同的城市群,构建城市群图,以此捕获出城市中的一些隐藏依赖

模型结构

空气质量预测_第12张图片
整个模型采用的编解码结构,编码器和解码器的结构类似,分为自注意力网络,可微分分组网络,组关系编码组件

自注意力网络

使用的就是transfromer中的自注意力
空气质量预测_第13张图片
空气质量预测_第14张图片

可微分分组网络

通过矩阵S将原先城市节点分配到不同的组里,注意这里是按概率分配,即每个节点属于所有组,只是所属某个组的概率不同
空气质量预测_第15张图片
如上图6个节点分到两个组,每个节点属于不同组的概率和为1,
在这里插入图片描述
作者在这里引入了城市节点的地理位置信息
空气质量预测_第16张图片
X i X_i Xi为自注意力的输出,L为城市位置信息,i 表示第i个城市,j 表示第j个组,Z表示组的表示

建模城市群之间的依赖关系

根据得到的组的表示Z,求出各组之间的依赖关系,同时引入时间信息
在这里插入图片描述
R i , j R_{i,j} Ri,j表示城市组i和城市组j之间的关系,根据这个依赖关系进行消息聚合和表示更新
空气质量预测_第17张图片
KaTeX parse error: Expected group after '^' at position 2: Z^̲'_i 表示更新后的城市组的表示

建模城市之间的依赖关系

根据更新后的城市组的表示,获取每个城市基于城市组的表示
在这里插入图片描述
然后融合每个城市基于城市组的表示和原先的表示(自注意力的输出),进行消息聚合和表示更新,得到每个城市一个新的表示
空气质量预测_第18张图片

解码器

解码器和编码器一样,但是去掉了最开始的自注意力机制,输入为编码器的输出,即 X 3 X^3 X3,映射矩阵S(解码器中取消梯度更新)、 关系R都采用编码器的结果不变。从而得出预测结果。

K-means对比

为验证可微分分组网络的效果,与k-means进行对比,对不同城市进行分组,同一颜色属于同一组。
空气质量预测_第19张图片
上图可以看出,k-means不能捕获到海风效应,将南海沿海城市分成不同的城市组,而GAGNN则恰好相反,南海沿海城市同色,说明能捕获到这些隐藏的关联。

数据集分析

数据集是作者自己整理的

  • 模型输入x
    在这里插入图片描述
    (数据量,历史时间长度24小时,节点数,特征维度)

  • 模型输出y
    在这里插入图片描述
    (数据量,预测时间长度6小时,节点数)值即为AQI的值。

  • 时间数据u
    在这里插入图片描述
    (数据量,月、周、时三属性)

  • 连接的城市,即边edge_index
    在这里插入图片描述
    (连接的两城市,边的数量)

  • 边的值edge_w
    在这里插入图片描述

  • 经纬度
    在这里插入图片描述
    (城市数,经纬度)

你可能感兴趣的:(深度学习,时空数据建模,数据挖掘,深度学习)