基于改进的PSO-BP神经网络的参考作物腾发量预测

2020-06-13 07:17:22任亚飞邵馨叶邵建龙
节水灌溉 2020年5期
关键词:极值权重粒子

任亚飞,田 帅,邵馨叶,2,邵建龙

(1.昆明理工大学信息工程与自动化学院,昆明 650500;2.佛罗里达理工学院科学与工程学院,美国 墨尔本 32901)

0 引 言

参考作物腾发量(ET0)的精确预测对农业的发展起着重要的作用,其预测结果将对植物的生长和灌溉方案的设计产生直接的影响。国内外的学者对此做了大量的研究工作。目前用于定量预测的方法主要有回归分析、时间序列和灰色系统等。其中回归分析的计算量大,且对非线性系统的建模比较困难;时间序列预测法主要利用ET0的已有数据对未来情况进行预测,并不能反映外部因素对结果的影响,预测精度差;灰色系统预测法所需的资料较少,导致其预测精度不高[1-3]。1998年由联合国粮农组织提出的经典Peman-Monteith公式是目前最常用的计算方法[4]。然而,由于该方法计算所需的相关气象数据的获取难度较大,并存在计算复杂的缺陷,导致实用性不强。

近年来,随着神经网络理论的迅速发展,在此基础上构建的BP神经网络模型,在针对ET0的预测工作方面,已经获得相对广泛的实际应用。然而该算法在实际使用过程中通常具有对初始权重和阈值过分敏感的情况,并表现出较为缓慢的收敛速度。相比之下,PSO算法所含的全局寻优能力尤为显著,此外无需设置过多的各项参数,计算过程简单。正因如此,国内外许多学者选择通过PSO算法对BP神经网络所涉及的初始连接权重进行必要的优化,以此增强神经网络所具备的泛化能力及其相应的学习能力。张志政[5]等以PSO-BP神经网络为基础,成功建立了西安地区参考作物腾发量的预测模型,并根据影响因素的多种排列方式,分析了不同组合因素对预测精度的影响。吴复昌[6]提出了基于PSO算法的中型灌区输水调度模型,证明PSO算法能够快速地获得模型的全局最优解,并且提高了灌溉效率。这些都证明了PSO-BP算法在灌溉量预测上的应用是可行有效的。然而,由于存在自身的局限,过去所沿用的传统PSO算法,一般会出现过早收敛的情况,影响预测结果的精度。

本文提出一种通过非线性权重递减策略来降低算法陷入局部极值可能性的改进PSO-BP算法,并借助于商丘地区气象站的数据进行验证,结果表明ADAPPSO-BP模型在ET0预测方面具有比BP模型、PSO-BP模型具有更高的预测精度。

1 改进的PSO-BP算法

1.1 改进的PSO算法

通常情况下,PSO算法在实际使用过程中,由于迭代时每一个粒子均会朝着自身及其整个群体记录的历史最优位置不断聚集,使得粒子群出现快速趋同效应。在此情况下,极易导致局部极值、早熟收敛和停滞等现象的发生[7]。标准PSO算法,为有效应对这种情况,通常选择借助于线性递减的惯性权重来解决,此时W随迭代次数变化的表达式为:

(1)

式中:Wmax为最大惯性权重;Wmin为最小惯性权重;t为算法运行的实际次数;tmax为算法所能运行次数的最大值。

一般情况下,当Wmax=0.9,Wmin=0.4时,可以取得较好的优化效果。

事实上,线性递减PSO算法在某种程度上确实能够有效调节自身的局部收敛能力,然而,如果在计算初期,该算法未找到自身的最佳点,则一旦W值持续下降,该算法的局部收敛能力将持续增强,导致极易出现局部最优的情况。值得一提的是,如果能够在算法初期探测到次好点,则W值相对取小,就能尽快找出最佳点。但是,如果W一直表现为线性递减的趋势,将会延缓算法的收敛速度。故本文选择借助于非线性递减函数的特点,对W进行动态地自适应调整,来降低算法在全局最优解附近陷于早熟收敛的概率,此时惯性权重的表达式为:

W=Wmax-(t/tmax)20.3

(2)

