基于残差-密集连接-双向长短期记忆融合网络的光伏出力短期预测
2022-12-05练小林李晓露陈楚靓
柳 杰,练小林,黄 冬,李晓露,陈楚靓
(1. 国网上海市电力公司长兴供电公司,上海 201913; 2. 上海电力大学 电气工程学院,上海 200093)
光伏系统的输出功率受太阳辐射、温度、湿度等诸多气象因素影响而具有显著的间歇性、波动性和不确定性,然而光伏出力预测的准确性对电力调度运行、发电计划安排极为重要。随着分布式光伏在配电网的高比例渗透,光伏出力预测的准确性将极大影响配电网运行的稳定性、可靠性和经济性。
目前常用的光伏出力预测方法分为物理方法、统计方法、人工智能方法,以及这些方法的混合[1-2]。物理方法主要有全天空图像预测方法、数值天气预报方法和卫星图像预测方法[1-3]。在天气条件稳定的情况下,物理模型的准确性较高,但模型性能极易受到气象变化的影响。统计方法则基于历史数据通过将待预测的功率输出与历史功率数据相关联来预测光伏出力,其应用比物理模型更为广泛,典型的有自回归滑动平均法(ARMA)、时间序列分析方法等[4-5]。随着人工智能技术的快速发展,强大的自主学习能力使其在短期光伏出力预测方面受到广泛关注,如反向传播(BP)神经网络[6-7]、卷积神经网络[8]、长短期记忆网络(Long Short-Term Memory,简称LSTM)[11-14]、时间卷积网络[15]、生成对抗网络以及基于几种神经网络的混合方法[16-17]。其中,基于LSTM[13]的模型可有效捕捉时间序列的长期依赖关系,具有更好的新能源发电出力短期预测性能[11-14]。
在理论上,增加LSTM网络堆叠的层数,网络可进行更加复杂的特征模式提取,预测的准确性也可相应提高。然而,深层网络存在着梯度消失或者爆炸的问题,导致模型层数越多,训练越难以收敛。
为解决梯度消失或梯度爆炸以及退化问题,有学者提出了残差网络结构(ResNet)[18]、稠密连接网络结构(DenseNet)[19]。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”,实现训练过程中梯度的反向传播,从而训练出更深层的网络。DenseNet的提出,同样是为了解决深层网络梯度退化的问题。DenseNet通过建立前面所有层与后面层的密集连接,直接连接不同层的特征,实现特征重用。DenseNet可极大降低网络参数的数据,并通过特征重用避免过多的冗余特征。ResNet和DenseNet也广泛用于构建深层的时间序列预测模型。文献[20-23]将LSTM与ResNet、DenseNet进行组合,希望使用ResNet、DenseNet获取空间特征或局部特征,使用LSTM获取序列特征。
对于同时依赖前后信息的时间序列,双向长短期记忆网络(Bidirectional LSTM,简称BiLSTM)有着更好的预测效果。文献[22]提出基于BiLSTM的密集连接网络进行超短期风电出力预测,采用长BiLSTM、短BiLSTM并联的方式来分别学习长期趋势和短期趋势,实现了对新能源出力峰值的更准确预测。
这些研究表明,基于深层网络的深度学习对于时间序列预测准确度的提高十分有效,众多研究也针对准确度提升来设计预测模型的网络结构。为此,本文提出残差、密集连接、双向长短时记忆融合的网络结构,综合ResNet、DenseNet以及Bi-LSTM的特点,进行光伏出力的短期预测。
1 光伏出力短期预测模型结构
本文结合BiLSTM、ResNet、DenseNet在时间序列数据预测上的特点,设计了基于Res-Dense-BiLSTM融合网络(Integrated ResNet-DenseNet-BiLSTM Network,简称IRD-BiLSTM)的光伏出力短期预测模型。下面对IRD-BiLSTM中关键结构块以及总体结构进行详细阐述。
1.1 双向长短期记忆网络的结构
长短期记忆网络(LSTM)[24]是为了解决一般的循环神经网络(RNN)存在的长期依赖问题而专门设计出来的,由t时刻的输入、单元状态、临时单元状态、隐藏状态、遗忘门、记忆门、输出门组成,其结构如图1所示。
LSTM适合处理和预测时间序列中间隔和延迟非常长的重要事件。STM的输出表达式为
it=φ(WxiXt+WHiht-1+bi)
(1)
ft=φ(WxfXt+WHfht-1+bf)
(2)
ot=φ(WxoXt+WHoht-1+bo)
(3)
ct=ft∘Ct-1+it。tanh(WxcXt+WHcht-1+bc)
(4)
ht=ot。tanh(ct)
(5)
(6)
式中φ——Sigmoid函数;tanh——双曲正切函数;W——权重;bi,f,o,c——输入、遗忘、输出门和单元的偏差;Xt——层的输入;ht——层的输出;∘——两个向量的逐项乘积。
BiLSTM的思想来自于双向循环神经网络(RNN),数据序列用两个隐藏层进行前向和反向处理。BiLSTM由前向LSTM与后向LSTM组合而成,通过双向的学习提高传统时间循环网络的准确率。BiLSTM的结构如图2所示。
BiLSTM的输出表达式为
htBD=concat(ht,ht′)
(7)
式中htBD——BiLSTM的隐藏状态;ht——前向LSTM的隐藏状态;ht′——后向LSTM的隐藏状态。
1.2 IRD-BiLSTM的残差块结构
依据ResNet[18]的思想,本文设计了如图3所示的残差块结构IRD-ResBlock。IRD-ResBlock通过短路机制进行残差学习,输出的表达式:
H(X)=F(X)+X
(8)
1.3 IRD-BiLSTM的密集连接块结构
IRD-BiLSTM的密集连接块结构如图4所示,命名为IRD-DenseBlock。在这个DenseBlock中,拼接(Concat)层将本DenseBlock的输入、IRD-ResBlock的输出、IRD-ResBlock输出的1×1卷积进行拼接。IRD-DenseBlock的输出表达式:
X=H(H0,X1,X2)
(9)
1.4 IRD-BiLSTM的总体结构
本文将IRD-ResBlock及IRD-DenseBlock进行堆叠以获得深层网络IRD-BiLSTM,其总体结构如图5所示。
由图5显示,该结构中,每一层将稠密连接子网与残差子网进行并联,两个子网的输出进行拼接。其中,稠密连接子网为短IRD-DenseBlock与长IRD-DenseBlock进行并联,短IRD-DenseBlock的LSTM单元数为N,长IRD-DenseBlock的LSTM单元数则为4N;残差子网为3个IRD-ResBlock的堆叠。稠密连接子网与残差子网拼接之后进行3层堆叠,再经过BiLSTM层、Dense层,最终形成本文的用于光伏出力短期预测的融合网络。
2 光伏出力短期预测流程
采用图5所示的IRD-BiLSTM融合网络进行光伏出力短期预测的流程如图6所示。首发根据历史气象数据和历史光伏出力数据进行日气象类型分类,分解为晴、阴、雨数据子集;同时对历史数据进行互信息相关性分析,获取与光伏出力相关性强的气象因素。然后通过IRD-BiLSTM网络进行模型训练,分别得到对应3种气象类型的光伏出力预测模型。最后,基于训练得到的预测模型,输入未来某日的气象预报数据便可对该日的光伏出力进行预测。
2.1 日气象类型分类
相对于不同季节,不同天气类型条件下的光伏出力值有明显差异,假定天气类型在一天内保持不变,则未来一天的天气类型根据天气预报获得,历史日天气可使用式(10)进行分类[6],即根据每日总太阳能散射辐射量和每日总太阳能辐射量之比来划分。
(10)
式中Kd——取值范围代表了这一天的天气类型,Kd在0~0.15表示晴天,在0.15~0.45表示阴天,0.45~1.00之间表示雨天;t——每天的气象数据采集点,每5 min采样一次数据,则一天共有288个采样点;DHRt和GHRt——t时刻的太阳能散射辐射量和太阳能总辐射量。
2.2 互信息相关性分析
本文使用最大互信息系数(Maximal Information Coefficient, 简称MIC)来选取用于模型训练的天气因素特征。MIC能快速地评估不同类型的关联关系,以发现广泛范围的关系类型。其中,互信息的定义为
(11)
式中p(x,y)——联合概率密度分布函数。
最大信息系数MIC为
(12)
式中a,b——两个变量的关系使用散点图表示时在x、y方向上所划分的格子数目;B——设置为数据量的0.6次方左右。
2.3 光伏出力预测模型训练
针对不同气象类型的数据子集,输入到IRD-BiLSTM网络进行训练,获得不同天气类型下的预测模型。
2.4 未来日光伏出力预测
以未来日的天气预报数据作为输入,根据未来日的Kd来选择使用特定天气类型下的训练模型进行该日的光伏出力预测。
3 算例分析
3.1 测试设置
本文选取澳大利亚太阳能中心(Desert Knowledge Australia Solar Center,简称DKASC)网站公开的Alice Springs光伏电站的数据,以1A站点的历史监测数据作为研究对象,原始监测数据采样间隔为5 min,本文对其进行重采样,得到采样间隔为15 min的数据集。数据集中包括了该站点的历史输出功率,以及温度、相对湿度、太阳能总辐射量(GHR)、太阳能散射辐射量(DHR)、风速、风向、降雨等气象数据。考虑到气象条件对光伏出力的影响,本文按照晴天、阴天、雨天分别进行建模。本文训练集、测试集的选取为2019年1月1日—2021年1月20日的数据,训练集、测试集按照8∶2的比例交替选取,即连续10 d的数据前8 d作为训练样本,后2 d数据作为测试样本。以拟合系数(R2)、均方根误差(Root Mean Square Error,RMSE)、平均绝对误差(Mean Absolute Error, MAE)3个指标对常规堆叠BiLSTM网络、堆叠IRD-ResBlock的残差网络、本文所提的IRD-BiLSTM网络的预测精度进行评价。
3.2 测试数据集预处理
由于光伏电站中设备的故障或维护会造成一些数据的丢失或错误,因此数据预处理中删除这些缺失或错误值。剔除缺失与错误数据后的数据集根据式(10)计算的Kd分为晴天、阴天、雨天3个数据子集。
为识别与光伏输出功率相关性较强的气象特征,对气象因素与光伏出力进行互信息相关性分析,即分别针对晴天、阴天、雨天按照式(12)计算MIC。对晴天数据集进行MIC计算得到的热图如图7所示。一般选取相关性系数>0.1的特征作为预测模型的输入特征。从图7的分析结果可知,温度、相对湿度、GHR、DHR、风速、风向与光伏出力相关性较强。由于原始数据集中后期的风速采集数据缺少维护,因此选取温度、相对湿度、GHR、DHR、风向作为晴天光伏出力的输入。同样对阴天、雨天进行MIC分析,分别选取对阴天、雨天光伏出力相关性强的气象因素作为预测的输入特征。
3.3 光伏出力预测结果
本文分别选取一个晴天、阴天、雨天使用3种模型进行预测。3种模型具体如下。
模型1:2层堆叠BiLSTM网络,每层LSTM的单元数目为24。
模型2:9层堆叠IRD-ResBlock网络,每层LSTM的单元数目为24。
模型3:3层IRD-BiLSTM网络,图5中的IRD-DenseBlock 1、IRD-ResBlock中每层LSTM单元数为6,IRD-DenseBlock 2中每层LSTM单元数为24。
模型训练中batch_size为32,epoch为20,初始学习率为0.001,训练过程中如果进入平台期则进行学习率的调整。使用按照天气类型划分的数据子集进行训练,分别得到3种天气类型下的3个模型。
使用天气类型数据子集训练的3种模型预测结果如表1所示。相比于模型1、模型2,基于IRD-BiLSTM的预测模型,在3种天气类型下,R2、RMSE、MAE指标均较模型1、模型2有较大的提升。
表1 使用天气类型数据子集训练的3种模型预测结果
如果模型训练数据集不区分天气类型,选取的晴天、阴天、雨天日期与表1中的相同,训练出的模型性能如表2所示。对比表1和表2结果可得出,根据天气类型进行分类训练和预测,预测性能可得到提升。
表2 使用全数据集训练的3种模型预测结果
对3种天气类型采用3种模型的预测结果如图8所示。由图8可以看出,相对于模型1和模型2,本文所提出的IRD-BiLSTM预测模型对晴天、阴天、雨天的预测结果都与原始数据有更近似的波形,同时较准确地预测了光伏出力的峰值。3种模型的训练过程如图9所示。由图9可以看出,使用本文的方法,在3种天气类型下,模型3的训练过程较模型1、模型2可以更快地收敛,训练集损失和测试集损失也较低。
4 结语
本文提出了一种融合ResNet与DenseNet特点的光伏出力预测模型,即基于IRD-BiLSTM网络的光伏出力短期预测模型。采用Kd对光伏历史监测数据进行分类,使模型训练更有针对性。该模型融合了DenNet、ResNet以及BiLSTM进行时序数据预测的优点,避免了梯度消失或梯度爆炸问题以及退化问题,构建出深层网络以提取时序数据的复杂特征模式,从而提高了预测的准确性。