APP下载

基于改进粒子群优化神经网络的超短期风速预测

2021-03-25段新会李文鑫

自动化与仪表 2021年3期
关键词:偏置极值权值

段新会,李文鑫

(1.华北电力大学 控制与计算机工程学院,保定071003;2.保定华仿科技股份有限公司,保定071051)

风能是一种清洁且用之不竭的可再生能源,发展利用风能已是大势所趋。2019年我国风电累计装机容量达到21005 万千瓦,并且我国海上风电装机规模位居全球第三[1],但风能是一种不可控能源,具有波动性、随机性等特点,导致风力发电设备成规模并网时给整个电力系统的安全运行带来考验,无法准确满足发电与用电之间的供需平衡导致风力资源浪费,降低电网经济性[2]。因此提高风速预测的准确性是保证安全并网的重要前提。

对于风速预测的方法主要分为2 大类:物理法与统计法。近几年,人工智能迅速发展,渗透到了多个社会发展领域中,因此统计法成为了主流的预测方法,即对历史数据进行统计分析找出非线性规律实现风速的预测。其中传统的BP 神经网络与传统的PSO 粒子群算法因结构简单、编程易实现等优点被人们广泛的应用于非线性拟合、参数寻优等问题上[3]。文献[4]采用BP 神经网络算法对风功率进行预测,但是其权值与偏置的选取影响着神经网络训练的结果,具有一定偶然性,容易陷入局部最优解,最后预测的结果具有较大误差;文献[5]采用PSO-BP算法对功率进行预测,预测结果好于BP 算法,但传统的PSO 算法搜索能力较弱也会产生局部最优、收敛速度较慢等问题,所以要对传统的PSO 算法进行改进;文献[6]引入混沌策略和种群适应度方差的概念,适应度方差越小代表粒子发散程度较差,影响着粒子群的搜索能力。当种群适应度方差较小时引入混沌策略增强粒子群的搜索能力;文献[7]为解决后期粒子群算法在最优解附近搜索的问题引入了收缩因子控制粒子的飞行速度,最后将改进的PSO算法对最小二乘支持向量机的核函数和惩罚因子进行寻优,结果表明仿真结果好于其它算法。针对以上改进的方法,本文引入一维Logistic 混沌映射与收缩因子对传统PSO 粒子群算法进行优化,既提高了粒子群初期的全局搜索能力又增强了粒子群后期局部寻优的能力。将改进的PSO 粒子群算法对BP 神经网络的初始权值和偏置进行寻优,最后利用改进PSO 优化的BP 神经网络对实际工程中的风速进行预测,结果表明基于改进粒子群优化神经网络算法的超短期风速预测结果好于BP 神经网络算法、传统PSO-BP 算法和仅引入收缩因子的PSO-BP算法的风速预测结果,验证了算法改进的正确性。

1 BP 神经网络

BP 神经网络是一种多层前馈的运算模型,由大量神经元之间相互联接构成,能够很好地解决非线性问题[8]。本文所采纳的神经网络结构如图1所示。

工作原理分为训练和测试2 部分,训练部分包括2 个环节,正向传播和反向传播。通过正向传播得到训练样本的输出和误差,然后利用误差梯度下降方法反向传播调节神经网络的权值和偏置。测试部分将测试的数据输入到训练后的神经网络模型中,实现对风速的预测。

图1 BP 神经网络结构Fig.1 BP neural network structure

1.1 正向传播

三层BP 神经网络正向传播计算方式如下:

式中:r 为输入矩阵;wij为输入层到隐含层的权值;i为输入层神经元个数;j 为隐含层个数;w0为隐含层的偏置;net1为隐含层的输入。此次选择sigmoid 函数作为隐含层和输出层的激励函数;oj为隐含层的输出;net2为输出层的输入;wjk为隐含层到输出层的权值;k 为输出层神经元的个数;w1为输出层偏置;y1为系统输出。

1.2 反向传播

反向传播利用误差梯度下降法对权值、偏置进行调整。通过不断迭代得到最后的权值与偏置。本文选取输出层节点的误差平方和作为神经网络的目标函数,选取误差平方和作为目标函数其中一个目的是对误差平方求导时可以避免函数不可导这种情况,其表达公式为

