李静茹,姚方
(山西大学 电力与建筑学院,山西 太原 030013)
能源是社会发展及经济增长的主要驱动力,传统的化石能源不再符合绿色发展的需要,因此可再生能源不断兴起。风能作为近年来发展最快的能源之一,已在世界范围内得到了广泛关注。但是,由于自然因素的影响,风力发电的随机性和波动性较为明显[1]。当大量风电注入电网时,将会打破功率平衡,给电力系统带来了诸多挑战,因此有必要对风电的输出功率进行准确预测。
风电功率预测包括物理方法和统计方法[2]。物理方法建模复杂,存在成本较高的问题[3],而统计方法依赖于大量的历史数据,主要包括灰色预测法[4]和自回归移动平均[5]等时序预测法和人工神经网络[6]等人工智能法。当前的预测模型正在由机器学习向深度学习转移[7],长短期记忆网络(long short-term memory,LSTM)作为一种常见的深度学习算法已被应用到风电功率预测中[8],它善于处理长序列数据,能够自动学习到输入数据之间的关系。文献[9]首先用Pearson相关系数选择出对风电功率影响较大的因素作为模型的输入,然后利用LSTM网络对多变量时间序列建模,有效地减小了模型的复杂度,提高了预测准确度。文献[10]提出了一种利用LSTM网络滚动预测的方法,每15 min更新一次数据集,实现网络的滚动更新,有效地提高了预测精度。
本文提出了一种引入注意力机制的卷积神经网络(convolutional neural network,CNN)和LSTM复合预测模型。首先应用CNN对输入数据进行卷积处理,增强输入与输出之间的相关性;然后通过LSTM网络对时序数据进行预测,并将注意力机制添加到LSTM输出中;最后将训练好的网络预测风电出力。试验结果表明本文所提方法可以有效地提高预测精度。
卷积神经网络[11]是一种包含卷积处理的深度神经网络,它的主要特点是参数共享、稀疏连接和池化操作,其独特的结构可以减少深层网络所占的内存,并减少过拟合的风险。卷积神经网络具有提取特征的能力,其中一维卷积作为一种神经网络体系结构,它可以从时间序列数据中提取特征输入。
CNN的结构主要包括两部分,第一部分是卷积层,在这一层中,卷积核与前一层的局部区域连接并进行卷积计算,提取前一层的主要特征,计算公式如式(1)所示。
(1)
第二部分是池化层,为了减少网络模型的参数和复杂度,可以使用池化操作进行降采样,在这里选择最大池化,计算公式如式(2)所示。
(2)
长短期记忆网络由循环神经网络(recurrent neural network, RNN)演变而来,RNN显著的特点是能够利用历史信息处理序列问题,一个典型的RNN结构具有输入层、隐藏层和输出层。输入层负责接收向量,然后将其传递给隐藏层,最后在输出层输出结果。但RNN网络无法很好地处理长距离依赖问题,因此有学者对它作出了改进,产生了长短期记忆网络,其单元块的结构如图1所示。
图1 LSTM单元块
图1中:ht-1、Ct-1为上一时刻的输出和单元状态;Xt为当前时刻的输入;ht、Ct为当前时刻的输出和单元状态。
除了循环神经网络的隐藏层状态外,它还有一个额外的状态C来处理记忆单元的长期依赖关系,LSTM使用门机制来控制单元状态C,包括输入门i、遗忘门f和输出门o,LSTM的单元状态与三个门的关系用式(3)~式(8)表示。
it=σ(Wiht-1+Uixt+bi)
(3)
ft=σ(Wfht-1+Ufxt+bf)
(4)
ot=σ(Woht-1+Uoxt+bo)
(5)
(6)
(7)
ht=ot×tanh(Ct)
(8)
式中:W为神经元的权重;b为神经元的偏差;σ为sigmoid函数。
LSTM通过其独特的门机制能够保留数据的重要特征,确保了梯度长时间不会消失,因此它有着很强的时序数据学习能力和信息选择能力,能够对时间序列数据做出准确的预测。
近年来,注意力模型(attention model,AM)被广泛应用在深度学习任务中,当大量信息输入到神经网络时,不同输入对输出的影响不同,为了提高神经网络的计算效率,将更多的计算能力分配给重要的输入信息,引入了注意力机制,其结构如图2所示。
图2 注意力模型
注意力机制的计算可分为两步:一是为所有的输入信息计算相应的权重系数;二是根据权重系数计算输入信息的加权平均。计算公式如式(9)、式(10)所示。
(9)
(10)
式中:xi为输入向量;q为查询向量;s(x)为得分函数,得分的依据是xi与q的相关程度;ai为注意力分布;ε为输入值和注意力分布的加权平均值。
网络模型在进行训练之前,需要预处理原始数据。具体方法如下。
(1) 数据归一化:原始数据在输入网络之前需进行归一化处理,本文选择min-max标准化将结果映射到0~1之间,计算公式如式(11)所示。
(11)
(2) 数据分类处理:按时间把原始数据分为训练集和测试集,其中80%用于训练,剩下20%用于测试。
采用CNN_LSTM_AM模型进行风电预测,模型结构如图3所示。首先将经过预处理的数据输入网络,通过CNN对序列数据进行特征提取,经卷积、池化处理后,通过一个全连接(FC)层转换为一维数据,输入LSTM网络中,其中卷积核的大小为1,激活函数采用relu函数。LSTM层用于处理长序列数据,本文选择的LSTM结构为2个隐层,隐层的单元数目为64,激活函数选择relu,并在LSTM网络后引入Attention模块,计算权重,最终通过全
连接层输出结果。Attention模块可以自动地学习和判断不同特征的重要程度,并根据重要性关系来分配权重,增强了LSTM模型对长输入序列的预测能力,有效地提高了预测的精度。
为了验证本文所提模型的准确性,选择均方根误差(eRMSE)与平均绝对误差(eMAE)作为模型的误差评价指标,计算公式如下所示。
(12)
(13)
本文选取某地区2019年7月1日到2019年9月30日的实测风力发电数据进行试验验证,共计8 832个数据点,采样时间间隔为15 min。模型采用adam优化器,训练时损失函数选择eMAE函数,批次大小为256,迭代次数为200,进行15 min时间尺度的预测,图4为预测结果,图中横轴为采样点数,纵轴为风电功率数据归一值。
图4 CNN_LSTM_AM模型的预测结果
为了进一步评估本文模型的预测能力,在相同的历史数据下采用CNN和CNN_LSTM进行比较,图5为预测对比图,横轴选取了测试集中的100个数据点。可以看出,CNN_LSTM_AM模型的
图5 预测对比图
预测结果与真实值更加接近,相较于其他深度学习模型预测效果更好。
表1为不同模型进行15 min预测的误差值。从表1可以看出,本文模型的预测误差低于其他模型,预测性能更加优越,可以对未来数据进行精确的超短期预测。
表1 不同模型预测误差 单位: %
本文在大量研究的基础上,提出了一种基于注意力机制的CNN和LSTM复合风电预测模型,该框架可以为后续的风能预报工作提供有效的帮助。在理论知识的基础上,进行了详细的试验。结果表明,基于CNN_LSTM_AM的方法比CNN_LSTM、CNN方法具有更好的预测性能,该模型可以明显地提高风电预测的精度。