一种结合注意力机制以及误差修正的光伏功率预测方法

文档序号:26141713发布日期:2021-08-03 14:26阅读:214来源:国知局
一种结合注意力机制以及误差修正的光伏功率预测方法

本发明属于光伏发电预测技术领域,具体涉及一种结合注意力机制以及误差修正的光伏功率预测方法,对光伏功率预测输出进行矫正,根据光伏功率历史数据,对光伏功率进行超短期预测。



背景技术:

由于化石能源受资源储量和环境问题等制约,开发利用可再生能源已成为全球能源发展的必然趋势。光伏发电作为一个具有广阔前景的清洁能源,正成为能源转型的主要方向,今年来发展迅速。但光伏发电的波动性严重阻碍了电网安全可靠的运行,这种波动性或随机性主要是由气象因素引起的,比如辐照度、温度和湿度等环境因素的变化,但预测结果的不准确也经常会对光伏的调度造成影响,从而当其大规模并网时会使其频率超过临界值从而对电网的安全经济运行造成危险。因此建立一个准确的光伏发电预测模型是解决这一问题的有效方法。

基于此。本文提出了一种结合注意力机制以及误差修正的光伏功率预测方法,通过eemd-bilstm-attention-误差修正预测模型的建立,来提高光伏功率的预测精度。但文献《阳霜,罗滇生,何洪英,等.基于emd-lssvm的光伏发电系统功率预测方法研究[j].太阳能学报,2016,37(6):1387-1395.》采用了模态分解加支持向量机的方法直接预测,精度不高还有待提高,不能用于光伏发电的后期区间预测。



技术实现要素:

针对现有技术的不足,本发明的目的在于,提出了一种结合注意力机制以及误差修正的光伏功率预测方法。该预测方法实现了光伏功率预测结果的修正,使预测结果更加准确。

为实现上述目的,本发明采用的技术方案是:

一种结合注意力机制以及误差修正的光伏功率预测方法,该预测方法包括以下内容:

建立注意力机制,将注意力机制的输出连接bilstm神经网络,构成bilstm-attention神经网络模型;

首先选取与待预测日相近的历史相似日的光伏发电序列(光伏发电序列由连续的采样点获得的光伏功率值构成)为训练样本,与待预测日相近的日期为相似日,相似日的数量有三个,并对历史相似日的光伏功率序列(历史相似日指三个相似日)进行集成经验模态分解(eemd),得到不同的分量,然后对每个分量作为输入分别训练一个bilstm-attention神经网络模型,得到每个分量的预测值,所有分量的预测值相加得到总的预测值记为y1;

同时,选取与待预测日相近的历史相似日的光伏发电序列作为训练样本,该训练样本用于直接训练一个bilstm-attention神经网络模型,得到训练样本的预测值,再将相似日的训练样本的预测值与真实的训练样本做差获得误差序列;

对误差序列进行集成经验模态分解(eemd),得到不同的误差序列分量,然后对每个误差序列分量作为输入分别训练一个bilstm-attention神经网络模型,得到每个误差序列分量的预测值,所有误差序列分量的预测值相加得到总的误差预测值记为y2;

则最终的预测结果y为y=y1+y2。

所述注意力机制的输入为t时刻的多种气象特征,构造出气象的时间特征矩阵y,采用特征注意力机制编码来量化权重,得到不同的气象特征在当前时刻对光伏出力的影响关系,即获得不同气象特征的贡献率大小。

与待预测日相近的日期为相似日,相似日的数量有三个,历史相似日的光伏发电序列包括三个相似日的光伏功率数据。

与现有方法相比,本发明的有益效果在于:

1.本发明预测方法中充分考虑了误差序列,经神经网络构造误差序列,并对误差序列进行eemd分解,将各个分量分别带入bilstm-attention网络中进行预测,得到的误差值加到功率预测值后面,即为最终的预测结果。本申请研究的更加细致,对误差序列进行了分解,从而更加凸显误差序列的细节,从而提高稳定性,本申请中用到的网络模型可以为相同的模型,只不过是训练数据的不同,大大减少计算量,能够预测一段时间内的光伏数据(一段时间为半天到一个星期),能够应对突变天气的光伏发电功率变化情况。

