【回归预测-PNN分类】基于粒子群算法群优化概率神经网络算法实现空气质量评价预测附matlab代码

本文提出BAPSO-PNN算法,结合频率粒子群优化调整PNN的光滑因子,以高效评价空气质量。与传统方法如AQI和指数评价法相比,BAPSO-PNN具有高精度、快速收敛和实际应用价值,尤其在处理多变复杂的空气质量因子时表现出优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 内容介绍

针对空气质量级别的影响因子较多,存在实时性、非线性和随机变化的特点,提出一种基于频率粒子群优化概率神经网络的算法(BAPSO-PNN)来对空气质量状况进行评价。PNN网络光滑因子(spread)的取值直接影响到评价的精度和运算速度。文章利用改进粒子群算法能够有效调节全局和局部搜索平衡性的优点,对spread参数进行优化,从而建立BAPSO-PNN算法,并从数据分析的角度来对空气质量状况进行评价,最后与经典算法PSO-PNN的仿真结果进行对比。结果表明,BAPSO-PNN算法具有较高的评价精度、运算和收敛速度,具有较高的实际应用价值。

随着国家现代会、工业化的推进及人们生活水平的提高,空气质量的好坏逐渐成为人们关注的焦点之一。准确合理地对空气质量状况进行评价和预测,为政府制定策略和人们作出生活规划提供建议具有重要意义。

目前,国内外很多学者已经提出很多关于空气质量评价的方法,主要的评价方法有灰色聚类关联分析法、模糊综合评价法、主成份分析法、综合指数评价法等传统方法[1-3],这些评价方法基本上都是依靠着分级标准限度值来判断空气质量状况,并且在评价时都要事先假定和主观设定一些参数,如空气质量指数评价法[4](Air Quality Index,简称 AQI)以及李祚泳[5-6]在此基础上提出的各种指数评价法等。这些传统的方法一方面主观性太强,另一方面易忽略或过分强调主要污染指标在空气质量评价中的作用,导致在评价时各个指标的影响相互抵消或者重复累积,往往使评价结果与事实不符。

与此同时,因人工神经网络(Artificial Neural Network,简称 ANN)的研究是从人脑生理结构出发来研究人的智能行为,模拟人脑信息处理的功能,具有很强的鲁棒性、记忆能力、非线性映射能力以及强大的自学习能力,能够有效的解决非线性、高度不确定的问题,所以神经网络逐渐被众多学者所喜爱并在空气质量评价中得到充分应用[7-9]。但在之前的空气质量研究主要两方面的问题,一是评价因子过少,往往得不到评价指标的全部信息,二是智能算法在运用时容易陷入“早熟”和局部最小值点及神经网络参数选择科学性不强等缺点。

针对以上分析,本文从数据统计分析的角度结合智能算法对空气质量状况进行评价。由于影响空气质量的因子众多主要有SO2、NO2、TSP、CO、O3、PM2.5等6种[10],具有复杂性、非线性、多变性以及各个因子之间的错综复杂关系等特点[11],在研究他们与空气质量状况之间的影响关系时,可能存在多重共线性、过分强调或者降低某一因子的作用,评价结果产生误差,达不到理想效果,因此对自变量的筛选十分必要。

本文通过引进蝙蝠算法的“回声定位”思想,赋予粒子每一个粒子不同的频率进行定位,用以提高粒子的局部搜索能力,以此调节PSO算法全局搜索和局部搜索的平衡能力,能够有效的克服算法迭代后期收敛速度慢、容易陷入局部最优值和“早熟”的缺点,且算法收敛性强。在此基础之上,通过优化由径向基函数网络发展而来的概率神经网络(PNN)中光滑因子,从而提出了一种基于频率粒子群优化概率神经网络(BAPSO-PNN网络)的评价模型,并应用于空气质量状况的预测与评价。此外,在对影响空气质量状况的评价因子自变量进行筛选时,采用多元逐步回归分析法,根据自变量的显著性检验把相关性不强的的变量逐一剔除,确定最优的回归方程,以此消除自变量之间的多重共线性,提高评价结果的准确性。最后结合武汉市天气监测数据进行训练仿真测试,并把BAPSO-PNN算法、PSO-PNN算法以及指数评价模型的训练结果进行对比,仿真结果表明,本文提出的算法训练速度快、结果精度高、误差小,具有较好的鲁棒性,在空气质量预测和评价中具有很高的实际应用价值。

本文是利用蝙蝠的“回声定位[12]”这一思想提出基于频率确定搜索范围的改进粒子群算法(BAPSO),其思路是:在粒子群进化过程中,假设例子是具有回声定位能力的,那么可以赋予每一个粒子不同的频率进行定位,每一个粒子保持向自己及他人学习的状态,在到达一个新位置时,依据脉冲发射率精准定位,提高了粒子的局部搜索能力。它对目标函数信息要求低,问题维数对它的影响较小,表现出了很强的鲁棒性和较高的计算效率。