基于公式(2)得知,非线性递减能在一定程度上于算法初期延缓惯性权重持续降低的速率,从而使惯性权重得以维持较长时间的较大值,以此来探索更多的区域,尽可能地减少局部极值现象的发生。而在算法后期W值将会急剧降低,这将会促进粒子的局部搜索能力不断增强,可以进一步提高发现全局最优值的概率[8]。

1.2 改进的自适应PSO-BP优化神经网络

为切实增强BP神经网络的预测精度,克服传统PSO算法所含有的局限性,在上述改进算法的基础上,提出了ADAPPSO-BP混合算法来进行ET0的预测。该算法的流程如下:

(1)初始化粒子群维数,基于BP神经网络的自身结构,亟待优化的PSO粒子群维数为:

D=(m+1)n+(n+1)p

式中:m代表输入层所含的节点数;n代表隐含层所含的节点数;p代表输出层所含的节点数[9]。

(2)对粒子群的相关参数进行初始化。粒子数量设定为N=20,粒子的位置范围在BP神经网络所求的权阈值基础上上下浮动50%,粒子的速度限制区域为位置限制的,同时,tmax=100,学习因子设定为c1=c2=2,Wmax=0.7,其范围为[0.7,0.4]。

(3)确定适应度函数。其适应度函数为:

(3)

(4)基于公式(3)可求出粒子自身的适应度函数,随后可将其与个体极值之间进行对比,如果更小则作为新的个体极值;然后将个体极值与全局极值进行比较,如果小于该极值,则将其视为新的全局极值。

(5)根据式(4)、式(5)更新粒子的速度和位置:

Vt+1=WVt+c1r1(pbest-Xt)+c2r2(gbest-Xt)

(4)

Xt+1=Xt+Vt+1

(5)

式中:Xt表示粒子的实际位置;Vt表示粒子的速度;r1=r2代表在[0,1]范围内的随机数;其余符号意义同前。

(6)判断是否满足算法终止条件,如果满足,则BP神经网络的最佳权重及其阈值,即为算法所求得的全局最优解位置。

(7)最后,将最佳权重及其相应的阈值传递至BP神经网络,完成必要的网络预测工作,构建改进后的APAPPSO-BP模型。

整个模型的算法实现流程如图1所示。

图1 ADAPPSO-BP算法流程

2 实验数据分析

2.1 实验数据来源

本文中的实验数据来源于中国气象数据网提供的中国地面气候资料日值数据集(V3.0)中商丘站2014-01-01-2016-06-17共900 d的逐日风速、日照时长、平均气温、最高气温、最低气温和平均相对湿度6个气象资料,并以此作为原始数据,采用修正后的Peman-Monteith公式计算ET0,具体数据见表1。

表1 2014-01-01-2016-06-17商丘地区逐日气象数据与ET0

2.2 MIV特征值筛选变量

由上面的分析可知计算ET0时涉及到的参数较多,且彼此之间的独立性较差,存在着彼此相关的信息,不宜直接使用BP神经网络进行预测。本文将平均影响值(MIV)与BP神经网络相结合,筛选出对ET0影响较大的参数进行建模。

MIV的主要原理是在网络模型中训练自变量,通过观察不同变量的对应变化来确定参数对预测结果的影响。其具体计算过程是:首先将全部的变量输入训练好的一个BP神经网络,然后将每个变量分别增加10%和减少10%,得到2个新的参数变量A1和A2。然后用新数据A1和A2分别使用已经训练好的神经网络进行预测得出2组预测值B1和B2,其差值即为影响变化值(IV),2者之和的平均即为平均影响值(MIV)。值得一提的是,MIV的绝对值大小代表各类参数相对于因变量产生的实际影响大小,正负值则代表相关的方向。此时可将MIV绝对值较大的参数挑选出来进行建模,从而实现对自变量的筛选[10]。对上文中提到的影响ET0的6个气象因素进行MIV变量筛选,其结果见表2。

表2 各影响因素MIV特征值

MIV绝对值数值越大时,其相对于网络实际输出结果所产生的影响也越大。由表 2可知,对ET0预测结果产生显著影响的参数为风速、平均气温和平均相对湿度,3者所占比例之和达到了91.63%。故本文选择将这3个参数作为输入变量,且将ET0设定为相应的输出变量。