2.本发明预测方法采用双向长短期记忆网络(bilstm),克服了传统长短期记忆网络(lstm)只能运用历史的信息来对未来的输出进行预测,无法利用还没有进行输入的序列量的问题。并在输入侧引入注意力机制,来衡量不同天气状况下的输出功率与气象因素之间的关系,实时更新气象数据与输出功率之间的关系,既能提取出重点的关联信息,由考虑具体的关联系数的大小,也考虑了误差的修正,提高了最终的准确性,能用于后期的区间预测。

3.本发明采用eemd分解,解决了传统emd分解模态混淆的问题,通过提取出曲线的细节分量,充分表征了功率曲线的局部特征,使预测结果更加准确。

附图说明

图1bilstm结构图。

图2bilstm-attention模型结构图。

图3本发明预测方法的流程示意图。

具体实施方式

下面结合实施例及附图进一步解释本发明,但并不以此作为对本申请保护范围的限定。

本发明结合注意力机制以及误差修正的光伏功率预测方法,该预测方法的步骤是:

步骤一:相似日的提取

本文根据相应的指标,将相似度较高的天气分为一类,总共分成了四种类型的天气:晴天、多云、突变天气和雨雪天气。

太阳辐照强度与天气类型紧密相关,不同天气类型下光伏系统出力情况差异很大,本文选取的同天气类型下的相似日主要由辐照度,温度和空气湿度来确定。通过这些气象因素对历史日进行搜索,在一定程度上可以提高预测精度。

气象因子匹配系数表示的是预测日与历史日在气象上的相似程度,匹配相似程度越高,相似度越高,根据气象因子匹配系数的大小来确定相似日。通过互信息求出来对光伏发电影响最大的气象因素,构造气象因素特征向量,并通过灰色关联分析来计算出气象因子匹配系数,强化一下主要影响因素,如式(1)所示

ρ为分辨系数在(0,1)范围内取值,通常ρ取0.5,x0(k)代表待预测日的第k个气象因素的值,xm(k)代表第m个相似日的第k个气象因素的值,

步骤二:对训练样本功率序列进行eemd分解

将与待预测日相似的3天日期的光伏输出功率(即光伏发电序列)作为训练样本,并对其进行eemd分解,得到多个imf分量和残差分量。

集成经验模态分解(eemd)是在经验模态分解(emd)的基础上提出来的,通过对原始信号加入高斯白噪声来解决emd所存在的模态混淆的问题,改善了模态混乱的状态,如式(2)所示。

xa(t)=x(t)+ha(t)(a=1,2,...,n)(2)

其中x(t)为原始信号序列,ha(t)为白噪声信号,n白噪声信号的种类数,xa(t)为新得到的光伏电站出力序列。

再对得到的每组序列进行emd分解,得到各imf分量,如式(3)所示

式(3)中a为组别,也就是某种白噪声信号下获得的光伏电站的出力数据组,j为分解的某层,分解的总层数与加入的白噪声信号的种类数相同,都为n;imfaj(t)为第j层第a组模态分解,ra(t)为剩余分量

最后将每次得到的imf分量做集成平均处理,即为最终结果。

其中imfj(t)是新的模态分量。

步骤三:双向长短期记忆网络的训练(bilstm)

lstm是传统的递归神经网络(recurrentneuralnetworks,rnn)的变形,可以通过输入门、遗忘门和输出门来对信息选择保留或删除,式(5-10)可表示为lstm的具体计算公式

ft=α(ωf[ht-1,xt]+βf)(5)

it=α(ωi[ht-1,xt]+βi)(6)

ht=tanh(ωg[ht-1,xt]+βg)(7)

ct=ft*ct-1+it*gt(8)

ot=α(ωo[ht-1,xt]+βo)(9)

