蒋奇峰 杜景林 周 芸
(南京信息工程大学电子与信息工程学院 江苏 南京 210044)
随着社会经济的发展,工业化和城镇化建设造成的空气污染日益严重,PM2.5作为空气污染物的重要组成部分,其浓度值的不断增加给人们日常的工作生活带来极其严重的困扰[1]。相关研究表明,长期吸入PM2.5颗粒的人群心血管疾病和肺部疾病的发病率会明显增加[2]。除此之外,PM2.5浓度过高所导致的极端雾霾天气在近几年不断出现,给交通、工业生产等方面带来不可忽视的负面影响。在治理PM2.5污染问题上,准确及时地预测PM2.5浓度值是有效控制和预防PM2.5危害的必要前提,因此建立科学、可靠的PM2.5浓度预测模型对有效治理PM2.5污染具有重要的实践价值。
研究人员们针对PM2.5浓度变化具有非线性的特点,提出多种预测模型,包括灰色理论模型[3]、自回归积分移动平均模型[4]、支持向量机模型[5]等。随着人工智能的快速发展,人工神经网络具有较强的自我学习能力和非线性逼近能力,被广泛应用于预测模型构建中,如模糊神经网络模型[6]、径向基神经网络(Radial Basis Function,RBF)模型[7]、BP反向传播神经网络[8]等。但是大量研究表明,传统方法多采用单一网络建立预测模型,如采用单一BP神经网络或模糊神经网络进行建模,在处理高维度数据时容易出现拟合过度、收敛速度慢等问题,对预测结果的精度造成干扰。除此之外,传统的参数训练算法在处理神经网络重要参数时存在寻优能力差、收敛速度慢等问题。
本文提出一种基于量子粒子群算法(QPSO)和RBF神经网络的PM2.5浓度值预测模型,简称QPSO-RBF预测模型。以RBF神经网络为基础模型,选取气温、风速、SO2浓度值等25个与PM2.5浓度值相关的影响因子,使用随机森林算法对这些影响因子进行选择,筛选出与PM2.5浓度值关联度高的部分因子作为最终预测模型的输入因子。利用QPSO算法的全局搜索特性对RBF神经网络中的权值、中心和基宽进行优化。使用该模型对南京市某区域PM2.5浓度时值进行预测,并与改进前预测模型的预测结果相比较。实验结果表明,该模型具有泛化能力强、预测精度高、收敛速度快等优点,能够应用于实际的PM2.5浓度预测中。
径向基神经网络(RBF)是一种由输入层、隐含层、输出层构成的3层静态前向型神经网络、RBF神经网络以逼近理论为基础,其学习能力强,收敛速度快,且具备强大的非线性拟合能力[9]。RBF神经网络拓扑结构如图1所示。
图1 RBF神经网络拓扑结构示意图
RBF神经网络的输入层由输入层神经元组成,主要功能是将输入向量传递到隐含层。隐含层是RBF神经网络处理分析的核心层,其节点数通过减聚类算法确定。隐含层采用径向基函数作为激活函数,高斯函数是最常用的径向基函数,具备易理解、径向对称、表达简单、选择性强等优点,因此RBF神经网络具备较强的非线性拟合能力。当以X(t)=[x1,x2,…,xn]T输入向量时,以高斯函数为激活函数的隐含层输出公式如下:
(1)
式中:i表示第i个隐含层节点;ci表示高斯函数中心;‖X-ci‖表示欧氏距离;σi为高斯函数的方差。
RBF的输出层由线性神经元组成,满足线性函数关系,因此将隐含层的输出结果进行对应的线性变换可得到RBF神经网络最终的输出结果,公式如下:
(2)
式中:Wωi为隐含层与输出层之间的网络权值;f(X)为输出层输出结果。
粒子群算法(PSO)是一种基于群体合作的优化算法,因收敛速度快、优化精度高等优势被广泛应用于参数优化[10]。个体粒子在搜索空间中运动,每次运动得到的个体最优位置与全体最优位置进行交互,不断对自己的位置和速度进行更新,最终得到搜索空间内的最优解。
(3)
(4)
标准PSO算法作为一种常用的优化算法,其缺点也十分明显。由式(3)、式(4)可知,在标准PSO算法系统中,粒子在某时刻的速度和位置与粒子在前一刻的速度和位置相关,这决定了粒子在任意时刻运行时的速度和位置不具备随机性,导致粒子的搜索区域无法覆盖全部可行空间,容易陷入局部极值。因此标准PSO算法并不是一个全局收敛算法,通过标准粒子群搜索到的最优解极有可能是局部最优解并非全局最优解。除此之外,标准PSO算法涉及到的参数过多,寻找最优参数的难度较大。
量子粒子群算法(QPSO)是一种基于DELTA势的新型PSO算法,该算法认为粒子没有移动方向的属性,粒子在运动上遵循量子运动的随机规则,当前粒子运动状态不受前一刻时间的影响。因此具有量子行为的粒子相比较标准PSO算法具有更好的全局搜索性能,能够更好地收敛到全局最优解[11]。
具有量子行为的粒子在运动时的速度和位置具有不确定性,但其运动状态可以通过粒子出现在搜索空间某一点的概率密度函数来表示,该概率密度函数可用波函数的平方来替代。概率密度可以通过求解薛定谔方程得到,粒子的准确位置利用蒙特卡罗模拟得出,其位置方程如下:
X(t+1)=P±β|Pmbest-X(t)|ln(1/μ)
(5)
式中:P=(P1,P2,…,PN)为粒子在可行空间内运动的随机点;t为当前迭代次数;X(t)为当前粒子在t时刻的位置向量;β为收缩-扩张系数,通常取值范围为[1.0,0.5];μ为[0,1]范围内的随机数;Pmbest为全局粒子的平均最优位置,其计算公式如下:
(6)
式中:M为可行空间内粒子群的粒子总数;N为粒子维度;Pi为第i个粒子的个体最优位置。个体粒子最优位置在粒子运动过程中与全局粒子群最优位置进行交互,Pi也随之不断更新,满足如下公式:
(7)
式中:f[Xi(t)]为适应度函数。由此可确定粒子群全局最优位置,即搜索最优解的表达式为:
(8)
式(8)表明,QPSO中粒子状态仅通过位置向量X(t)表示,算法在执行过程中只需要对一个参数进行调整,因此QPSO相比于标准PSO具有更快的收敛速度。
QPSO流程如图2所示。
图2 QPSO流程图
本文首先对采集到的原始气象数据和环境数据进行数据预处理操作,通过随机森林算法对预处理后的相关数据进行特征筛选,筛选出与PM2.5浓度值关联度较高的7个特征指标,由这7个特征构成的新的数据集作为RBF神经网络的输入数据。然后建立待优化的RBF神经网络,并通过QPSO对初始RBF神经网络的主要参数进行优化,优化后的RBF神经网络模型即为最终的PM2.5预测模型。本文提出的RF-QPSO-RBF预测模型的整体结构如图3所示。
图3 RF-QPSO-RBF神经网络预测模型结构框图
2.2.1数据来源与采集
本文所用到的环境数据和气象数据均来自中国气象数据网中的全球地面气象站定时观测资料和全国城市空气质量实时发布平台。部分原始环境数据和气象数据如表1所示。
表1 部分原始环境数据和气象数据
数据采集的时间段为2017年10月6日0时到2018年7月10日23时,采集点为南京市某区气象监测基站,数据每小时更新一次,包括20种气象因素和6种环境因素(含PM2.5指数),分别为气压(PRS)、海平面气压(PRS_Sea)、最高气压(PRS_Max)、最低气压(PRS_Min)、最大风速(WIN_S_Max)、极大风速(WIN_S_Inst_Max)、极大风速的风向(WIN_D_INST_Max)、2分钟平均风向(WIN_D_Avg_2mi)、2分钟平均风速(WIN_S_Avg_2mi)、最大风速的风向(WIN_D_S_Max)、气温(TEM)、最高气温(TEM_Max)、最低气温(TEM_Min)、相对湿度(RHU)、水汽压(VAP)、最小相对湿度(RHU_Min)、降水量(PRE_1h)、水平能见度(VIS)、风力(windpower)、体感温度(tigan) 、PM2.5指数(PM2.5)、SO2浓度(SO2)、NO2浓度(NO2)、CO浓度(CO)、O3浓度(O3)、PM10指数(PM10)。其中对PM2.5浓度值造成影响的因素有25种。
2.2.2数据预处理
本文所使用的环境数据和气象数据由气象部门基站监测设备所采集,由于监测设备在监测过程中存在网络不稳、设备故障等偶然问题,采集到的数据存在缺失值和异常值。缺失值和异常值的存在容易对数据分析造成干扰,因此在使用数据前需要对采集到原始数据进行预处理,提高数据质量。
对数据的预处理主要包括清理重复值、填补缺失值、处理异常值、数据归一化四个步骤[12]。首先对采集到的数据进行重复值排查,对重复采集的数据集进行删除。使用pandas库中的isnull()函数进行缺失值判断,并用fillna()函数对空缺值进行均值填充。对异常值的检测遵循拉依达法则,假设采集到的数据符合正态分布,则有拉依达法则公式如下:
P(|x-u|>3δ)≤0.003
(9)
式中:x表示整体数据;u表示整体数据的期望值;δ表示正态分布的标准差。拉依达法则表明,如果数据值超过3倍标准差,该数据可以当作异常值。对通过拉依达法则检测到的异常值,本文选取更改为均值的方法。由于本文所涉及到的数据种类较多,数据的属性和计量单位差异较大,不进行处理对数据分析的影响较大,因此需要对经过前三步预处理的数据进行归一化处理,归一化后的数据均在0到1之间,消除了数据特征之间的量纲影响,解决了特征指标之间的可比性,归一化公式如下:
(10)
式中:max(x)为数据样本中的最大值;min(x)为数据样本中的最小值;x为数据样本中的任意值。
为了提高预测模型的预测实用性和适用范围,本文所用到的气象数据和环境数据维度较高,但是人工神经网络模型在处理高维数据时,预测精度会受到干扰数据的影响,且容易产生维度灾难等问题。针对以上问题,本文使用随机森林算法对每种数据的重要性进行评估,筛选出最优特征子集,从而实现对数据的降维处理,提高RBF神经网络模型的预测性能。
随机森林算法是一种集成算法,以CART决策树作为森林的构建基础[13]。由于决策树的特性,随机森林不仅可以用于处理分类回归问题,还可以用于处理特征选择问题[14]。在随机森林中,CART决策树的节点划分是通过计算Gini指数来实现的,节点的Gini指数越小,特征划分的效果越理想。Gini指数计算公式如下:
(11)
式中:D表示样本;k表示类数;m表示样本特征的总个数;Pmi表示第i个类的样本子集在整个样本中所占比例。在决策树进行分支后,假设样本D被划分成j个子样本,则划分后的节点Gini指数为:
Gini′(D)=Pm1Gini(D1)+Pm2Gini(D2)+…+
PmjGini(Dj)
(12)
特征的重要程度通过计算节点划分前后Gini指数差值来表示,差值越高,该特征的重要程度越高。特征的重要程度评分通常用VIM(Variable Improtant Measure)表示,VIM的计算公式如下:
VIM=|Gini′(D)-Gini(D)|
(13)
通过式(13)计算随机森林中所有气象特征和环境特征在所有决策树的VIM,对每个树的计算结果进行加权平均处理得到所有特征的重要性排序重要性评估,结果如图4所示。
图4 样本特征变量重要性(VIM)排序
PM10、CO、VIS、SO2、NO2、VAP、O3这7个特征因子对PM2.5浓度值的影响程度较大。为了实现有效降维,避免维度过高给预测模型造成不良影响,精简模型,消除噪声干扰,提高预测效率,本文筛选以上7个特征因子集合为最优特征子集,作为预测模型的输入样本。
影响RBF神经网络性能的因素包括神经元个数和神经网络的主要参数,其中,主要参数为径向基函数扩展常数(基宽)、径向基函数中心(中心)、隐含层和输出层之间的连接权值(权值)。参数的值通常通过学习算法确定,常用的学习算法包括K-means聚类算法、梯度下降法、正交最小二乘法(OLS)等。
K-means聚类算法可通过聚类原始输入数据样本确定径向基函数中心、权值、基宽,该算法具有简单易懂的优点,但无法确定RBF神经网络的隐含层节点数。梯度下降法是通过构造数据样本的实际输出与RBF神经网络输出值之间的最小化目标函数实现对主要参数的调节,但该算法收敛速度较慢,且容易陷入局部最优解。OLS结构简单,实用性较强,能够确定隐含层节点的中心及数目,但不能进行迭代训练,过于依赖样本输入数据,无法确定径向基函数的扩展函数。
本文使用QPSO对RBF神经网络的权值、中心、基宽进行优化,通过RPCL聚类算法设定隐含层节点数。相比较传统优化算法及标准PSO,QPSO在泛化能力、鲁棒性、优化精度上均表现得更为出色。
利用QPSO优化RBF神经网络参数的详细步骤如下:
步骤1初始化QPSO的参数集,包括种群规模、最大迭代次数等,随机设定一组粒子的初始位置和初始速度。
步骤2将神经网络中待优化的参数(主要包括基宽、中心、权值)以编码的方式转化成可以用于QPSO运算的粒子位置坐标,转化后的粒子在可行空间内寻找最优位置的过程即寻找RBF神经网络最优参数的过程。本文主要优化的3种参数为权值、中心、基宽,粒子位置坐标设置为三维坐标,每一个个体位置的坐标代表一组参数。
步骤3构建适应度计算函数,求解粒子适应值,通常将RBF神经网络中的均方误差作为适应度计算函数,公式如下:
(14)
式中:C为隐含层节点;n为粒子群中粒子的个数;yk(t)为神经网络模型输出值;dk(t)为实际样本值。
步骤4根据式(7)、式(8)得出粒子目前全局最优值、个体最优值,并将目前个体最优值的适应值和式(14)得出的适应值作比较,不断更新个体最优值。将更新后的个体最优值与前一时刻的全局最优值比较,更新全局最优值。
步骤5根据式(6)更新粒子状态。
步骤6适应值达到精度要求或者算法达到最大迭代次数时,优化流程结束,若不满足以上两个条件,跳转至步骤2。
QPSO优化RBF神经网络流程如图5所示。
图5 QPSO优化RBF神经网络流程图
对预测模型进行数据实验分析前首先需要设定模型的基本参数,根据样本数据的数据种类及数据规模,设定量子粒子群规模N=50,学习因子c1=c2=2,惯性权重系数w最大为1.2,最小为0.4,由最大数值递减到最小数值,初始最大迭代次数Tmax=100,输入层节点数为7,包括PM10、CO、VIS、SO2、NO2、VAP、O3,隐含层节点数为15,输出层节点数为1。
选取经过随机森林筛选和归一处理的7种数据样本作为预测模型的预备数据,其中前80%作为训练样本,后20%作为测试样本。
分析模型在训练和测试过程中的损失函数趋势,本文分别将训练样本和测试样本作为输入样本集进行100次迭代运算,得到的损失函数变化趋势图如图6所示。
图6 模型损失函数变化曲线图
可以看出,当迭代次数约为40时损失函数完成基本收敛,迭代次数大于该范围数值时,损失值基本不变,且训练样本的损失值和测试样本的损失值函数曲线基本吻合,说明模型具有较好的泛化能力和鲁棒性。
本文选取原始样本中连续10天的数据,作为已训练好的预测模型的输入样本,对未来一天的PM2.5浓度值进行预测,并将得到的预测值与实际浓度值进行比较。为了更好地分析本文提出的RF-QPSO-RBF预测模型的性能,选取其他3个预测模型作为RF-QPSO-RBF的对比模型,分别为RBF模型、RF-RBF模型、RF-PSO-RBF模型。这4种预测模型经过实验得到的预测值与实际值的对比结果如图7-图10所示。
图7 RBF模型预测值与实际值对比
图8 RF-RBF模型预测值与实际值对比
图9 RF-PSO-RBF模型预测值与实际值对比
图10 RF-QPSO-RBF模型预测值与实际值对比
可以看出,相比于其他3个模型,RF-QPSO-RBF模型的预测值和实际值拟合程度更好,拟合曲线吻合度更高。为了更科学准确地分析RF-QPSO-RBF预测模型的性能,本文引入了最佳迭代次数、均方根误差(RMSE)、平均绝对误差(MAE)、平均百分比误差(MAPE)、预测值与实际值的相关系数这5个评价指标,对4种模型分别进行定量的对比分析。其中:RMSE、MAE、MAPE、最佳迭代次数这4个指标的数值越小越好,预测值与实际值的相关系数的数值越大越好。计算结果如表2所示。
表2 不同预测模型的指标比较
由表2可以得出,不同的优化算法对RBF神经网络的预测性能影响显著,QPSO优化算法明显优于PSO优化算法。未经样本特征筛选的模型和经过特征筛选的模型预测精度和收敛速度上也存在明显差别,RF-QPSO-RBF预测模型相比其他3种模型,最佳迭代次数仅为40次,收敛速度更快。RF-QPSO-RBF预测模型在RMSE、MAE、MAPE上的数值最小,相关系数则高达0.92,表明其预测值最接近真实值,预测精度最好,预测误差最小。综上分析,本文的预测模型具有极佳的预测能力,能够应用于PM2.5浓度值的实际预测中。
本文对采集到的气象数据和环境数据进行预处理,对数据中的缺失值、重复值等进行删除补充。由于基础数据包含的数据种类较多且量纲不同,对修正后的数据进行归一化处理,使得不同量纲的数据具有可比性,提高预测模型的计算精度。针对数据特征空间维度过大及相关性低的因子对预测造成的干扰问题,使用随机森林算法对初始的25种数据进行筛选,选择了7个与PM2.5浓度相关性最大的样本指标作为最终的输入样本。预测模型的主体部分选择RBF神经网络,它相比于其他常用神经网络如BP神经网络等,学习能力和拟合能力更强,但传统的训练算法在优化RBF神经网络参数上存在明显不足,导致RBF神经网络存在训练时间和寻优时间较长的缺点。针对以上问题,本文提出采用QPSO优化RBF神经网络,相比于传统的PSO和其他基础训练算法如梯度下降法、聚类算法等,QPSO具有全局搜索性能,能够更准确地寻找到最优参数。本文选取了南京某站点的数据进行预测实验,并将该模型得到的结果与其他3种预测模型进行对比。实验结果表明,RF-QPSO-RBF神经网络泛化能力强、预测精度高、预测速度快,其预测值能够为治理空气污染问题提供参考,具有一定的实际应用价值。
PM2.5浓度值除了与环境因素和气象因素相关,还与部分社会因素相关,如汽车保有量、区域绿化面积等,后续研究工作将更深入地探究PM2.5浓度值预测问题,建立适应性更强、精度更高的预测模型,为PM2.5污染治理方案提供更为可靠的参考依据。