李森文,张 伟,李纯宇,郝思鹏
(南京工程学院电力工程学院,江苏 南京 211167)
近年来,我国风电装机容量增长迅速,目前风电装机规模居世界首位。随着“碳达峰、碳中和”目标提出,未来新能源装机量将迎来爆发式增长。
风电预测方法可分为物理方法、时间序列方法和人工智能方法。物理方法是以数字天气预报为基础的预测方法。时序方法通过统计学方法处理,常用时序模型有自回归滑动平均模型[1]、差分自回归滑动平均模型[2]和自回归条件异方差模型[3]。常见的人工智能预测方法有人工神经网络等[4],一般多用于超短期和短期预测。本文采用长短期记忆(long-short term memory,LSTM)神经网络,充分利用风电场功率的时序相关性进行预测,并通过麻雀搜索算法(sparrow search algorithm,SSA)对网络参数进行优化。
LSTM是一种带有记忆与遗忘模式的特殊递归神经网络,解决了传统递归神经网络在反向误差传播算法训练中出现的梯度消失与爆炸问题[5]。在时序处理上,LSTM可对原始序列时间相关性充分利用,比其他机器学习方法更显优势[6-9]。如图1所示为LSTM单元结构。
图1 LSTM单元结构
xt、ht为t时刻单元的输入和输出,t=1,2,…。ht计算表达式为:
it=σ(Wixxt+Wihht-1+Wicct-1+bi)
(1)
ft=σ(Wfxxt+Wfhht-1+Wfcct-1+bf)
(2)
ot=σ(Woxxt+Wohht-1+Wocct-1+bo)
(3)
ct=ftct-1+itφ(Wcxxt+Wchht-1+bc)
(4)
ht=otφ(ct)
(5)
it、ft、ot和ct为输入门、遗忘门、记忆细胞和输出门的输出;W为权重矩阵;b为偏置向量;σ为激活函数。
麻雀搜索算法模拟麻雀觅食和反捕食行为,具有寻优能力强、收敛速度快和稳定性好等特点[10]。麻雀种群分发现者和加入者,负责搜索食物并为其他群体提供食物位置的为发现者,通过跟踪发现者来觅食的为加入者。在种群中选取一定比例的麻雀,令其具有感知危险的行为并记为警戒者,警戒者发现危险则种群放弃食物。在t+1次迭代中,发现者位置更新为
(6)
t为迭代数;T为最大迭代次数;Xi,j为麻雀i在第j维的位置;a为0~1的随机数;R2为预警值;S为安全值,取值范围分别为0~1和0.5~1;Q为正态分布随机数;L为元素为1的1×d矩阵。
当R2
(7)
Xp为当前发现者最优位置;Xworst为最劣位置;A为元素随机为1或-1的1×d矩阵,A+=AT(AAT)-1。
当i>n/2时,表明适应度值较低的处于饥饿状态的第i个加入者无法觅食。为提高种群捕食率,需到其他地方获取食物。当危险被警戒者感知时,反捕食行为产生,表达式为
(8)
Xbest为全局最优位置;k、β为步长控制参数,β是服从均值为0方差为1的正态分布随机数,k∈[-1,1]是一个随机数;fg和fw为种群中最优和最劣适应度值;ε为常数,避免分母为0;fi为i的适应度值,当fi>fg时,表示i处在种群边缘,易受到危害,fi=fg时,表示i感知了危险,发现者随即进行下一轮搜索。
海上风电出力作为一种时序功率序列,受到自然风的影响,具有强随机性、波动性。为准确预测海上风电出力,本文以在时序处理中表现出色的LSTM模型为基础,将收敛速度快、鲁棒性强和稳定性好的麻雀搜索算法与LSTM模型相结合,构建了SSA-LSTM模型。此模型保留了LSTM网络善于处理时序数据的优点,同时采用SSA来优化超参数,确保该模型能够快速稳定收敛于全局最优。
在LSTM网络中,学习率、训练次数和神经元个数等是影响预测精度的关键参数。这些参数直接决定LSTM模型网络结构,不同参数训练出的模型预测能力相差较大。因此,提出SSA-LSTM模型,通过SSA对LSTM隐含层神经元个数、学习率和训练次数进行寻优。SSA优化LSTM步骤如下:
a.根据LSTM网络学习率、训练次数、神经元个数等超参数取值范围随机初始化麻雀位置。
b.以MSE计算每只麻雀适应度值并排序。
c.取前20%为发现者,其余为加入者,随机选取20%的麻雀并使其具有感知危险的行为机制。
d.根据式(6)~式(8)在迭代中更新发现者、加入者、警戒者位置并计算适应度值。
e.迭代结束输出全局最优麻雀位置即得到LSTM网络的最优参数。
SSA-LSTM模型流程如图2所示。
图2 SSA-LSTM流程
本算例选用江苏盐城400 MW华能丰海风电场的出力数据作为原始数据,该风电场位于江苏省盐城市大丰区毛竹沙海域。每5 min采样1次,该风电场2020年12月出力数据如图3所示。
本文算例中,LSTM模型的隐含层设置为2层,需要优化的超参数为隐含层第1、第2层神经元个数、训练次数和学习率,故麻雀搜索算法的寻优维度为4,寻优范围分别设为[1,100]、[1,100]、[1,50]、[0.001,0.01]。SSA剩余参数设置:麻雀种群数量为5、发现者占比20%、警戒者占比20%、最大迭代次数为30、适应度函数为均方误差MSE。用于对比的LSTM参数设置:隐含层第1层神经元个数为200、第2层神经元个数为200、训练次数20次、学习率0.005 0。
本算例采用平均绝对误差(mean absolute error,MAE)和均方根误差(root mean square error,RMSE)作为性能指标,计算式为:
(9)
(10)
pi和pi′为功率实际值和预测值;n为测试集数据数。
在获取风电场出力数据后,将数据集前70%用于训练,后30%用于测试,分别使用LSTM、SSA-LSTM网络模型进行仿真对比。
首先通过SSA对LSTM网络参数进行寻优,包括隐含层第1、第2层神经元个数、训练次数和学习率。在SSA寻优过程中以MSE为适应度函数,目的是找到1组超参数使LSTM网络的MSE最低。
LSTM网络参数按照本文4.2节设置,将其与经过麻雀搜索算法20轮寻优后的SSA-LSTM网络参数进行对比,如表1所示。
表1 网络参数对比
采用LSTM模型的预测结果、SSA-LSTM模型的预测结果与实际值进行对比,性能指标如表2所示。
表2 性能指标对比
由表2可知,SSA-LSTM模型的EMAE、ERMSE数值相比LSTM模型均大幅下降,说明SSA-LSTM神经网络模型的预测精度优于LSTM模型。通过SSA优化LSTM网络,加强了模型的全局寻优能力,使得SSA-LSTM模型的预测结果可靠性更高。
以上模型均通过前10个时刻的风电出力数据预测下一时刻,即条件变量为10。为了更好地验证本文所提的SSA-LSTM模型的预测精度优于LSTM模型,研究不同时间长度的风电出力作为条件变量对风电功率预测准确性的影响,对比SSA-LSTM、LSTM模型在条件变量为5、10、15、20时的预测结果。
分别采用5个、10个、15个、20个条件变量预测下一时刻的风电出力,部分预测结果如图4所示。
图4 不同条件变量预测结果对比
在图4中,SSA-LSTM模型的预测曲线与实际功率曲线具有相近的峰值、谷值。而在图4a中,LSTM模型在5个条件变量时,预测峰值低于实际峰值,预测谷值高于实际谷值;如图4b所示,LSTM模型在10个条件变量时,预测峰值与实际峰值相近,预测谷值高于实际谷值;如图4c所示,LSTM模型在15个条件变量时,预测峰值高于实际峰值,预测谷值高于实际谷值;如图4d所示,LSTM模型在20个条件变量时,预测峰值低于实际峰值,预测谷值高于实际谷值。对比观察可知,在不同条件变量下,SSA-LSTM模型的预测精度均优于LSTM模型,同时更具预测稳定性。
SSA-LSTM和LSTM模型采用不同条件变量时的性能指标如表3所示。由表3可知,SSA-LSTM相比于LSTM,在5个、10个、15个、20个条件变量预测中EMAE分别降低了12.479、3.649、9.145、10.810,ERMSE分别降低了10.928、6.582、9.847、10.959。
表3 不同条件变量性能指标对比
由以上算例分析可知,在一定的预测时间尺度内,基于SSA-LSTM的海上电功率预测模型相比于LSTM模型具有更高的预测精度,同时能够保持较好的预测稳定性。
本文提出SSA-LSTM模型对海上风电功率进行短期预测。利用SSA对LSTM网络的超参数进行寻优,得到SSA-LSTM模型。通过SSA-LSTM模型对海上风电功率进行预测,并在不同条件变量下与LSTM模型的预测结果比较。仿真结果表明,SSA-LSTM模型具有更高的预测精度、更好的预测稳定性。