ht=ot*tanh(ct)(10)

其中遗忘门、输入门和输出门分别由ft,it和ot表示遗忘门ft可以看成是由输入的xt和ht-1得到,以控制ct-1中遗忘程度,ft中的值∈[0,1],下界值0表示完全遗忘,上界值1表示完全不变。输入门由输入的xt和ht-1得到当前的it以控制状态信息的更新。当前新的状态信息ct可以通过以下的公式计算得到。输出门,xt和ht-1计算得到ot以控制信息的输出,xt为t时刻的输入功率。ω和β表示上述门的权矩阵和偏置向量,ct表示存储单元,tanh代表双曲正切激活函数。

但lstm只能利用前几时刻的信息,只能利用过去的信息。而bilstm是在两个相反的方向的lstm进行计算的,可以利用过去和未来两个方面的信息做出更详细的决策。最后由隐含层将两个不同的结果进行合并。bilstm模型结构参见图1。

从图1中可以看出bilstm的状态ot可由前向隐层状态ht和反向隐层状态ht共同决定的,而前向隐层状态ht是由t时刻的输入xt以及上一时刻的隐层状态共同决定的计算公式如式(11)-(13)所示

ht=f(ω1xt+ω2ht-1)(11)

h′t=f(ω3xt+ω5h′t+1)(12)

ot=g(ω4ht+ω6h′t)(13)

其中ω表示不同单元层之间的权重,bilstm网络包括很多单元层,如图1所示,有输入层、隐藏层、输出层。

步骤四:建立bilstm-attention神经网络模型

由于天气的变化会对光伏功率预测产生很大的影响,造成预测误差的增大。注意力机制可以通过动态调整输入特征的权重,从而改变不同的气象因素对输出所提供的贡献率,从而使预测结果更加准确。

首先利用常见的四种气象因素(辐照度、温度、湿度、风速)构造关于气象的时间特征矩阵y,矩阵y可由下式表示

其中表示第m个气象因素t时刻的数值,本实施例中气象因素的种类数共四个,列是一个气象因素,行代表一个时刻。本文采用特征注意力机制编码来量化权重,从而得到不同的气象特征在当前时刻对光伏出力的影响关系。其结构图如图2所示

将前一时刻的隐层输出ht-1和记忆信息st-1结合当前时刻的气象因素得到每个气象因素在当前时刻所占的权重计算公式如式(15)所示。

其中ve、we和ue为多层感知机需要学习的矩阵权重,be为偏执函数,t为当前时刻。然后使用softmax函数对进行归一化处理,并令所有气象特征权重之和为1,得到特征权重系数计算公式如下:

这里m是任意一个气象因素,k代表不同的气象因素,本实施例中k取值为1-4的整数。

最后将得到的权重系数与所对应的气象因素相乘,即可得到每个气象因素(即气象特征)的贡献率大小的关联特征矩阵yt。

而隐层的状态ht是由上一时刻隐层的状态ht-1以及yt共同决定的,ht的更新公式如下:

ht=f1(ht-1,yt)(18)

其中f1为bilstm网络单元。通过引入注意力机制,使输入层不单纯的只考虑气象特征,而是考虑每个气象因素的关联度大小,加强了强相关因素,弱化了弱相关因素,使其自适应的通过提取不同因素的贡献率来提高预测精度。

将注意力机制和bilstm神经网络相结合,在bilstm神经网络的输入层嵌入注意力机制,形成bilstm-attention神经网络模型架构。

步骤五:构造误差序列

将一个bilstm-attention神经网络模型对相似日训练样本的光伏发电序列直接进行训练预测,得到相似日训练样本的预测值,再将相似日的训练样本的预测值与相似日的真实的训练样本作差即为误差序列。

步骤六:直接将与待预测日相似的基于相似日的光伏发电序列进行eemd分解,分解成不同的分量,将各个分量分别带入到一个bilstm-attention神经网络模型中进行训练预测,获得相应分量的预测值,再将所有分量的预测结果相加记为y1,

