改进SSA算法优化BP神经网络的电力负荷预测模型

2022-06-09 01:19郭松林巴艳坤
黑龙江科技大学学报 2022年3期
关键词:发现者搜索算法步长

郭松林, 巴艳坤, 李 春

(黑龙江科技大学 电气与控制工程学院, 哈尔滨 150022)

0 引 言

近些年来,随着国家对绿色能源的倡导,生活越来越依靠电能。但由于电能难以大量储存,而负荷的需求也是实时变化的,因此,对于电力负荷的有效预测可以保障电网平稳、安全、经济地运行[1]。对此,国内外学者已经提出了诸多方案对电力负荷进行短期预测,张林等[2]利用正交小波对用电负荷序列进行分解,通过变种LSTM神经网络对各尺度负荷序列进行建模,有效地消除负荷数据的波动性。王剑锋等[3]提出了一种基于改进深度信念网络算法的负荷预测模型,提高了数据处理的效率。陈雪薇等[4]构建了基于迁移学习算法来预测新建建筑电力负荷的预测模型。关书怀等[5]建立了粒子群优化对RBF神经网络的负荷预测模型。冯忠义等[6]提出了一种基于随机森林和改进局部预测模型,提高了短期电力负荷的预测精度。康义[7]建立了基于粒子群算法优化LSTM的预测模型,改善了超短期负荷预测的精度。笔者提出一种改进麻雀搜索算法与BP神经网络相结合的短期负荷预测模型(BSSABP),将麻雀搜索算法中发现者的觅食行为由跳跃改为移动,优化BP神经网络的初始权值和阈值,以提高负荷预测模型的预测性能。

1 改进SSA优化BP神经网络

改进传统的SSA算法,主要是对算法的步长更新因子和发现者、警戒者位置更新公式进行调整,运用用BSSA算法迭代得到的结果赋值给BP神经网络作为其初始权值和阈值。由于改进后的麻雀搜索算法拥有较强的全局搜索能力,稳定性更强,由此,可以构建一个收敛更快,误差更小的短期负荷预测模型。

1.1 麻雀搜索算法

麻雀搜索算法是受麻雀觅食启发产生的。麻雀觅食时,会将所有个体进行调整,分为发现者和跟随者,并随机分配警戒者进行反捕食行为。

发现者要为整个种群指引方向,寻找觅食区域,发现者位置数学表达式为

(1)

α——(0,1]中的均匀随机数;

Q——标准正态分布的随机数;

R2——[0,1]中的均匀随机数;

ST——警戒阈值;

M——最大迭代次数。

当R2≥ST时,觅食区域可能存在危险,麻雀们必须飞往附近的安全位置;当R2

跟随者则是在发现者的指引下,在觅食区域内进行觅食,跟随者位置数学表达式为

(2)

i——第i个个体;

D——维度;

n——种群数量;

由式(2)可以看出,若i>n/2时,该麻雀处于饥饿状态,必须马上飞往其他位置进行觅食行为;若i≤n/2时,麻雀会飞往附近最优位置。

麻雀会随机分配警戒者,负责守护种群进行觅食,警戒者位置数学表达式为

(3)

式中:β——符合标准正态分布的随机数;

k——[-1,1]的均匀随机数;

ε——极小数,防止分母为零;

fw——最差位置麻雀的适应度;

fi、fb——任意位置麻雀和最优位置麻雀的适应度值。

当fi>fb时,说明当前的麻雀正位于觅食区域的边缘,已经遭到其他捕食者的威胁,麻雀会逃到最优位置附近,可能丧失其他最优解;当fi=fb时,该预警的麻雀处于当前的最优位置时,它会飞往到自身附近的一个位置。

1.2 改进麻雀搜索算法

对传统SSA算法进行改进主要是对步长更新公式和发现者、警戒者位置更新公式的改进。

(1)步长更新公式的改进

在算法迭代的过程中,较大的步长会使群体大范围的进行搜索行为;较小的步长因子则会使群体在局部区域进行集中搜索[7]。但是在式(3)中,β和k的选取都是在一定范围内随机的,而随机选取可能不一定能满足算法的需求,且可能会使算法陷入局部最优解。

(4)

式中:fb——最优位置上的麻雀的适应度值;

t——当前迭代次数。

证明:设t1

∵fb-fw>0,t1-t2<0,

∴β1<β2。

因此,β是一个递增函数。

由式(4)可以看出,β不再是随机取值,而是表现出非线性变化,且是一个递增函数。对算法改进后,前期的β取值范围相对比较小,会使个体的局部搜索能力得到加强,而后期的取值相对较大,能够使麻雀进行大范围搜索,进而解决可能陷入局部最优的问题。

(5)

由式(5)知,k在迭代前期是递增的,迭代后期则会快速减少。该改进可以促使麻雀前期对于整个觅食区域的搜索更加充分,后期则可以极大地提高算法的收敛速度。

(2)位置更新公式的改进

改进后发现者位置更新公式为

(6)

