基于IRBF的草原环境污染物预测模型
2021-09-16马占飞江凤月李克见巩传胜
马占飞,江凤月,李克见,巩传胜
(1.内蒙古科技大学包头师范学院 计算机系,内蒙古 包头 014030;2.内蒙古科技大学 信息工程学院,内蒙古 包头 014010)
0 引 言
近年来,由于外界环境污染,草原环境受到了严重影响,特别是草原沙漠化[1]现象越来越严重。关于污染物预测模型的研究颇多,例如:杨阳等利用与城市空气质量相关的10个因子,进行构建RBF神经网络模型,结果发现RBF网络模型学习速度快且模拟预测的准确性较高[2];王国胜等利用深圳市的大气污染物监测浓度数据和气象资料,分别通过BP网络和RBF网络建立对应的空气质量预测模型,对SO2、NO2、PM10这3种空气污染物的浓度进行预测,发现RBF网络用于环境空气污染物浓度预测有更强的适用性[3];Patricio Perez等利用前馈神经网络对PM2.5每小时浓度进行预测,结果表明,前馈神经网络对污染物的预测有更好的鲁棒性[4];方彦将灰色预测模型和RBF神经网络结合构建组合预测模型,既减少样本数据中随机性,又提高复杂非线性函数逼近能力[5];刘杰利用改进的聚类算法在北京市污染物预测的研究中验证了预测的准确性有明显提高[6]。由于草原环境污染物的数据比较复杂、多样,具有非线性的特点,所以常常利用径向基函数去拟合草原环境污染物的变化,但是传统的RBF网络参数泛化能力弱,且参数初值的计算容易导致预测误差偏高。为了解决RBF参数学习不足的问题,本文将利用改进的最近邻聚类算法和共轭梯度下降法,混合调整RBF的学习参数,构造一种更为稳定的神经网络模型(即IRBF神经网络模型),并与不同模型在预测误差指标、隐含层节点数目、训练时间等综合性能上进行对比,这为神经网络运用于草原污染物预测研究做一个新的探索。
1 RBF神经网络的基本模型
径向基函数(radial basis function,RBF)神经网络是由Broomhead和Lowe提出的一种使用径向基函数作为激活函数的人工神经网络[7]。一般由输入层、隐含层和输出层3层构成。当用于时序逼近时,利用过去时间间隔的数据样本作为RBF神经网络的输入,输出的是目标预测值。RBF神经网络结构模型如图1所示。
图1 RBF神经网络结构模型
第一层为输入层,主要是将输入样本传输给隐含层,它们之间权值为1。假设有N个输入样本Xp,则每个输入样本为n维列向量,即Xp=(x1p,x2p,…,xnp)T,其中p=1,2,…,N。
第二层为隐含层,计算输入矢量与中心样本矢量之间的欧氏距离(RBF)的值。隐含层节点的激活函数都可采用高斯函数,隐含层输出为p个K维列向量,即hp=(h1p,h2p,…,hKp)T,其中K表示RBF神经网络的隐含层节点,所以隐含层第l个神经元的输出为
l=1,2,…,K
(1)
第三层为输出层,通过连接权值对隐含层各层的输出结果进行线性加权求和,即Yp=(y1p,y2p,…,ymp)T。输出层第p个样本中第j个节点的表达式如下
(2)
其中,ωjl是第l个隐含节点到第j个输出节点的连接权值,本文研究中RBF模型的阈值将忽略不计。
2 改进的RBF网络学习算法
2.1 最近邻聚类算法的改进
在传统RBF网络中,大部分采用K-means聚类算法确定聚类中心。传统的K-means聚类算法[8]是一种无导师学习的过程,根据欧氏距离来进行聚类,通过均值迭代把数据对象划分到不同的簇中,同簇内对象的相似度比较高,不同簇间对象的相似度较小。该算法需提前得到聚类中心的数目,以及初始聚类中心,但在实际研究中这些初值我们是无法事先得到的。
通过文献[9]提出的最近邻聚类算法来动态调整隐含层节点的数目,这样能减少对聚类中心初值的依赖,此算法学习时间较短,符合RBF网络快速学习的优点,而且所得到的RBF网络是最优的。但是此算法中取样本输入向量作为聚类中心,这样不具有全局性质,会降低RBF网络的泛化能力,所以本文算法将利用均值的思想对最近邻聚类算法进行改进,并将聚类之后的每个类的平均值作为新的聚类中心,这样动态地调整每个聚类中心的值,更能反映出聚类的全局信息。改进后的最近邻聚类算法步骤如下:
步骤1确定适合的高斯函数的宽度r,定义A(l)、B(l)矢量,前者用来存放各类输出的矢量之和,而后者是计数器,用来统计各类的样本个数,其l为类别数;定义变量nr用来统计隐含层的节点数目。
步骤2计算输入向量和聚类中心的最小欧式距离。
步骤3根据最小欧式距离求解最近聚类中心。
步骤4计算所有样本的聚类中心Cl和隐含层的节点数nr。
2.2 共轭梯度下降法优化权值参数
传统RBF学习算法利用梯度下降法优化权值,容易陷入局部最小值,不利于RBF网络的泛化能力。通过文献[10]可知共轭梯度下降法能改善RBF网络权值参数的不足。优化权值的具体步骤如下:
步骤1根据共轭梯度下降法调节隐含层到输出层的权值ωjl。其中,权值的初始向量为
共轭梯度下降的更新公式如下所示:
当n=1时
ωjl(1)=ωjl(0)+ηgωjl(0)
(3)
当n≥2时
ωjl(n)=ωjl(n-1)+ηgωjl(n-1)+
α[ωjl(n-1)-ωjl(n-2)]
(4)
下降的方向分别为
(5)
gωjl(n-2)
(6)
(7)
其中,η(0<η<1)为下降算法中的学习速率;α是矩量参数,在[0,1]之间取值。
步骤2当满足误差条件MSE≤GOAL或者当n≥N时,则训练结束,否则转到步骤1,再次调整权值进行迭代计算。网络输出的总和均方误差MSE的计算由式(8)求解
(8)
为此,本文将利用改进的最近邻聚类算法,并结合共轭梯度下降法,对RBF神经网络的学习参数(C,ω,r)训练,此改进方法称为IRBF(improve RBF)。
3 预测模型的建立与分析
3.1 实验数据来源
本文以包头市的赛汗塔拉城中草原作为研究对象。城中草原总面积770公顷,其中林地150公顷,草地500公顷,是全国城市中最大的天然草原园区。围绕城中草原的周边有多个国控检测站点,其中距离城中草原最近的站点为包头市环境监测站。因此,本文选取该站点从2017年1月1日至2019年10月31日期间污染物的日均观测数据为实验样本数据。污染物数据来源于中国空气质量在线检测分析平台环境监测总站:https://www.aqistudy.cn/。气象数据来源于中国气象局:http://weather.com.cn/。近3年污染物浓度的部分数据见表1。
说明:表1中各个污染物浓度日均数据是监测站点每天24小时的平均浓度的算术平均值,其中O3是采集的连续8个小时平均浓度的算术平均值。
表1 近3年6种污染物浓度
3.2 数据预处理
归一化处理:从监测站获得的历史数据上看,指标数据不在同一个数量级上,数值大小差异明显,为了解决数据指标的可比性,需要在训练和测试之前,针对样本数据进行归一化处理,通过归一化处理之后的数据才能作为RBF的样本数据。本文采用了最大最小值法完成对污染物和气象数据的归一化操作,在早期的文献研究中,输入数据一般都在[0,1]之间,由于区间的选择要有限度,若区间过大,隐含层节点容易发生饱和,而最近几年大量文献研究发现区间控制在[0.2,0.8]会更好[11],为此,本文实验也选取了这一区间。归一化公式为
(9)
式中:x为各项污染物、气象因子的历史数据,xmax、xmin表示同一个指标不同日期的最大值、最小值,x′表示x归一化后的数据。同时,得到的输出结果需要经过反归一化处理后得出预测的污染物浓度数据。反归一化公式为
(10)
其中,y′为经过网络训练得到的输出数据。y表示对y′的反归一化的输出数据,ymax、ymin表示同一个指标不同日期的最大值、最小值。
3.3 草原环境污染物特征因子的选取
从包头市环境监测站选取影响草原环境恶化的主要污染物为本文的预测目标,其指标为PM2.5、PM10、SO2、O3。通过文献[12]可知,气象参数对污染物浓度预测有着较大的影响,需要分析气象参数和污染物之间的相关性,因此,在构建污染物浓度预测模型时,为了提高预测的准确度,将对各项污染物浓度数据融合气象参数作为输入;同时可知同期的温度、风速和湿度对各项污染物的浓度影响也比较大。对于研究目标的预测,本文需要通过线性相关性筛选出具有代表性的变量(污染物和气象因子)。
包头市环境监测站点通过布置传感器来监测数据,其中有PM2.5、PM10、NO2、SO2、O3、CO、风速、温度、湿度等数据,本文采用线性相关系数分析降维,筛选出和目标指标相关系数较大的因子。线性相关系数分析公式如下
(11)
其中,Var[X]为X的方差,Var[Y]为Y的方差。cov(X,Y)为X与Y的协方差。
通过式(11)计算分析影响预测目标的特征因子,并将这些因子作为IRBF神经网络的输入,能提高预测的精度。结合城中草原监测站点的实验样本数据,利用线性相关系数法筛选影响预测目标的特征因子。预测模型相关因子见表2。
表2 模型相关因子
通过MATLAB对样本数据分析筛选出r(X,Y)大于0.8的特征因子,其结果发现模型因子为1,2,3,4,5,6,19,20,21与当天目标污染物的r(X,Y)都在0.8左右。所以选取以上模型因子为预测模型的输入节点。
3.4 基于IRBF网络的预测模型
本文将前一天污染物因子的日均浓度值PM2.5、PM10、NO2、SO2、O3、CO和当天的风速、温度、湿度作为IRBF网络的输入节点,隐含层节点通过IRBF网络的学习算法进行训练,对当天草原环境下主要污染物PM2.5、PM10、SO2、O3的日均浓度值进行预测。基于IRBF的草原环境污染预测模型如图2所示。
图2 预测模型结构
3.5 预测模型的误差分析
通过监测站点得到的历史数据,经过数据预处理后共1033组数据,其中826组用于神经网络的训练,207组测试数据用来验证模型的泛化能力和预测能力。以MATLAB为仿真平台,对IRBF网络进行训练建模。在IRBF网络训练中,由于宽度常数r能衡量输入数据和已经存在的聚类中心的欧式距离,这样来看r的选取对预测结果有较大的影响,所以宽度常数的确定需要事先给定。通过多次实验与预测误差对比,最后宽度常数取值为r=0.2。
在IRBF网络训练中,目标误差GOAL为0.01,学习速率η为0.05,矩量参数α=0.01,本模型对各污染物浓度测试数据的结果如图3~图6所示。
图3 PM2.5真实值和预测值
图4 PM10真实值和预测值
图5 SO2真实值和预测值
图6 O3真实值和预测值
从图3可知,在IRBF网络训练预测中PM2.5的真实浓度和预测浓度的拟合情况来看,中间样本拟合的趋势基本一致,而个别变化大的样本拟合误差较大,其中PM2.5的拟合误差的绝对值最大为:0.37 ug/m3,最小为0 ug/m3。
从图4可知,在IRBF网络训练预测中PM10的真实浓度和预测浓度的拟合整体趋势一致,其中PM10的拟合误差的绝对值最大为:0.233 ug/m3,最小值为0 ug/m3。
从图5可知,在IRBF网络训练预测中SO2的真实浓度和预测浓度的拟合整体趋势一致,其中SO2的拟合误差的绝对值最大为:0.187 ug/m3,最小为0 ug/m3。
从图6可知,在IRBF网络训练预测中O3的真实浓度和预测浓度的拟合大部分趋势一致,个别变化比较大,其中O3的拟合误差的绝对值最大为:0.363 ug/m3,最小为0 ug/m3。
各污染物指标的预测误差结果如图7所示。
图7 IRBF拟合预测相对误差
从图7可知,主要污染物在预测时间段内预测效果总体保持平稳,个别值变化有些大,但是都在目标误差周围上下波动。PM2.5浓度拟合最大的相对误差为0.0379,最小的相对误差为-0.0011,平均相对误差为1.12%;PM10浓度拟合最大的相对误差为0.0112,最小的相对误差为-0.0052,平均相对误差为0.22%;SO2浓度拟合最大的相对误差为0.0374,最小的相对误差为-0.0061,平均相对误差为0.42%;O3浓度拟合最大的相对误差为0.0351,最小的相对误差为-0.0067,平均相对误差为0.19%;多输出总的平均相对误差MRE为0.49%。通过最终的实验结果可以看出,本文提出的IRBF网络具有很好的预测效果,其泛化能力较强,对多输出节点的预测有很好稳定性。
为了进一步验证IRBF网络模型的有效性,本文将模型1(BP网络模型)、模型2(K-means+梯度下降法RBF)、模型3(IRBF网络模型)的迭代次数和训练时间等进行了比较。3类预测模型的比较结果见表3。
表3 3类模型的预测结果分析
从表3可以看出,模型3比模型1和模型2的训练时间明显缩短,是由于模型3的迭代次数少。模型1预测的误差比较大,是由于其BP网络容易陷入局部最小值,导致预测的泛化能力弱。同时,可以看出模型2预测效果比模型3预测较差,其原因是由于模型2中用K-means算法进行中心参数和宽度常数的学习,在此聚类学习中,需要事先知道隐含层节点的数目,但在实际情况下,不可能提前预知,需要进行不断训练,因此,此方法得到的聚类中心不具有全局性质,不能动态调整,从而影响神经网络的参数学习,导致误差较大;而优化权值是通过梯度下降法调整,其下降算法需要进行初始化权值,其值的选择直接影响了神经网络的训练速度和泛化能力,由此可知,模型2在实际情况中,预测误差较大,泛化能力不理想。通过上表的对比结果可知,模型3对草原环境污染物预测的效果比较好,预测误差明显比前两个模型低。且模型3是利用改进的最近聚类算法,动态调整聚类中心的数目,这样更符合全局样本性质,同时避免权值的初始化随机性;然后再混合共轭梯度下降法对权值进行迭代优化,此下降法既能加快权值参数的收敛速度,又能最大程度的避免陷入局部最小值,此改进只需要确定宽度常数的值,这样的改进更加高效,并且有较好的泛化能力。
4 结束语
近年来,RBF网络已经在环境污染物预测上得到了广泛应用,为环境污染物的防治提供了一定的参考价值。本文针对草原污染物预测中存在的问题,从传统RBF模型的局限性出发,提出了基于IRBF网络的草原污染物预测模型,并通过与多种预测模型进行对比,实验结果验证了本文提出的IRBF网络运用于草原污染物预测中的有效性,并可为预测模型的优化和后期的污染物防治提供依据。但是IRBF网络模型在草原污染物预测中也存在一定的局限性,今后将继续优化宽度系数r等参数,以进一步提高模型的准确性和泛化能力。