对误差序列进行同样的操作,即对误差序列进行eemd分解,得到不同的误差序列分量,然后对每个误差序列分量作为输入分别训练一个bilstm-attention神经网络模型,得到每个误差序列分量的预测值,所有误差序列分量的预测值相加得到总的误差预测值记为y2,最终的预测结果为y=y1+y2。

本申请在预测未来一段时间的光伏发电功率时,要已知预测时段的气象因素,根据上一时刻的光伏发电数据能够预测下一时刻的光伏发电数据,预测下一时刻的时候,将下一时刻的气象因素,输入到bilstm-attention神经网络模型中,得到不同的气象特征在当前时刻对光伏出力的影响关系,将由下一时刻修正后的bilstm-attention神经网络模型,用于后续的预测。

实施例1

本实施例结合注意力机制以及误差修正的光伏功率预测方法,该方法的步骤是:

步骤一:相似日的提取

本文根据相应的指标,将相似度较高的天气分为一类,总共分成了四种类型的天气:晴天、多云、突变天气和雨雪天气。

太阳辐照强度与天气类型紧密相关,不同天气类型下光伏系统出力情况差异很大,本文选取的同天气类型下的相似日主要由辐照度,温度和空气湿度来确定。通过这些气象因素对历史日进行搜索,在一定程度上可以提高预测精度。

气象因子匹配系数表示的是预测日与历史日在气象上的相似程度,匹配相似程度越高,相似度越高,通过互信息求出来对光伏发电影响最大的气象因素,构造气象因素特征向量,并通过灰色关联分析来计算出气象因子匹配系数,强化一下主要影响因素,如式(1)所示

ρ为分辨系数在(0,1)范围内取值,通常ρ取0.5,x0(k)代表待预测日的第k个气象因素的值,xm(k)代表第m个相似日的第k个气象因素的值,

步骤二:对训练样本功率序列进行eemd分解

将与待预测日相似的3天日期的光伏输出功率作为训练样本,并对其进行eemd分解,得到多个imf分量和残差分量。

集成经验模态分解(eemd)是在经验模态分解(emd)的基础上提出来的,通过对原始信号加入高斯白噪声来解决emd所存在的模态混淆的问题,改善了模态混乱的状态,如式(2)所示。

xa(t)=x(t)+ha(t)(a=1,2,...,n)(2)

其中x(t)为原始信号序列,ha(t)为白噪声信号,n白噪声信号的种类数,xa(t)为新得到的光伏电站出力序列。

再对得到的每组序列进行emd分解,得到各imf分量,如式(3)所示

式(3)中a为组别,j为分解层数,imfaj(t)为第j层第a组模态分解,ra(t)为剩余分量

最后将每次得到的imf分量做集成平均处理,即为最终结果。

其中imfj(t)是新的模态分量。

步骤三:双向长短期记忆网络的训练(bilstm)

lstm是传统的递归神经网络(recurrentneuralnetworks,rnn)的变形,可以通过输入门、遗忘门和输出门来对信息选择保留或删除,式(5-10)可表示为lstm的具体计算公式

ft=α(ωf[ht-1,xt]+βf)(5)

it=α(ωi[ht-1,xt]+βi)(6)

ht=tanh(ωg[ht-1,xt]+βg)(7)

ct=ft*ct-1+it*gt(8)

ot=α(ωo[ht-1,xt]+βo)(9)

ht=ot*tanh(ct)(10)

其中遗忘门、输入门和输出门分别由ft,it和ot表示遗忘门ft可以看成是由输入的xt和ht-1得到,以控制ct-1中遗忘程度,ft中的值∈[0,1],下界值0表示完全遗忘,上界值1表示完全不变。输入门由输入的xt和ht-1得到当前的it以控制状态信息的更新。当前新的状态信息ct可以通过以下的公式计算得到。输出门,xt和ht-1计算得到ot以控制信息的输出。ω和β表示上述门的权矩阵和偏置向量,ct表示存储单元,tanh代表双曲正切激活函数。