式中:y0为系统实际值,则输出层权值与偏置更新为

更新后的权值、偏置矩阵为

式中:α 为学习率,隐含层权值与偏置更新为

则更新的权值、偏置矩阵为

2 粒子群优化算法

2.1 传统粒子群算法

PSO 算法是模仿鸟群觅食的方法总结出的一种算法。其基本原理为PSO 算法随机初始化一群粒子,通过迭代找到适应度函数的最优解。假设n 个粒子X=(x1,x2,…,xn)在m 维的函数空间进行寻优,第i 个粒子由2 个向量表示:Xi=(xi1,xi2,…,xim)为第i 个粒子的位置向量;Vi=(vi1,vi2,…,vim)为第i 个粒子的速度向量。每次迭代中每个粒子根据两个极值以及飞行速度来更新自己的位置,一个极值是个体本身求解适应度的最优解对应的粒子位置,称其为个体极值Pi;另一个是整个粒子群在所有某次迭代中求解适应度的最优解对应的粒子位置,称其为全局极值Pg。找到两个极值后粒子不断地改变速度,朝着两个极值的方向靠拢。第i 个粒子按如下公式进行寻优:

式中:β 为粒子群的权重,影响粒子群的全局搜索能力和局部搜索能力;c1,c2为加速因子;r1,r2为[0-1]的随机常数;Pi为个体极值;Pg为全局极值;Vi+1,Xi+1为第i 个粒子迭代一次更新后的速度向量与位置向量。

2.2 混沌理论的引入

由于传统的粒子群算法中权重β 为恒定的常数,当设定β 过大粒子的全局搜索能力较强影响后期的局部搜索能力,β 过小全局搜索能力较差收敛速度较慢,β 的大小对粒子飞行速度产生了一定的影响。因此为了提高粒子群全局搜索能力和局部搜索能力,对权重β 采用动态调整的方式。首先为了提高粒子群初期时的全局搜索能力,本文引入混沌理论中的一维Logistic 映射模型[7],公式为

式中:a∈[0,4]为Logistic 参数;λ∈[0,1]的随机数。当a 越接近4 时,Logistic 模型产生的序列具有非周期、非收敛的特点,而选取其它值时产生的序列是收敛的,产生的序列分布如图2所示。

图2 Logistic 序列分布图Fig.2 Logistic sequence distribution

Logistic 序列分布见表1,由图2 与表1 可看出混沌产生的序列具有发散、随机性等特点,因此引入一维Logistic 映射模型调整权重可提高粒子群的全局搜索能力。

表1 Logistic 序列分布Tab.1 Logistic sequence distribution

改进后的权重见式(14),λ 为一维Logistic 映射产生的随机序列;τ 为当前迭代的次数;ε 为某一常数。当τ 小于ε 时,引入混沌映射使粒子群在迭代初期具有较强的全局寻优能力。

式中:βmax=1.3,βmin=0.6,其大小由经验确定。

2.3 收缩因子的引入

传统粒子群算法进入寻优后期,最优值将收敛于某个区域内,粒子群将在此区域内不断地迭代,由于传统粒子群权重β 为恒定的常数,在寻优后期粒子的局部搜索能力较差导致寻优结果不理想,若只引入混沌策略,粒子进入后期可能会在区域内来回振荡甚至会跳出收敛的区域,因此本文引入收缩因子更新粒子群的速度,提高粒子群寻优后期局部搜索能力,更新后的速度公式为

式中:μ 为收缩因子;time 为迭代总次数。当τ 大于等于ε 时,粒子群进入寻优后期,T 逐渐增加使权重β 减小,收缩因子也逐渐减小。在权重β 与收缩因子μ 共同作用下使粒子的飞行速度Vi+1减小,增强了粒子群后期局部的寻优能力。

3 改进PSO 优化BP 神经网络模型

BP 神经网络在识别、分类、预测等问题上有着广泛的应用[9],但是其权值与偏置的选取影响着神经网络训练的结果,因此需要采用寻优算法寻找到更好的神经网络初始参数。本文引入混沌映射与压缩因子算法对粒子群算法进行了改进,将改进后的粒子群算法用于寻优BP 神经网络的初始参数,最后对风速进行预测。PSO 优化BP 神经网络时,将BP 神经网络的权值和偏置作为PSO 算法中的粒子,结合神经网络正向传播计算方式计算出粒子适应度,比较适应度的大小并确定个体极值与全局极值,不断更新粒子的速度、位置。直至达到迭代要求为止,得到的最优粒子作为BP 神经网络的初始权值与偏置。此时粒子的适应度为神经网络中的目标函数,见式(5)。具体优化步骤如下:

步骤1首先初始化模型各参数,BP 结构初始化、粒子群算法初始化。

步骤2将归一化的风速训练数据作为神经网络的输入,根据正向传播的计算方式计算出各粒子的初始适应度值,根据适应度值确定全局极值,此时个体极值为个体本身。

步骤3利用式(14)、式(16)更新粒子的速度和位置,计算新的适应度。

步骤4将新适应度与对应的当前适应度比较,若新适应度小于对应的当前适应度,将新适应度对应的位置向量作为新个体极值;找到最小的新适应度并与当前最小适应度进行比较,若小于当前适应度,将新适应度对应的位置向量作为新全局极值,将其作为全局最优解。

步骤5判断迭代结果是否满足寻优条件或是否达到迭代次数,若达到要求迭代停止,否则重复步骤(3)~步骤(5)。

步骤6将粒子群算法优化后的参数作为BP神经网络的初始权值、偏置参数。将最后得到的神经网络模型对风速数据进行训练与预测。流程如图3所示。

图3 改进的PSO-BP 算法流程图Fig.3 Improved PSO-BP algorithm flow chart

4 预测结果与分析

本文对某风电场的风速进行超短期预测,预测前对该电厂的风速数据进行采集,每隔5 min 采集一次风速数据,采集了3 天共860 组风速数据。选取其中845 组数据作为训练数据,15 组作为测试数据。采用前4 个时刻风速值预测下一时刻的风速值,因此设置BP 神经网络输入层i 为4 层,输出层k 为1 层。对于隐含层的设定通过经验公式(20)来确定,h∈[0,10],取h=3,则隐含层j 为6层。因此共有30 个权值,7 个偏置参数需要优化,设定种群粒子数为37,种群规模为60,迭代次数300 次。

利用经改进的粒子群算法优化后的BP 神经网络模型对风速数据进行训练与预测。训练数据见式(21)~式(22),将o 矩阵每一列作为神经网络的输入,q1的每一列为对应的输入训练数据经神经网络结构计算得到的输出值,通过q1与实际风速值q0之间的误差不断地去训练神经网络模型。

训练结束后对风速进行预测,测试数据见式(24),测试的结果见式(25)。其中s 为测试的输入数据,t 为测试结果。

为了验证算法改进的正确性,分别采用传统BP神经网络、传统PSO-BP 算法、仅引入收缩因子的PSO-BP 算法、改进的PSO-BP 算法在MATLAB 平台上对风速预测,预测结果如图4所示。

图4 风速预测曲线Fig.4 Wind speed forecast curve

为了衡量预测的准确率,分别计算不同算法对应的平均相对误差MAPE 和均方根误差RMSE,结果如表2所示。

表2 预测误差Tab.2 Prediction error

通过图4 和表2 可看出改进后的PSO-BP 算法预测结果较好于前三者,验证该算法的准确性,可减小预测误差,具有一定的实用性。

5 结语

本文引入混沌映射和收缩因子对传统PSO 算法进行改进,提高了粒子群初期的全局搜索能力和后期的局部搜索能力。将改进的PSO 算法对BP 神经网络参数寻优,最后将优化后的PSO-BP 算法对风速进行预测,并将结果与BP 神经网络算法、PSO-BP算法、仅引入收缩因子的PSO-BP 算法预测的结果相比较,结果表明改进后的PSO-BP 算法效果好于前三者,证明改进后算法的正确性及一定的实用性。

猜你喜欢

偏置极值权值
基于40%正面偏置碰撞的某车型仿真及结构优化
一种融合时间权值和用户行为序列的电影推荐模型
基于双向线性插值的车道辅助系统障碍避让研究
极值点带你去“漂移”
CONTENTS
极值点偏移拦路,三法可取
一类“极值点偏移”问题的解法与反思
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
一级旋流偏置对双旋流杯下游流场的影响