1.一种改进鲸鱼算法的循环神经网络短期电力负荷预测方法,其步骤包括:步骤一、初始化循环神经网络模型:
选取负荷数据作为样本数据,预处理样本数据,将样本数据归一化;选取与待预测日气象因素相似的五天作为待预测日的相似日;设置网络输入或输出层的神经元个数、隐藏层个数、训练次数、学习率、梯度下降算法以及小批量训练每次训练的样本数量;
步骤二、设循环神经网络的权重个数为m,按照顺序分别将各权重设为ω1,ω2,…,ωm,设循环神经网络的权重向量为ω=(ω1,ω2,…,ωm);
步骤三、初始化鲸鱼种群,设置鲸鱼的个数为n,鲸鱼位置向量的维度与循环神经网络的权重个数相同,记为m;设鲸鱼种群为Xi(t)=[Xi,1(t),Xi,2(t),…,Xi,m(t)],i=1,2,…,n;
步骤四、利用改进的鲸鱼算法,更新鲸鱼位置;记录最后一次迭代时的鲸鱼位置向量步骤五、将最后一次迭代的鲸鱼位置向量中的每个位置分量,分别赋值给循环神经网络中相应权重,即,将最后一次迭代的鲸鱼位置向量中第j个位置分量赋值给循环神经网络中第j个权重;得到循环神经网络的初始权重向量步骤六、采用循环神经网络中的梯度下降算法对循环神经网络进行小批量训练,当训练次数达到规定次数后,若损失函数收敛,则循环神经网络训练完成;若损失函数未收敛,则增加训练次数,直到损失函数收敛为止;
步骤七、测试过程:将待预测日的五组相似日归一化后的负荷数据输入循环神经网络,运行循环神经网络,输出待预测日的负荷预测结果。
2.根据权利要求1所述的一种改进鲸鱼算法的循环神经网络短期电力负荷预测方法,其特征在于:步骤一所述的预处理样本数据,将样本数据归一化,具体做法如下:通过相邻计数点的差值来判断采集数据中的异常点,并对异常点数据进行修正,设序列数据个数为q个,则序列数据为y(1),y(2),...,y(q),当y(h)满足下式时,则判断y(h)为序列数据中的异常数据:其中k为阈值系数;
确定所述异常点为异常数据后,需要对它进行修正,采用相邻两点的平均值对其进行修正,如下公式:采用零均值标准化对历史负荷数据y(h)做归一化处理得到归一化后数据y'(h),公式如下:其中, 为样本数据的平均值,std为所有样本数据的标准差。
3.根据权利要求1所述的一种改进鲸鱼算法的循环神经网络短期电力负荷预测方法,其特征在于:步骤一所述的设置网络输入或输出层的神经元个数、隐藏层层数、训练次数、学习率、梯度下降算法及小批量训练每次训练的样本数据的具体做法如下:(a)输入层神经元个数
循环神经网络输入层的神经元个数由其输入数据的类型决定;选择电力负荷数据间隔时间为15分钟,以一天24个小时计,则共有96个负荷数据;选取待预测日的五个相似日负荷数据作为循环神经网络的输入数据,输入数据为长度为96的五组序列,则设置循环神经网络的输入层的神经元个数为5,代表五个相似日,每个神经元的输入分别为一个相似日的96个负荷数据;
(b)输出层神经元个数
循环神经网络的输出值为预测日的预测负荷值,选择负荷数据,以每日有96个负荷数据计,其输出值为长度为96的一组序列,则设置循环神经网络的输出层神经元个数为1;
(c)隐藏层层数
分别设置隐藏层的层数为三层、五层、七层、九层,并使用相同的训练集和测试集进行训练和测试;所述训练集和测试集均来源于样本数据,在样本数据中选择586个样本数据作为训练集,选择84个样本数据作为测试集经过训练预测后,通过仿真实验结果对比,确定最佳的隐藏层层数,本发明设置循环神经网络的隐藏层层数为七;
(d)学习率
学习率决定神经网络的权重调节幅度;训练越往后,权重修改的幅度就会越小,则应在训练初期采用较高的学习率,随着训练次数的增加,逐渐减小学习率,在保证收敛速度的前提下又不会错过局部最小值;将循环神经网络的初始学习率设置为0.01,并采用动态学习率,即每训练100次,学习率降为原来的1/3;
(e)梯度下降算法
考虑到数据训练集的特性,选用小批量梯度下降算法来更新权重,每次迭代使用50组样本数据,将50组样本数据依次输入循环神经网络,计算每组样本数据的损失函数后,利用其损失函数的平均值对权重进行更新。
4.根据权利要求1所述一种改进鲸鱼算法的循环神经网络短期电力负荷预测方法,其特征在于:步骤四所述的利用改进鲸鱼算法为改进差异进化算法,更新鲸鱼位置的具体做法;
S1、初始化鲸鱼位置,设第i个鲸鱼的第j个参数初始值为:
其中,rand(0,1)为[0,1]中均匀分布的随机数; 分别为鲸鱼中第j个参数的上下限;m为循环神经网络的权重个数;
S2、随机选择n个鲸鱼中一个鲸鱼作为最优鲸鱼X*(t),其它非最优鲸鱼根据最优鲸鱼位置更新其位置;随机选择更新方式为收缩环绕机制或螺旋机制,来更新鲸鱼位置,鲸鱼位置更新公式如下:其中,ρ为[0,1]之间的随机数,D=|C·X*(t)-X(t)|,A=2r1·A-a,C=2r2,X(t)为当前鲸鱼的位置向量,t为当前迭代次数,r1,r2为[0,1]之间的随机数,a在迭代的过程中,线性地由2减小到0;D'=|X*(t)-X(t)|表示座头鲸与最优鲸鱼之间的距离,b为决定对数螺旋形状的参数,l为随机值,取值范围为[-1,1];
S3、为除了最优鲸鱼以外的每个鲸鱼个体生成新的突变体Vi(t);将鲸鱼种群中任意两个鲸鱼之间的位置差异加到第三个鲸鱼位置上,得到第i个鲸鱼第j维参数的突变载体:Vi,j(t)=Xb1,j(t)+F(Xb2,j(t)-Xb3,j(t)),j=1,2,…,m (6)其中b1、b2、b3为3个互不相等的1~n之间的随机整数;F为缩放因子,其取值范围为[0,
1];
S4、上述突变过程完成后,对鲸鱼种群中除了最优鲸鱼以外的鲸鱼个体生成试验载体Ui(t),其中每个分量Ui,j(t)的公式如下:其中,CR为交叉率,选取范围为[0,1];jrand为[1,2,…,D]中随机的一个数;
S5、比较每个鲸鱼Xi(t)与该鲸鱼对应的试验载体Ui(t)的适应度函数F(Xi(t))与F(Ui(t)),若F(Xi(t))≥F(Ui(t)),则选择试验载体Ui(t)为下一代鲸鱼Xi(t+1)=Ui(t),否则保留原鲸鱼作为下一代鲸鱼Xi(t+1)=Xi(t),此过程称变异选择过程;
S6、经过变异选择过程后,形成下一代鲸鱼种群Xi(t+1);比较Xi(t+1)中所有鲸鱼个体*与最优鲸鱼X (t)的适应度函数,选择适应度函数表现最好的鲸鱼个体为下一代最优鲸鱼,更新最优鲸鱼的位置;
其中,计算第i个鲸鱼或最优鲸鱼的适应度函数时,将鲸鱼j个参数值分别赋予神经网络中第j个权重,如下:ωj=Xi,j(t),j=1,2,…,m (8)
当权重赋值完成后,向循环神经网络中输入训练集数据,通过循环神经络的前馈过程,给出负荷预测值,利用式(8)计算出该鲸鱼的适应度函数;
S7、返回步骤S2开始下一次更新位置,直到适应度函数收敛;
S8、记录最后一次迭代时最优鲸鱼位置向量