2.3 确定BP神经网络的结构

由上一节可知BP神经网络的输入和输出变量个数分别为3和1,然而,至今尚未存在明确的理论方法来确定隐含层的节点数量。通常情况下,实验者会先基于经验公式划分粗略的范围,然后将其代入神经网络进行逐一的验证,从中选择预测误差最小的隐含层节点数[11],即:

(6)

式中:m为隐含层所含的节点数;n为输入变量的数量;a∈[0,10]。

由式(6)可以确定隐含层节点数m的范围为[2,12],取该区间的整数值依次进行实验,其结果见图2。

图2 不同隐含层节点数的预测误差对比

由图 2可知,使BP神经网络误差最小的隐含层节点数为6,故BP神经网络的结构为3-6-1。

3 基于ADAPPSO-BP的ET0预测模型

根据以上分析,我们分别建立BP模型、PSO-BP模型和ADAPPSO-BP模型对ET0进行预测。其中BP模型主要基于3-6-1网络结构,隐含层选用tansig传递函数,输出层则选用purelin传递函数。该模型的学习速率为0.01,最大运行次数为1 000次。训练样本选择实验数据中的675组,剩余的225组作为模型的检验样本,对模型进行预测效果验证。图3为3种模型的预测结果与实际结果的对比图。同时为了更加明显地说明3种模型的预测效果,本文选取以下指标作为评价模型的标准,其计算公式如下。

均方误差(MSE):

(7)

平均绝对误差(MAE):

(8)

平均相对误差(MRE):

(9)

(4)决定系数:

(10)

由图3可以看出,在3种预测模型中,ADAPPSO-BP模型的预测结果整体最接近真实值,其次是PSO-BP模型,BP模型的预测结果最差。这说明PSO可以很好地改善BP模型预测精度低的缺点,但同时由于自身的局限性,导致其在一些突变处的预测结果与真实值相比具有较大的误差。而ADAPPSO-BP算法则很好地改善了这一缺陷。

由表3中可以看出,ADAPPSO-BP模型的MSE、MAE和MRE分别为2.273 2、0.205 6和0.113 8,均小于BP模型和PSO-BP模型,而ADAPPSO-BP模型的R2为0.960 6,高于BP模型和PSO-BP模型,表明ADAPPSO-BP模型在3种模型中具有最高的拟合度和最小的预测误差。与PSO-BP相比,MSE、MAE和MRE分别降低了14.37%、10.60%和8.6%,进一步证明提出的算法与传统PSO算法相比可以提高预测的精度。

图3 不同模型预测曲线比较

表3 模型指标对比

4 结 语

针对标准PSO算法在应用时容易陷于局部极值的缺陷,本文提出了一种非线性递减权重的策略(ADAPPSO)来减少其陷于局部极值的概率,同时利用平均影响值法筛选出影响ET0的主要因素,构建基于ADAPPSO-BP的ET0预测模型。计算结果表明,ADAPPSO-BP模型可以克服BP神经网络在ET0预测中精度不高的缺点,同时与PSO-BP模型相比,ET0的预测精度得到了进一步的提高,对发展节能高效的新型灌溉技术具有一定的指导作用。

猜你喜欢
极值权重粒子
极值点带你去“漂移”
极值点偏移拦路,三法可取
权重常思“浮名轻”
当代陕西(2020年17期)2020-10-28 08:18:18
一类“极值点偏移”问题的解法与反思
基于粒子群优化的桥式起重机模糊PID控制
测控技术(2018年10期)2018-11-25 09:35:54
为党督政勤履职 代民行权重担当
人大建设(2018年5期)2018-08-16 07:09:00
基于粒子群优化极点配置的空燃比输出反馈控制
基于公约式权重的截短线性分组码盲识别方法
电信科学(2017年6期)2017-07-01 15:44:57
匹配数为1的极值2-均衡4-部4-图的结构
层次分析法权重的计算:基于Lingo的数学模型
河南科技(2014年15期)2014-02-27 14:12:51