2 PNN概述

概率神经网络(Probabilistic neural network,PNN)是D.F.Specht博士在1989年首先提出的,是一种基于Bayes分类规则与Parzen窗的概率密度函数估计方法发展而来的并行算法。它是一类结构简单、训练简洁、应用广泛的人工神经网络。在实际应用中,尤其是解决分类问题的应用中,PNN的优势在于用线性学习算法来完成非线性学习算法所做的工作,同时保持非线性算法的高精度等特性;这种神经网络对应的权值就是模式样本的分布,网络不需要训练,因而能够满足训练上实时处理的要求。

PNN网络是由径向基函数网络发展而来的一种前馈型神经网络,其理论依据是贝叶斯最小风险准则(即贝叶斯决策理论),PNN作为径向基网络的一种,适合于模式分类。当分布密度spread的值接近于0时,它构成最邻分类器;当spread的值较大时,它构成对几个训练样本的临近分类器。PNN的层次模型,由输入层、模式层、求和层、输出层共4层组成,其基本结构如图1所示。​

2 仿真代码

<span style="color:#333333"><span style="background-color:rgba(0, 0, 0, 0.03)"><code>function Obj=Objfun(X,p_train,t_train,p_test,t_test)</code><code><span style="color:#afafaf">%</span>% 用来分别求解种群中各个个体的目标值</code><code><span style="color:#afafaf">%</span>% 输入</code><code><span style="color:#afafaf">%</span> X:所有个体的初始spread参数</code><code><span style="color:#afafaf">%</span> P_train:训练样本输入</code><code><span style="color:#afafaf">%</span> T_train:训练样本输出</code><code><span style="color:#afafaf">%</span> P_test:测试样本输入</code><code><span style="color:#afafaf">%</span> T_test:测试样本期望输出</code><code><span style="color:#afafaf">%</span>% 输出</code><code><span style="color:#afafaf">%</span> Obj:所有个体的预测样本的预测误差的范数</code><code>[M,N]=size(X);</code><code>Obj=zeros(M,1);</code><code>for i=1:M</code><code>    Obj(i)=PNNfun(X(i,:),p_train,t_train,p_test,t_test);</code><code>end</code></span></span>

3 运行结果

4 参考文献

[1]葛考, 时贝贝, 徐康耀,等. 基于BAPSO-PNN神经网络算法的空气质量评价研究[J]. 环境工程, 2015(S1):6.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

This add-in to the PSO Research toolbox (Evers 2009) aims to allow an artificial neural network (ANN or simply NN) to be trained using the Particle Swarm Optimization (PSO) technique (Kennedy, Eberhart et al. 2001). This add-in acts like a bridge or interface between MATLAB’s NN toolbox and the PSO Research Toolbox. In this way, MATLAB’s NN functions can call the NN add-in, which in turn calls the PSO Research toolbox for NN training. This approach to training a NN by PSO treats each PSO particle as one possible solution of weight and bias combinations for the NN (Settles and Rylander ; Rui Mendes 2002; Venayagamoorthy 2003). The PSO particles therefore move about in the search space aiming to minimise the output of the NN performance function. The author acknowledges that there already exists code for PSO training of a NN (Birge 2005), however that code was found to work only with MATLAB version 2005 and older. This NN-addin works with newer versions of MATLAB till versions 2010a. HELPFUL LINKS: 1. This NN add-in only works when used with the PSORT found at, http://www.mathworks.com/matlabcentral/fileexchange/28291-particle-swarm-optimization-research-toolbox. 2. The author acknowledges the modification of code used in an old PSO toolbox for NN training found at http://www.mathworks.com.au/matlabcentral/fileexchange/7506. 3. User support and contact information for the author of this NN add-in can be found at http://www.tricia-rambharose.com/ ACKNOWLEDGEMENTS The author acknowledges the support of advisors and fellow researchers who supported in various ways to better her understanding of PSO and NN which lead to the creation of this add-in for PSO training of NNs. The acknowledged are as follows: * Dr. Alexander Nikov - Senior lecturer and Head of Usaility Lab, UWI, St. Augustine, Trinidad, W.I. http://www2.sta.uwi.edu/~anikov/ * Dr. Sabine Graf - Assistant Professor, Athabasca University, Alberta, Canada. http://scis.athabascau.ca/scis/staff/faculty.jsp?id=sabineg * Dr. Kinshuk - Professor, Athabasca University, Alberta, Canada. http://scis.athabascau.ca/scis/staff/faculty.jsp?id=kinshuk * Members of the iCore group at Athabasca University, Edmonton, Alberta, Canada.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值