基于LSTM神经网络的大连市空气质量指数预测
Prediction of Air Quality Index in Dalian Based on LSTM Neural Network
DOI: 10.12677/AAM.2021.1012457, PDF, HTML, XML, 下载: 406  浏览: 4,477 
作者: 陈虹宇, 孙德山:辽宁师范大学数学学院,辽宁 大连
关键词: 空气质量指数TensorFlowLSTM神经网络相关性分析Air Quality Index TensorFlow LSTM Neural Network Correlation Analysis
摘要: 由于大气环境的复杂性和多变性,用传统方法预测空气质量指数精度较低,本文首先对空气质量指数和主要污染物进行相关性分析,再采用基于TensorFlow的长短期记忆神经网络(LSTM)模型,对大连市的空气质量指数进行预测,并进行误差分析。实验结果表明,与支持向量机模型和BP神经网络模型相比,LSTM神经网络模型预测空气质量指数的精度较高。
Abstract: Due to the complexity and dynamics of atmospheric environment, the accuracy of air quality index prediction by traditional method is low. Firstly, this paper analyzes the correlation between air quality index and main pollutants. Then, the long and short-term memory neural network model based on Tensor Flow is used to predict the air quality index of Dalian and the error analysis id made. The experimental results show that LSTM neural network model is more accurate than support vector machine model and BP neural network model in predicting air quality index.
文章引用:陈虹宇, 孙德山. 基于LSTM神经网络的大连市空气质量指数预测[J]. 应用数学进展, 2021, 10(12): 4304-4311. https://doi.org/10.12677/AAM.2021.1012457

1. 引言

国家实施振兴东北老工业基地政策已久,辽宁沿海经济带蓬勃发展,大连市经济社会持续快速发展,主要污染排放量迅速增加,城市机动车尾气污染问题更加突出,大连市生态环境保护面临巨大挑战。因此,精准预测空气质量,加强空气质量监测,对城市环境建设、引导人们生产生活、改善空气污染有重要的意义。

空气质量指数(AQI)是评估空气质量的重要指数,传统的AQI预测模型主要采用计量经济学方法和机器学习。牟敬锋等人 [1] 使用ARIMA模型,对深圳市空气质量指数进行预测,取得了良好的预测效果;常恬君等人 [2] 构建了Prophet-随机森林模型,解释性强且精度高,有效预测了上海市空气质量指数;俆乔王等人 [3] 建立了MAE-SVM模型,显著提高了预测速度;尹琪等人 [4] 将遗传算法与支持向量机结合,构建GA-SVM模型,预测效果优于单个模型。随着神经网络的兴起,王云中 [5] 使用LSTM网络预测西安市PM2.5浓度;张超利 [6] 建立了基于改进粒子群优化算法的神经网络,预测河南省17市的空气污染物浓度;郑洋洋等人 [7] 运用基于Kera的LSTM模型,对太原市的空气质量指数进行预测,提高了预测的精度;陈岑等人 [8] 提出一种基于信息增益和LSTM神经网络的空气质量指数混合预测方法,利用信息增益减少输入变量的数量,该IG-LSTM模型具有更低的预测误差和损失值。

与计量经济学、机器学习相比,深度学习采用无监督学习进行逐层特征提取,具有更强大的特征表达能力,也能提高数据预测精度,缓解过拟合问题,具有更强大的泛化能力 [9]。作为深度学习中最有效的模型之一,LSTM神经网络能有效地解决梯度消失和梯度爆炸的问题,在手写体识别等方面发挥了巨大的作用,因此,本文采用基于TensorFlow的LSTM神经网络模型来预测大连市空气质量指数。

2. 理论介绍

2.1. 空气质量指数

空气污染指数(AQI)是将空气中多种不同污染物的具体浓度通过某种计算方法转化为单一的数值,用来衡量空气质量状况。参与空气质量指数计算的六种污染物分别为PM2.5、PM10、NO2、SO2、O3和CO。AQI的计算公式:

IAQI P = IAQI H IAQI L C P H C P L ( C P C P L ) + IAQI L

AQI = max { IAOI 1 , IAQI 2 , IAQI 3 , , IAQI 6 }

其中, IAQI P 为污染物P的空气质量分指数, C P 为测量的污染物浓度, C P H 表1中与 C P 接近的该污染物浓度高位值, C P L 表1中与 C P 接近的该污染物浓度低位值, IAQI H C P H 对应的 IAQI P IAQI L C P L 对应的 IAQI P ,P = 1,2,3,4,5,6,对应六种污染物。

Table 1. System concentration limits for air pollutants

表1. 空气污染物浓度限值

2.2. LSTM神经网络基本原理

