赞
踩
伴随着信息技术特别是人工智能技术的发展,大数据、深度学习等技术被用于多个工程领域,开创了人类认识宇宙的新纪元。其中,人工神经网络(Artificial Neural Network-ANN)作为人工智能技术的优秀代表,已被成功应用于多个预报领域,取得了意想不到的效果。因此,将ANN用于空气质量预测预报成为许多学者的研究方向。但由于影响PM2.5的因素较多,合理选择影响因素是提高ANN预报精度的重要工作。本文基于Matlab编程,将改进的BP神经网络用于PM2.5的预报;在此基础上,对CO、NO2、O3、PM2.5、PM10和SO2六个环境空气污染物组成的输入数据集进行了因子筛选,通过优选比较,确定了由NO2、O3和PM2.5三种污染物组成的输入数据集的预测效果最好,能将PM2.5预测精度(预测值与实测值的相关系数R)提高到0.59。为基于人工智能的空气质量预报研究提供了有利证据。
关键词:人工神经网络 Matlab 空气质量 预测
在国际上,Yi等[31]创建出用在预估北美某个工业场地的臭氧浓度预估的多层感知模型。这个模型使用在早上臭氧浓度、每天最高气温、二氧化碳等方面的浓度的预估。这个模型应用早晨的臭氧浓度,对其上限实施预估,得到的信息比有关模型要好。新世纪之初,在安德烈塔河口创建了三层神经网络,对拉文纳工业区一小时后地表的二氧化硫浓度实施了预估。这个模型之中包括了10个传入神经元,具备所测物质的浓度、风速等数值。传出的信息是二进制[35]。近些年,我会开始注重此类事项的研讨。国际上研讨人工神经网络在降雨预报以及阳光辐射预警之中的使用。但是,在国内,因为发展速度较慢,加之软硬件上出现的局限,对其开展的研讨需要实施更新。伴随这几年研讨的持续加深,所创建的模型的精度、使用等层面的水准均有较大水准的提升。尽管各类方式在计算量、精度、可行性等方面都有各自的优点,但都存在一些缺点,并有具体的应用条件。因此,在这一领域的研究中,根据具体情况选择合适的方法显得尤为重要。
人工神经网络是一类把人体大脑神经网络当成参考,达成某种功能的理论。其把人的中枢神经当成模型,以模拟中枢神经网络构造以及性能的信息整理系统[37]。在后续内容之中把这个含义成为神经网络,其是依靠众多的人工神经元相连实现运算的。其在学习水准上有十分强烈的特征,和及其学习的其余方式有相同,神经网络已经被使用在应对在各个方面的问题之中。
神经网络的基础单位是神经元,包含了传入、网络权值、下限值、传出等部分,见下图的内容。其中的代表神经元的r传入,则是网络权重,n是传入信号以及单元的加权和,f是神经元的传递函数或激励函数。具备R维传入S神经元的有代表性的单层神经网络模型内容见图3.1。众多的不复杂的神经元彼此相连产生单个神经网络。形成其中的最后传出的网络层就是传出层,其与中间层就是隐藏层。
图3.1 神经网络的构成及模型
对人的大脑实施研究之后导致了人工神经网络含义的出现。在其中,神经元是人为部署出来的,它们连在一起,产生了一种和生物神经网络相似的产物。
神经网络这个词汇通常指的是用在统计学、认知心理学以及AI之中的模型,在管控人体大脑的神经网络则是理论与计算神经学科。
从过去的时间历程实施分析,神经网络模型的应用标志着二十世纪八十年代后期从高度符号化的人工智能(以用条件规则表达知识的专家系统为代表)向低符号化的机器学习(以用动力系统的参数表达知识为代表)的转变。
等(1943)[2]打造了某个以数学、阈值逻辑算法为基准的神经网络运算模型。其把神经网络的研讨概括为两个路线。其中一个是注意大脑的生物变化问题,此外的则是注重神经网络在AI之中的发展。在上个实际40年代晚期,赫布发布了一种以神经为基础的能够塑造的学习设定,现在也就是同名的学习方式。
Nathaniel Rochester(1956)等人[4]在IBM704计算机上模拟抽象神经网络的行为。弗兰克·罗森布拉特创造了感知器。其是一类模式辨别算法,使用简便的加减法达成了两层的运算学习网络。(1975)创建了反向传播算法,神经网络才能整理这个往复的过程。其得知了神经网络之中的两个重点问题。
第一个是基本感知器不能处理XOR循环。第二个重要问题是计算机没有足够的能力来处理大型神经网络所需的长计算时间。在计算机变得更强大之前,神经网络发展缓慢。
随后的一个重点的前进方向是反向传播算法。这个方式可以切实地解开XOR事项,在更大范围上解开多层相关的锻炼难题。
在上个世纪80年代中期,分布式并行整理(当时称为连接主义)开始流行。David E. Rumelhart和James McClelland的教材对于联结主义在计算机模拟神经活动中的应用提供了全面的论述。
神经网络传统上被认为是大脑中的神经活动的简化模型,虽然这个模型和大脑的生理结构之间的关联存在争议。人们不清楚人工神经网络能多大程度地反映大脑的功能。
支持向量机和其他更简单的方法(如线性分类器)在机器学习领域逐渐比神经网络更受欢迎,但是在2000年代后期,深度学习的出现使人们重新对神经网络产生了兴趣。2006年以后,已经被使用在打造生物物理模拟以及神经形态运算的相关装置。近些年的研讨证实,纳米部件用在大量的主成分解析以及卷积神经网络之中能发挥十分之大的作用。
神经网络的类别十分丰富。其能够从某种视角对生物神经体系进行各种层级的抽象以及模拟。从功能特征、学习特点方面进行划分,具体包含了感知、线性、BP神经网络、反馈网络等[37]。静态以及动态网络也能够依据中间层有没有出现延迟或回馈实施类别的划分。前向网络指的是神经元在网络之内的层级排列,所有神经元只和前一层神经元连在一起。顶层是传出层,底层是传入层。传入层与中间层也是隐藏层。其数量至多是单个或数个。正向网络大范围的使用在感知器、线性网络等范围之中。此研讨使用的BP网络就是这个类别。
神经网络的仿真环节实际上是神经网络依靠以网络传入信息的运算为基准来的得到对应的网络传出的环节。相关的仿真能够依据传入的信息以及神经网络的各个类别使用对应的方式。对静态神经网络来讲,不管是矩阵式或是序列式,网络传入信息的仿真所得的信息均是一致的。对动态网络来讲,其模拟传出不但和目前的网传入信息相关,且和以往的传入信息存在关联,也就是和传入信息的次序存在关联。为此,在动态神经网络接收以序列方式阐述的输入信息时,就算其中的信息要素次序有差别,模拟所得到的信息也是有差别的。最有代表性的追踪学习算法是BP算法,也就是误差传递反向传递算法。
目前,该方法在国内研究中得到了广泛应用[38]。在强化学习中,外在条件仅仅是提供了评定数据,无法合理的应答系统的传出。依据所有网络锻炼事项的对应数目,相关的锻炼方式包含了渐进式与批量两个类别。前者是网络学习,其依据神经网络把获得的所有对传入以及目标向量调节网络的权值以及阈值。后者指的是在全部传入以及目标向量集在准备完毕之后,依据对应的学习算法对网络权重和值实施成批的调节。在一样的神经网络下,两类各自的锻炼方式获得的训练结果是有差别的。在之内,神经网络的锻炼是在上述两种方式的支持下实现的[39]。在神经网络学习以及锻炼之中,要依据网络的客观状况选定锻炼方式以及能力。
对信息使用这种方式进行整理之后,能实现很好的处理实效。
创建3层BP人工神经网络模型。将2017年一天的CO、NO2、O3、PM2.5、PM10和SO2浓度数据作为输入,将第二天PM2.5浓度值作为输出数据,隐含层使用30个神经元个数,如将1月1日的CO、NO2、O3、PM2.5、PM10和SO2浓度作为输入,将1月2日PM2.5浓度作为输出;再将1月2日浓度作为输入,将1月3日PM2.5浓度作为输出;这样依次类推形成2017年数据集,作为训练数据集,训练3层BP网络模型。再利用同样的方法将2018年的数据集作为验证数据集,来考核验证模型的表现,最终将2018年PM2.5实测日均浓度与预测日均浓度的相关系数R作为评价模型预测能力的评价指标,R的计算方法如公式(4·2),相关计算程序详见附件。
(1)Matlab人工神经网络计算迭代过程如图5.1所示:
图5.1 多指标预测模型计算效果
图5.1中所显示的为2017年北京官园站一天的CO、NO2、O3、PM2.5、PM10和SO2浓度数据作为输入,将第二天PM2.5浓度值作为输出数据所训练的运行过程显示,图中所示,最大迭代次数为10000次,运行时间为11秒,运行速率为0.05。
附录一:2017年三天PM2.5数据训练程序 clc clear all x=[1 1 1]; y=[1 1 1]; [hang,lie]=size(x); average=sum(x)/hang; resid=x-repmat(average,hang,1); resid2=resid.*resid; sj2=sum(resid2)/hang; sj=sqrt(sj2); xinit=resid./repmat(sj,hang,1); net=newff(minmax(xinit'),[20,1],{'tansig','purelin'},'traingda'); net.trainparam.show=500; net.trainparam.lr=0.08; net.trainparam.lr_inc=1.2; net.trainparam.epochs=10000; net.trainparam.goal=1e-5; [net,tr]=train(net,xinit',y); b=sim(net,xinit'); aa=corrcoef(b,y); xgxstrain=sqrt(aa(1,2)*aa(1,2)) plot(1:345,b); hold on plot(1:345,y); hold off 附录二:2017年三天PM2.5数据训练2018年数据程序 clc clear all x=[1 1 1]; y=[1 1 1]; [hang,lie]=size(x); average=sum(x)/hang; resid=x-repmat(average,hang,1); resid2=resid.*resid; sj2=sum(resid2)/hang; sj=sqrt(sj2); xinit=resid./repmat(sj,hang,1); net=newff(minmax(xinit'),[20,1],{'tansig','purelin'},'traingda'); net.trainparam.show=500; net.trainparam.lr=0.08; net.trainparam.lr_inc=1.2; net.trainparam.epochs=10000; net.trainparam.goal=1e-5; [net,tr]=train(net,xinit',y); b=sim(net,xinit'); aa=corrcoef(b,y); xgxstrain=sqrt(aa(1,2)*aa(1,2)) %plot(1:345,b); %hold on %plot(1:345,y); %hold off xnew=[1 1 1]; ynew=[1 1 1]; [hang,lie]=size(xnew); average=sum(xnew)/hang; resid=xnew-repmat(average,hang,1); resid2=resid.*resid; sj2=sum(resid2)/hang; sj=sqrt(sj2); xinitnew=resid./repmat(sj,hang,1); bnew=sim(net,xinitnew'); aanew=corrcoef(bnew,ynew); xgxspre=sqrt(aanew(1,2)*aanew(1,2)) plot(1:362,bnew); hold on plot(1:362,ynew); hold off 附录三:2017年一天的CO、NO2、O3、PM2.5、PM10和SO2浓度数据训练程序 clc clear all x=[1 1 1]; y=[1 1 1]; [hang,lie]=size(x); average=sum(x)/hang; resid=x-repmat(average,hang,1); resid2=resid.*resid; sj2=sum(resid2)/hang; sj=sqrt(sj2); xinit=resid./repmat(sj,hang,1); net=newff(minmax(xinit'),[30,1],{'tansig','purelin'},'traingda'); net.trainparam.show=500; net.trainparam.lr=0.05; net.trainparam.lr_inc=1.2; net.trainparam.epochs=10000; net.trainparam.goal=1e-5; [net,tr]=train(net,xinit',y); b=sim(net,xinit'); aa=corrcoef(b,y); xgxs=sqrt(aa(1,2)*aa(1,2)) plot(1:315,b); hold on plot(1:315,y); hold off 附录四:筛选程序 %clear all %本程序采用枚举法,筛选六参数所有组合的输入预测结果 zuhe(1,:)=nchoosek(1:6,6); zuhe(2:7,1)=nchoosek(1:6,1); zuhe(8:22,1:2)=nchoosek(1:6,2); zuhe(23:42,1:3)=nchoosek(1:6,3); zuhe(43:57,1:4)=nchoosek(1:6,4); zuhe(58:63,1:5)=nchoosek(1:6,5); zuhepd=zeros(63,6); for i=1:6 zuhepd((sum((zuhe==i)')==1)',i)=1; end zuhepd=zuhepd==1; x=[1 1 1]; x=x(:,13:18); xnew=xnew(:,13:18); hang=size(x,1); average=sum(x)/hang; resid=x-repmat(average,hang,1); resid2=resid.*resid; sj2=sum(resid2)/hang; sj=sqrt(sj2); xinit=resid./repmat(sj,hang,1); %%newtest=init([y,ynew]); %y=newtest(1:315); %ynew=newtest(316:315+359); hang2=size(xnew,1); average2=sum(xnew)/hang2; residnew=xnew-repmat(average2,hang2,1); residnew2=residnew.*residnew; sj2new=sum(residnew2)/hang2; sjnew=sqrt(sj2new); xinit2=residnew./repmat(sjnew,hang2,1); moxing=cell(size(zuhepd,1),4); best=0; for k=1:size(zuhepd,1) %while i<3 %net=newff(minmax(xinit(1:hang2+i,:)'),[10,1],{'tansig','purelin'},'traingda'); net=newff(xinit(:,zuhepd(k,:))',y,10,{'tansig','purelin'},'traingda'); net.trainparam.show=1; net.trainparam.lr=0.05; net.trainparam.lr_inc=1.2; net.trainparam.epochs=3000; net.trainparam.goal=1e-5; net.trainParam.showWindow=0; [net,tr]=train(net,xinit(:,zuhepd(k,:))',y); b=sim(net,xinit2(:,zuhepd(k,:))'); %aa=corrcoef(b,[y,ynew(1:hang-hang2-10)]); %xgxs=sqrt(aa(1,2)*aa(1,2)) %plot(1:315,b); %hold on %plot(1:315,y); %hold off %[hang,lie]=size([xnew(:,5),xnew(:,11),xnew(:,17)]); %average=sum([xnew(:,5),xnew(:,11),xnew(:,17)])/hang; %resid=[xnew(:,5),xnew(:,11),xnew(:,17)]-repmat(average,hang,1); %resid2=resid.*resid; %sj2=sum(resid2)/hang; %sj=sqrt(sj2); %xinitnew=resid./repmat(sj,hang,1); %bnew=sim(net,xinit(hang-10+1:hang,:)'); aanew=corrcoef(b,ynew); xgxspre=sqrt(aanew(1,2)*aanew(1,2)); %plot(1:i-1,b); %hold on %plot(1:i-1,ynew(2:i)); %hold off moxing{k,1}=net; moxing{k,2}=zuhepd(k,:); moxing{k,3}=xgxspre; if xgxspre>best k best=xgxspre model=net; bestzuhe=zuhepd(k,:); moxing(:,4)=[]; moxing{k,4}='Best'; zuhepd(k,:) end end
论文主要介绍了一种基于MATLAB的人工神经网络模型来预测环境空气质量的变化。人工神经网络属于一类在人对其脑神经网络的了解和认知的基本条件下达成一些功能的神经网络。其是人脑神经网络的数理建模,属于单个模仿人中枢神经构成和能力的数据整理装置。具有复杂逻辑运算和非线性关系的系统。本文主要利用北京官园站的2017年的三天的PM2.5的平均值对2018年的数据进行预测、北京官员站2017年度三天的CO、NO2、O3、PM10、PM2.5和SO2等六项数据的平均值对2018年的数据进行训练、尝试改变运行速率、运行次数、输入神经元的数量等三项参数来提高数据相关性、北京官员站的NO2、臭氧、PM2.5等三项数据的每天平均值的数据对2018年的数据进行训练等这几种方法进行对比,找到最有效的组合来提高数据的有效性,并且用这个组合进行训练,对以后的天气状况进行预测。
首先,利用北京官园站的2017年的三天的PM2.5的平均值对2018年的数据进行预测,2017年的相关系数为0.7573,而用2017年数据训练2018年的数据的相关系数为0.43,由此看来数据之间的相关性并不是很好。
其次,由于单个的PM2.5的数值训练并不能达到预期的效果,于是尝试着改变输入神经元的数量,运行速率以及运行次数来提高数据的相关性。但是根据上面论文中所运行的结果来看,改变这三项参数并不能有效的提高相关系数,相关系数也只是改变了0.01左右,输入参数对结果有影响,但对于训练的结果没有很明显影响,由此可见,这三项参数可以提高数据的有效性,但并不是决定性的因素。
之后,对CO、NO2、O3、PM10、PM2.5和SO2等六项数据用枚举法进行筛选,选出最优组合,来提高数据的相关性。
最后,利用北京官员站的NO2、臭氧、等三个方面的信息的每天均值的相信对2018年全年的情况实施练习,应用这些气体和颗粒的信息当成输入,用的数值当成输出,开展练习,根据结果可以看到,训练的数据相关性达到了0.51,有效的提高了数据的相关系数,基本上达到了预期的效果。但由于数据有缺项,影响了结果的相关性,造成训练结果不明显,但总体来说,还是有其研究价值的。
综合来看,最后一种方法,利用北京官员站的NO2、臭氧、PM2.5等三项数据的每天平均值的数据对2018年的数据进行训练,这种方法的相关性最好,并且有效的提高了相关系数,运行出来的相关系数达到了预期的效果,由此来看,基于MATLAB的人工神经网络模型来预测空气质量这一研究是有价值及其意义的。
综上所述,利用BP网络模型对环境空气质量进行预测是可行和有价值的。此方式发挥了十分之大的作用,在实际使用中运算速率很快,不用像过去那样麻烦,只要懂得学习练习函数的启用方式,提升了环境水准评定的效能。这个模型只依靠调整传入节点以及隐藏层节点数目,就能使用在水环境情况、富养情况的、土壤等层面。
由于环境空气质量受到很多方面的影响,比如说受到人口、周边气象条件和降水降雨等气候条件的影响,造成预测的结果可能有偏差。
因此,这方面是有不足之处的,以后可以结合各方面的影响因素,对天气状况进行预测,力求达到更高的精度。
[1]张雪梅,刘庆军,李凤娣等.空气巾细颗粒物PM2.5和PM10对人体健康的影响[J].中国医学理论与实践,2002.7.
[2]工润鹿.实用污染气象学[M].北京气象出版社,1981.
[3]M.Fred,and Y,Vich,A.Gilliland.On performing long term prediction ofozone using the SOMS Model[J].Atmospheric Enviroment,2001(35),5691(35).
[4]徐大海,朱蓉.空气平流扩散的箱格预报模式与污染潜势指数预报[J].应用气象学报,2000,ll(1):1一12 .
[5]陈万隆,肖静汾.混合层厚度、风速和稳定度对地面SO2浓度分布影响的数值实验[J].南京气象学院学报,1995.18(4):548.554 .
[6]佟华,肖静扮,陈万隆等.一个模拟SO2浓度分布的数值模式研究[J].南京气象学院学报,2001,24(3):371-377.
[7]刘宣飞,朱瑞兆.复杂地形下的地而风场的数值模拟及实验[J].太阳能学报,1992,13(1)8.
[8]王迎春,孟燕军,赵习方.北京市空气污染业务预报方法[J].气象科技,2001,(4):42)1.
[9]魏生生,林学范.北京城区空气污染浓度长期预测[J].气象科技,(1):43-47.
[10]杨洪斌,马燕军,白乐生.城市空气污染预报方法.辽宁气象1999,3:40.42 .
[11]陈淑明,薛静英.武汉市区S02浓度预报方法的研究[J].湖北气象,1997,(3):25.27 .
[12]吴增茂,胜立芳,刘烽.城市区域空气质量数值预报方法的研究进展[J].气象科技1999, 1:ll915.
[13]刘罡,李昕,胡非.空气污染浓度的神经网络预报[J].中国环境科学,2000,(20),429-431.
[14]郝明亮,徐建英,左玉辉.人工神经网络在环境科学中的应用研究[J].上海环境科学,2000,18(I 1), 5l0- 512.
[15]蒋大和,曹伟华,张洋等.应用MLP-BP网络于空气污染指数预报[A].全国城市空气污染预报及污染防治学术会议论文集[C],贵阳:中国环境科学学会空气环境分会2001,120-125.
[16]LD.Navone,and H A.ceccato(1994)Predicting Indian monsoon rainfall,a neural network pproach[J].Climate Dynamics 10,305-312.
[17]D.Elizondo,G.Hoogenboom,RW.McClendon.(1994)Development of a neural networkmodeltopredictdaily solarradiation[J].Agricultural andforestMeteorology,7,115-132.
[18]P.Perze,A.Trier.2001.Prediction of NO and NOx concentrations near a street with heavy traffic in Santiago,Chile[J].Atmospheric Enviroment,1783-1789.
[19]刘罡,李昕,胡非.空气污染浓度的神经网络预报[J].中国环境科学,2000,(20):429-431 .
[20]J.Yi,and R Prybutok.(1996)A neural network model forecasting for prediction of daily maximum ozone concentration in an industrialized urban area[J].Environmental pollution 92(3),349-357.
[21]M Bo,ar,,M.Lesjak,P.Mlakar.(1993)A neural network-based method for the short-term predictions of ambient S02 concentrations in highly polluted industrial areas of complex terrain[J].Atmospheric Enviroment,B27(2),221-230.
[22]M.Andreta,.A.Eleuteri,.F Forteaaz.elat,2000.Neural networks for sulphur dioxide ground level concentrations forecasting[J].Neural computing and Applications 9,93·100.
[23] P.Perze,A.Trier.(2001).Prediction of NO and NOx concentrations near a street with heavy traffic in Santiago,Chile[J].Atmospheric Enviroment,35,1783-1789 .
[24]H.D.Navone and H.A.ceccato.(1994)Predicting Indian monsoon rainfall:a neural network approach[J]. Climate Dynamics 10,305imate.
[25]D.Elizondo,G.Hoogenboom,R.W.McClendon.(1994)Development of a neural network model to predict daily solar radiation[J].Agricultural and forest Meteorology,7,l 15-132.
[26]王俭,胡筱敏,邦龙熙等.基于BP模型的空气污染预报方法的研究[J].环境科学研究,2002.
[27]焦李成.神经网络的应用与实践[M].西安电子科技大学出版社,1996,255-36.
[28]蒋红梅,王定勇.空气可吸入颗粒物的研究进展[J].环境科学动态,2001,(1):ll)15.
[29]绍龙义.都市空气环境中可吸入颗粒物的研究[J].环境保护,2000,(1):24)0.
目 录
插图清单 I
摘 要 II
Abstract III
第1章 控制系统仿真描述 - 1 -
1.1 系统控制仿真 - 1 -
1.2 控制系统的MATLAB计算与仿真 - 1 -
第2章 过程控制简介 - 2 -
2.1过程控制定义 - 2 -
2.2 过程控制目的 - 2 -
2.3 过程控制特点 - 2 -
2.4 过程控制发展与趋势 - 2 -
第3章 水箱液位控制系统的原理 - 4 -
3.1人工控制和自动控制 - 4 -
3.2水箱液位控制系统原理框图 - 4 -
3.3水箱液位控制系统数学模型 - 5 -
3.4 水箱液位控制系统的组成 - 7 -
第4章 PID控制简介及其整定方法 - 9 -
4.1 系统主程序流程图的设计 - 9 -
4.2 PID 调节的各个环节及其调节过程 - 10 -
第5章 双容水箱液位控制系统设计 - 12 -
5.1 双容水箱结构 - 12 -
5.2 MATLAB 设计系统分析 - 12 -
5.3双容水箱液位控制系统设计 - 14 -
5.4 MATLAB设计内容 - 14 -
结论和展望 - 23 -
致 谢 - 25 -
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。