但lstm只能利用前几时刻的信息,只能利用过去的信息。而bilstm是在两个相反的方向的lstm进行计算的,可以利用过去和未来两个方面的信息做出更详细的决策。最后由隐含层将两个不同的结果进行合并。图2为bilstm模型

从图2中可以看出bilstm在的状态ot可由前向隐层状态ht和反向隐层状态ht共同决定的,而前向隐层状态ht是由t时刻的输入xt以及上一时刻的隐层状态共同决定的计算公式如式(11-13)所示

ht=f(ω1xt+ω2ht-1)(11)

h′t=f(ω3xt+ω5h′t+1)(12)

ot=g(ω4ht+ω6h′t)(13)

其中ω表示不同单元之间的权重。

步骤四:基于bilstm-attention预测模型的训练

由于天气的变化会对光伏功率预测产生很大的影响,造成预测误差的增大。注意力机制可以通过动态调整输入特征的权重,从而改变不同的气象因素对输出所提供的贡献率,从而使预测结果更加准确。

首先利用常见的四种气象因素(辐照度、温度、湿度、风速)构造关于气象的时间特征矩阵y,矩阵y可由下式表示

其中表示第m个气象因素t时刻的数值。本文采用特征注意力机制编码来量化权重,从而得到不同的气象特征在当前时刻对光伏出力的影响关系。其结构图如图2所示

将前一时刻的隐层输出ht-1和记忆信息st-1结合当前时刻的气象因素得到每个气象因素在当前时刻所占的权重,计算公式如式(15)所示。

其中ve、we和ue为多层感知机需要学习的矩阵权重,be为偏执函数。然后使用softmax函数对进行归一化处理,并令所有气象特征权重之和为1,得到特征权重系数计算公式如下:

最后将得到的权重与所对应的气象因素相乘,即可得到每个气象因素的贡献率大小的关联特征矩阵yt。

而隐层的状态ht是由上一时刻隐层的状态ht-1以及yt共同决定的,ht的更新公式如下:

ht=f1(ht-1,yt)(18)

其中f1为bilstm网络单元。通过引入注意力机制,使输入层不单纯的只考虑气象特征,而是考虑每个气象因素的关联度大小,加强了强相关因素,弱化了弱相关因素,使其自适应的通过提取不同因素的贡献率来提高预测精度。

步骤五:构造误差序列

将一个bilstm-attention神经网络模型对相似日训练样本的光伏发电序列直接进行训练预测,得到相似日训练样本的预测值,再将相似日的训练样本的预测值与相似日的真实的训练样本作差即为误差序列。

步骤六:直接将与待预测日相似的基于相似日的光伏发电序列进行eemd分解,分解成不同的分量,将各个分量分别带入到一个bilstm-attention神经网络模型中进行训练预测,获得相应分量的预测值,再将所有分量的预测结果相加记为y1,

对误差序列进行同样的操作,即对误差序列进行eemd分解,得到不同的误差序列分量,然后对每个误差序列分量作为输入分别训练一个bilstm-attention神经网络模型,得到每个误差序列分量的预测值,所有误差序列分量的预测值相加得到总的误差预测值记为y2,最终的预测结果为y=y1+y2。

以某光伏电站为研究对象,因为夜晚辐照度几乎为零,因此选取5:00-20:00时段的数据,每15min采集一个点共60个点,用本发明所提出的eemd-bilstm-attention-误差修正得到方法分别与eemd-bilstm、eemd-bilstm-attention(这两种方法的神经网络模型在运用时,也是对每个分量分别通过各自的网络进行预测,最后加和获得最终预测值)进行对比建立光伏功率短期预测模型,天气状况分别为晴天、多云、雨雪和突变天气,预测误差对比结果如表1所示。

表1预测误差比较

由表1可知本发明所提出的方法对比其他方法在不同天气的预测精度上都有了很大的提高,证明了本发明所提出的方法的有效性。

本发明未述及之处适用于现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1