长短期记忆神经网络(LSTM)是循环神经网络(RNN)的一种特殊形式,它们都具有递归的特性,也可以说,LSTM神经网络是RNN的改进,它独特的具有记忆和遗忘模式 [7]。LSTM的核心概念在于单元状态(cell state)和“门”结构,有三种类型的“门”结构:遗忘门(forget gate)、输入门(input gate)和输出门(output gate) [10]。LSTM神经网络的内部展开结构如图1所示。

Figure 1. The internal structure of LSTM neural network

图1. LSTM神经网络内部展开结构

遗忘门决定应该丢弃或保留哪些信息,来自上一个隐藏状态的信息 h t 1 和当前输入的信息 x t 同时传递到sigmoid函数中,输出值 f t 介于0和1之间,越接近0代表越该被丢弃,越接近1代表越该被保留。 f t 的计算公式:

f t = σ ( W f [ h t 1 , x t ] + b f )

其中, W f b f 分别是遗忘门的权重矩阵、偏置向量。

输入门用于更新细胞状态,将上一个隐藏状态的信息 h t 1 和当前输入的信息 x t 传递到sigmoid函数中来判断要更新哪些信息,输出值 i t 介于0和1之间,越接近0代表越不重要,越接近1代表越重要。还要将 h t 1 x t 传递到tanh函数中,创造一个新的向量 C t ˜ i t C t ˜ 的计算公式:

i t = σ ( W i [ h t 1 , x t ] + b i )

C t ˜ = tanh ( W c [ h t 1 , x t ] + b c )

其中, W i W c 分别是输入门、单元状态的权重矩阵, b i b c 分别是输入门、单元状态的偏置向量。

将遗忘门的输出和输入门的输出进行线性运算,更新t时刻的细胞状态 C t

C t = f t C t 1 + i t C t ˜

输出门用来确定下个隐藏状态的值,将上一个隐藏状态的信息 h t 1 和当前输入的信息 x t 同时传递到sigmoid函数中,得到输出值 o t ,再将细胞状态 C t 传递给tanh函数,使其与相乘 o t ,最终确定隐藏状态应该携带的信息 h t o t h t 的计算公式:

o t = σ ( W o [ h t 1 , x t ] + b o )

h t = o t tanh ( C t )

其中, W o b o 是输出门的权重矩阵、偏置向量。

3. 模型建立

3.1. 数据来源

本文使用的数据来自真气网(https://www.aqistudy.cn/historydata/)发布的大连市空气质量历史数据,采样时间是2018年1月1日至2021年9月30日,采样频率为一天一次,由于仪器故障等原因使得2天的数据缺失,缺失值在整个数据集中占的比例非常小,可以直接删除,删除缺失值后,共计1367组数据。数据信息包含大连市每日的AQI、PM2.5、PM10、NO2、SO2、O3和CO的浓度,这里列举前6天数据,如表2所示。

Table 2. Air quality index and concentration of main pollutants in Dalian (part)

表2. 大连市空气质量指数和主要污染物浓度(部分)

3.2. AQI和污染物间的相关性分析

本文使用python中的相关性分析函数对空气质量的相关数据进行相关性分析,并画出相关性分析热力图,如图2所示。可以直观的看出,大连市的AQI与PM2.5、PM10、NO2、SO2、O3、CO均呈正相关,AQI与PM2.5的相关性高达80%,AQI与PM10的相关性高达77%。因此,为了有效改善大连市的空气质量,相关部门可以从治理PM2.5和PM10入手,加大管控和治理的力度,降低空气中PM2.5和PM10的浓度,从而改善空气质量。

从相关性分析热力图也可以得出,AQI与6个污染物浓度之间有一定的关联,因此,本文将前面时刻的6个污染物浓度和AQI作为模型的输入特征,下一时刻的AQI作为模型的输出。

Figure 2. Correlation analysis thermal diagram

图2. 相关性分析热力图

3.3. 实验设计及结果分析

3.3.1. 数据处理

本文选取2018年1月1日至2021年6月30日的数据为训练集,共1276组数据,选取2021年7月1日至2021年9月30日的数据作为测试集,共91组数据。由于数据的量纲不同,避免因输入数据的数量级差别较大,而造成预测的误差较大,因此,本文采用线性函数归一化(Min-Max scaling)的方法,将原始数据转化到[0, 1]的范围,归一化公式:

X norm = X X min X max X min

其中,Xnorm是归一化后的数据,X为原始数据,Xmin、Xmax分别为原始数据集的最小值、最大值。

3.3.2. LSTM神经网络的构建

本文实验采用python3.7编程实现。构建的LSTM网络结构如图3所示,由两个LSTM层,Dropout层和Dense层构成,第一个LSTM层包括个40节点,第二个LSTM层包括个50节点,在每个LSTM层后加入Dropout层。批处理参数batch_size设置为32,时间步长time_step设置为10,迭代次数epoch为100,采用Adam算法进行优化,学习率设为0.01。

Figure 3. Structure of LSTM neural network

图3. LSTM神经网络结构

增加LSTM层可以降低误差,提高精度,但是过多的LSTM层也会使网络更加复杂,模型难以收敛,甚至出现过拟合的现象。Dropout是指在深度神经网络的训练过程中,按照一定的概率将神经网络单元暂时丢弃,可以有效的防止过拟合的问题。Dense层能够对高维信息进行降维处理,同时保留有用的信息。

4. AQI预测及结果分析

4.1. AQI预测

根据搭建的LSTM模型对测试集进行预测,再将得到的预测值进行反归一化处理,从而得到真实值和预测值的拟合曲线,其中,红色曲线代表真实值,蓝色曲线代表预测值,如图4所示。

Figure 4. The fitting curve of real value and predicted value based on LSTM neural network model

图4. 基于LSTM神经网络模型的真实值和预测值拟合曲线

为了进行比较,本文还采用SVM模型、BP神经网络模型进行实验,得到的拟合结果如图5图6所示。

Figure 5. The fitting curve of real value and predicted value based on SVM model

图5. 基于SVM模型的真实值和预测值拟合曲线

Figure 6. The fitting curve of real value and predicted value based on BP neural network model

图6. 基于BP神经网络模型的真实值和预测值拟合曲线

4.2. 评价指标

建立模型拟合效果的评价指标来对比所建立的模型的优劣,包括均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)。

