2. 中国科学院 沈阳计算技术研究所, 沈阳 110168;
3. 辽宁省沈阳生态环境监测中心, 沈阳 110000;
4. 中国医科大学附属第四医院, 沈阳 110032;
5. 沈阳市第二十二中学, 沈阳 110000
2. Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China;
3. Shenyang Ecological Environment Monitoring Center of Liaoning Province, Shenyang 110000, China;
4. The Fourth Affiliated Hospital of China Medical University, Shenyang 110032, China;
5. Shenyang Twenty-Second Middle School, Shenyang 110000, China
改革开放以来, 我国大力发展工业、制造业, 经济发展的同时, 带来的环境问题也不容忽视. 近年来, 空气质量状况越发得到人们的密切关注, 2017年我国空气污染状况以华北地区为中心呈放射状分布, 空气质量直接影响到人类的日常生活[1]. 绿水青山就是金山银山, 地处东北老工业基地的沈阳市也面临着同样严峻的空气质量问题. 空气质量的精准预测能够为空气质量的治理提供科技支撑, 各项污染物浓度数据是计算空气质量指数进而衡量空气质量的重要依据.
空气质量数值模式是一种通过大气物理化学方式来模拟污染物之间的相互反应、传输和转化过程, 进而预测空气质量的方法. 空气质量模式CMAQ和CAMx是依据大气物理化学方法来模拟污染物的扩散和反应过程进而来预测空气质量的方法. 从最初的采用简单线性机制的第一代空气质量模式, 发展到考虑了物质之间的互相作用和相互转化的第三代空气质量模式, 预测精度不断提高. 但是由于空气质量模式受污染源清单数据, 气象数据, 光解文件等输入文件的影响, 输入文件的质量会影响预测结果误差大小. 因此本文提出了一种集成CMAQ和CAMx两种单一空气质量模式结果的方法, 在单一数值模式的基础上降低误差, 提高预测准确率. 司志娟等[2]将灰色GM(1, 1)模型与人工神经网络模型组合, 对天津市2009到2010的PM10、SO2、NO2进行预测, 预测相对误差在5%以下. 张恒德等[3]利用BP神经网络集成了CUACE、BREMPS和WRF-Chem等3个环境模式预报产品, 2015到2016年在北京和石家庄地区污染物浓度和实测值的均方根误差比各单一模式降低了15%以上. 梅贵琴[4]利用Elman神经网络根据以往臭氧浓度数据预测未来臭氧浓度值, 绝大多数的数据可以达到小于0.2的相对误差. 神经网络具有预测未来非线性数据的能力, 应用于各个地区空气质量预测方面取得了良好的效果. 考虑到过往短时间段内空气质量会对未来空气质量产生影响, 而Elman神经网络能够增加对过往数据的敏感性. 因此本文提出将Elman神经网络用于集成CMAQ和CAMx两种数值模式的预测结果, 在单一数值模式基础上提高空气质量预测结果的准确度.
1 Elman神经网络Elman神经网络是一种反馈型神经网络, 由输入层, 隐含层, 承接层, 输出层四层组成, 承接层是从隐含层获得反馈信息, 然后再输入到隐含层, 以此来记忆隐含层神经元的上一时刻的输出, 这样的网络结构可以增强对过往数据的敏感度[5-8]. Elman神经网络结构如图1所示. 其中, 输入向量是r维的x向量,
$ y\left( t \right) = g\left( {f\left( t \right){w_{\left( {k,j} \right)}}} \right) $ | (1) |
隐含层输出为:
$ u\left( t \right) = f\left( {x\left( t \right){w_{\left( {i,k} \right)}} + {x_c}\left( {t - 1} \right){w_{\left( {s,k} \right)}}} \right) $ | (2) |
承接层输出为:
$ {x_c} = h\left( {u\left( {t - 1} \right)} \right) $ | (3) |
Elman神经网络模型的算法学习流程, 首先要初始化各层节点的权值, 然后输入训练数据, 计算各层的输入输出值. 其中将隐含层上一轮的输出, 输入到承接层, 数据经过承接层处理后在本轮和输入层数据一同输入到隐含层. 最后根据输出层的结果和误差函数计算误差, 若误差的大小满足要求或训练次数达到最大, 则停止训练, 否则更新权值, 进入下一轮训练.
误差函数为:
$ E\left( t \right) = \dfrac{1}{2}{\left( {y\left( t \right) - {y_a}\left( t \right)} \right)^{\rm T}}\left( {y\left( t \right) - {y_a}\left( t \right)} \right) $ | (4) |
式(4)中,
根据误差逆向传播算法, 得到:
$ \Delta {w_{\left( {k,j} \right)}} = {\eta _3}{\delta _j}{u_k}\left( t \right) $ | (5) |
$ \Delta {w_{\left( {i,k} \right)}} = {\eta _2}{\delta _k}{x_{cs}}\left( t \right) $ | (6) |
$ \Delta {w_{\left( {s,k} \right)}} = {\eta _1}\displaystyle\sum\limits_{k = 1}^n {\left( {{\delta _j}{w_{\left( {k,j} \right)}}} \right)\dfrac{{\partial {x_{cs}}\left( t \right)}}{{\partial {w_{\left( {s,k} \right)}}}}} $ | (7) |
其中,
${\delta _j}{\rm{ = }}\left( {{y_j}\left( t \right) - {y_{aj}}\left( t \right)} \right){{g'}_j}\left( . \right) $ | (8) |
$ {\delta _k}{\rm{ = }}\displaystyle\sum\limits_{j = 1}^m {\left( {{\delta _j}{w_{\left( {k,j} \right)}}} \right){{f'}_k}\left( . \right)} $ | (9) |
$ \dfrac{{\partial {x_{cs}}\left( t \right)}}{{\partial {w_{\left( {s,k} \right)}}}} = {{f'}_k}\left( . \right){x_{cs}}\left( {t - 1} \right) + \alpha \dfrac{{\partial {x_{cs}}\left( {t - 1} \right)}}{{\partial {w_{\left( {s,k} \right)}}}} $ | (10) |
学习算法伪代码如算法1所示.
算法1. 学习算法. 训练集
1. 初始化Elman神经网络中所有连接权重和阈值.
2. for all
3. 根据式(1)~式(3)计算每一层的输出值;
4. 根据式(8)计算输出层神经元梯度项;
5. 根据式(9)计算隐含层神经元梯度项;
6. 根据式(5)~式(7)更新权值;
7. if(达到停止条件)
8. break;
9. end if
10. end for
2 实验分析本文数据集来源为空气质量数值模式CMAQ和CAMx输出的辽宁省沈阳市6项常规污染物(包括PM2.5、PM10、SO2、CO、NO2、O3)的浓度结果, 以及在中国空气质量在线监测分析平台所下载的6项常规污染物的实测数据. 本文中的数据集的大小为2019年1月到2019年6月共181天, 起报时刻为20时, 预报时长为未来4天的6项常规污染物24小时平均浓度数据, 其中选取30条数据用作测试数据来评价模型的效果, 剩余数据用于训练模型.
2.1 数据预处理空气质量模式受气象数据, 地理数据, 以及污染源清单数据等输入文件的影响, 会出现数据缺测情况, 首先要去除缺测值, 减少缺测数据对模型训练的影响.
为了减少不同量纲对后续数据分析和模型训练造成影响, 需要先采用Min-Max线性归一化方法对数据进行归一化处理, 将原数据映射到(0, 1)之间, 公式如式(11)所示:
$ {x_{\rm norm}} = \dfrac{{x - {x_{\min }}}}{{{x_{\max }} - {x_{\min }}}} $ | (11) |
其中,
实验过程如图2所示, 首先运行空气质量模式CMAQ和CAMx, 对得到的空气质量模式预测结果去除缺测数据处理, 然后将空气质量模式预测结果和实测数据进行归一化处理, 处理后的数据作为Elman神经网络的输入, 初始化各层结点的权值, 进行训练.
由于本算法需要结合CMAQ和CAMx两个模型优化预测值, 所以把输入层节点数设置为2, 输出层节点数设置为1, 经过敏感性实验得到隐含层节点数设置为10时效果最佳; 输出层激活函数设置为输入和输出相等的Purelin函数; 隐含层激活函数设置为Sigmoid函数, 其公式如下所示:
$ f\left( x \right) = \dfrac{1}{{1 + {e^{ - x}}}} $ | (12) |
当训练误差达到最小(0.01)或达到最大训练轮数(10 000)停止训练. 将测试数据输入到训练好的模型中, 得到模型输出结果, 对模型输出结果进行反归一化处理, 得到Elman神经网络模型优化的CMAQ和CAMx预测结果.
2.3 评价指标本文使用均方根误差(RMSE), 平均绝对误差(MAD), 和平均绝对百分比误差(MAPE), 来定量分析模型结果的精度[11-14]. 3个评价指标公式如下:
$ RMSE = \sqrt {\dfrac{1}{N}\displaystyle\sum\limits_{i = 1}^N {{{\left( {{y_{ai}} - {y_i}} \right)}^2}} } $ | (13) |
$ MAD = \dfrac{1}{N}\displaystyle\sum\limits_{i = 1}^N {\left| {\left( {{y_{ai}} - {y_i}} \right)} \right|} $ | (14) |
$ MAPE = \dfrac{{\displaystyle\sum\limits_{i = 1}^N {\frac{{\left| {{y_{ai}} - {y_i}} \right|}}{{{y_{ai}}}}} }}{N} \times 100\% $ | (15) |
其中,
图3是对比实验结果图, 横坐标表示时间序列, 纵坐标表示污染物浓度, 从图3中可以看到, CMAQ和CAMx两个单一数值模式的SO2和PM2.5预测结果偏高, NO2预测峰值时结果偏高, PM10和CO预测趋势和实测值大致相同, 个别地方相差较大; 而经过Elman神经网络优化的预测结果与单一模式相比较更为接近实际值.
空气质量模式CMAQ, CAMx和基于Elman神经网络集成后结果的评价指标对比情况, 如表1所示. 综合表1和图3我们可以看到, 就沈阳市的预报结果而言, 两种单一模式对于6项污染物的预测结果都有不同程度的误差. 而集成后的6项污染物预测结果的预测误差有所下降, 综合对比3个评价指标可以看到PM2.5和SO2的MAD和RMSE都有下降, MAPE有大幅度下降, 其中PM2.5的MAPE下降了50%–88%, SO2的MAPE下降了110%–209%; 而PM10, CO, NO2和O3的MAD和RMSE有小幅度下降或持平, MAPE都有所下降. 总体来说, 基于Elman神经网络优化两种单一空气质量模式的结果相比于单一空气质量模式的预测精度和稳定性有所提高.
3 结论
本文针对空气质量预测提出了在CMAQ和CAMx两个空气质量数值模型基础上, 通过Elman神经网络集成两个数值模式结果的方法. 实验结果表明, 本文提出的方法结合了两种模型的优势, 提高了预测精度和稳定性, 降低了单一空气质量数值模式的预测误差, 从而能够为后续空气质量预报以及空气质量控制提供数值依据.
[1] |
谷金科. 中国城市空气质量影响因素研究[硕士学位论文]. 太原: 山西财经大学, 2019.
|
[2] |
司志娟. 基于灰色神经网络组合模型的空气质量预测[硕士学位论文]. 天津: 天津大学, 2012.
|
[3] |
张恒德, 张庭玉, 李涛, 等. 基于BP神经网络的污染物浓度多模式集成预报. 中国环境科学, 2018, 38(4): 1243-1256. |
[4] |
梅贵琴. 改进的Elman神经网络和网络参数优化算法研究[硕士学位论文]. 重庆: 西南大学, 2017.
|
[5] |
李丹. 基于神经网络的北京联通GSM话务量预测[硕士学位论文]. 北京: 北京邮电大学, 2009.
|
[6] |
林春燕, 朱东华. 基于Elman神经网络的股票价格预测研究. 计算机应用, 2006, 26(2): 476-477, 484. |
[7] |
韩旭明. Elman神经网络的应用研究[硕士学位论文]. 天津: 天津大学, 2006.
|
[8] |
Zhang Y, Wang XP, Tang HM. An improved elman neural network with piecewise weighted gradient for time series prediction. Neurocomputing, 2019, 359: 199-208. DOI:10.1016/j.neucom.2019.06.001 |
[9] |
夏杨. 基于改进型Elman神经网络的电力负荷预测[硕士学位论文]. 西安: 西安理工大学, 2017.
|
[10] |
周志华. 机器学习. 北京: 清华大学出版社, 2016.
|
[11] |
江琪, 王飞, 张恒德, 等. 北京市PM2.5和反应性气体浓度的变化特征及其与气象条件的关系
. 中国环境科学, 2017, 37(3): 829-837. |
[12] |
闫以聪. 回归方程与神经网络在数值预测方面的对比研究综述. 数理医药学杂志, 2007, 20(1): 66-69. |
[13] |
姚文强. 基于数值预报的空气质量预测模型的研究[硕士学位论文]. 杭州: 浙江理工大学, 2017.
|
[14] |
Rotich NK, Backman J, Linnanen L, et al. Wind resource assessment and forecast planning with neural networks. Journal of Sustainable Development of Energy, Water and Environment Systems, 2014, 2(2): 174-190. DOI:10.13044/j.sdewes.2014.02.0015 |