对式(1)改进后,可以消除掉麻雀群体收敛于原点的操作,并且向最优位置的操作也由跳跃变为移动。改进后警戒者位置更新公式为

(7)

证明当fi≠fb时

当fi=fb时

对式(3)改进后可以看出,如果警戒者所处的位置最好,那么它会逃到最优和最差的位置之间的随机位置,否则,它将会逃到自己和最优位置之间的随机位置。在对整个算法进行改进后,可以看出麻雀不会再集中于原点了,大范围搜素能有效避免陷入局部最优的问题。选取基准函数测试BSSA的寻优性能。

单峰值函数Sphere基准测试函数为

(8)

多峰值函数Rastrign基准测试函数为

(9)

由式(8)和(9)可知,维度分别为30和4,理论上最优解均为0。改进前后算法的各初始参数均一致,分别运行30次,并对结果进行记录,计算出平均值和标准差,如表1所示。收敛性能对比如图1所示。

图1 测试函数收敛曲线Fig. 1 Convergence cure of test function

表1 测试结果Table 1 Test results

利用BSSA算法对BP神经网络进行优化的流程如图2所示,其适应度函数J的数学模型为

(10)

式中:N——训练样本的样本数;

C——输出神经元个数;

yij——神经网络输出值。

改进麻雀搜索算法优化BP神经网络的流程如图2所示。

图2 BSSA算法优化BP神经网络流程Fig. 2 Flow of BP neural network optimized by BSSA

1.3 BP神经网络结构参数的设置

选取所要预测日前一周、前两天、前一天的负荷数据、预测日平均温度和预测日类型当作输入变量,考虑工作日和双休对电力负荷也有相应的影响,因此,文中将工作日影响因子λ1确定为0.8,双休日影响因子λ2确定为0.2。选取预测日的电力负荷作为输出变量。并对负荷数据进行归一化处理,为了使模型得到更快的收敛速度和更高的精度,文中将数据处理在[0,1]之内。

对于隐含层神经元个数的选取是一个难题,个数过多的话,可能会出现过拟合的问题,而个数过少有可能会导致误差过大[8]。通过前人的研究[9],对于隐含层神经元选取时,试凑法不失为一个相对而言比较科学的办法;根据隐含层神经元个数不同时,造成的误差结果也有大有小,进而选择误差最小时的隐含层神经元个数,数学表达式为

(11)

式中:l、m、n——隐含层、输入层、输出层神经元个数;

a——调整常数。

通过试凑法[10]进行测试,实验结果表明隐含层节点数为7时,误差最小。因此,确定5-7-1作为文中的神经网络拓扑结构。将误差目标设置为0.00 001,网络学习率设置为0.2,最大训练次数为1 000。

2 实例应用

文中采集了某地从5月1日起到6月30日为止的共61组电力负荷样本数据,由于硬件故障或者数据传输过程中存在问题,负荷数据中可能存在异常点。文中对数据处理的表达式为

(12)

式中:A、A′——原始数据矩阵和处理完成的数据矩阵;

i——矩阵行数取值范围,i=1,2,…,61;

j——矩阵列数,取值范围,j=1,2,…,24。

将处理完异常点的数据作为数据样本,并对数据进行归一化操作,提高网络的迭代速度和精度。文中采用最大最小归一化法[11],其数学模型为

(13)

式中:X、X′——数据量;

Xmax、Xmin——数据中的最大值和最小值。

选取前51组作为训练样本,剩下的10组数据作为测试样本。将两种模型分别得到的预测值与实际值作对比,得到结果如图3和4所示。

图3 SSABP和BSSABP预测结果Fig. 3 Prediction results of SSABP and BSSABP

由图3可知,BSSABP预测模型得到的预测更符合实际值,且经过计算得到SSABP的平均误差为0.012,而SSABP的平均误差为0.060。由此可见,改进之后的SSA算法在克服全局搜索能力弱,易陷入局部最优解等问题是可行的。

由图4可以看出,BSSABP预测模型明显收敛更快,且在同样的迭代次数下,训练后BSSABP预测模型误差更小。

图4 BSSABP和SSABP预测模型的训练结果Fig. 4 Training results of BSSABP and SSABP

3 结 论

(1)优化SSA后,发现者向最优位置的移动方式由跳跃改为移动,提高了模型的全局搜索能力,步长更新因子由随机选取转换为非线性变化,增强了模型预测能力的稳定性。

(2)仿真实验表明,采用BSSA优化BP神经网络后,预测结果的平均误差降低了4.80%,BSSABP能够应用于短期电力负荷预测中,且预测精度更高。

猜你喜欢
发现者搜索算法步长
改进和声搜索算法的船舶航行路线设计
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
基于变步长梯形求积法的Volterra积分方程数值解
董事长发开脱声明,无助消除步长困境
起底步长制药
基于莱维飞行的乌鸦搜索算法
让学生做“发现者”
步长制药
——中国制药企业十佳品牌
让学生在小学数学课堂中做一个“发现者”和“创造者”