RMSE = 1 m i = 1 m ( y i y i ^ ) 2

MAE = 1 m i = 1 m | y i ^ y i |

MAPE = 1 m i = 1 m | y i ^ y i y i | × 100 %

其中,m表示预测值的个数, y i 表示真实值, y i ^ 表示真实值。

LSTM神经网络模型、SVM模型和BP神经网络模型的评价指标如表3所示。可以看出,SVM模型和BP神经网络模型对AQI的预测效果相似,SVM模型稍优于BP神经网络模型,但LSTM模型的各项评价指标都明显的优于SVM模型和BP神经网络模型。

Table 3. Evaluation indexes of each model

表3. 各模型的评价指标

5. 结束语

空气质量是人们普遍关心的问题,为了提高空气质量指数的预测精度,本文采用基于TensorFlow的LSTM神经网络对大连市的空气质量指数进行预测,LSTM神经网络可以有效解决梯度消失或梯度爆炸问题,也可以解决传统循环神经网络长时依赖问题。同时,采用SVM模型、BP神经网络模型与之作对比,结果表明,SVM模型和BP神经网络对空气质量指数的预测效果都不理想,而LSTM模型的均方根误差、平均绝对误差和平均绝对百分比误差都优于SVM模型和BP神经网络,拟合效果更好,因此,用LSTM神经网络预测大连市空气质量指数是可行的。

参考文献

[1] 牟敬锋, 赵星, 樊静洁, 严宙宁, 严燕, 曾丹, 罗文亮, 范志伟. 基于ARIMA模型的深圳市空气质量指数时间序列预测研究[J]. 环境卫生学杂志, 2017(2): 102-107+117.
[2] 常恬君, 过仲阳, 徐丽丽. 基于Prophet-随机森林优化模型的空气质量指数规模预测[J]. 环境污染与防治, 2019, 41(7): 758-761+766.
[3] 俆乔王, 胡红萍, 白艳萍, 王建中. 基于MEA_SVM空气质量指数预测[J]. 重庆理工大学学报(自然科学), 2019, 33(12): 150-155.
[4] 尹琪, 胡红萍, 白艳萍, 王建中. 基于GA-SVM的太原市空气质量指数预测[J]. 数学的实践与认识, 2017(12): 113-120.
[5] 王云中. 基于神经网络的PM_(2.5)浓度预测研究与实现[D]: [硕士学位论文]. 西安: 西安电子科技大学, 2018.
[6] 张超利. 基于神经网络的河南省空气污染预测研究[D]: [硕士学位论文]. 郑州: 华北水利水电大学, 2019.
[7] 郑洋洋, 白艳萍, 侯宇超. 基于Keras的LSTM模型在空气质量指数预测的应用[J]. 数学的实践与认识, 2019(7): 138-143.
[8] 陈岑, 田晓丹, 武文星. IG-LSTM模型在空气质量指数预测中的应用[J]. 华北科技学院学报, 2020, 17(4): 85-91.
[9] 闫洪举. 基于深度学习的金融时间序列数据集成预测[J]. 统计与信息论坛, 2020, 35(4): 33-41.
[10] 刘恒. 基于神经网络模型的股票时间序列预测研究[D]: [硕士学位论文]. 兰州: 兰州交通大学, 2019.