基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预
测方法
技术领域
本发明涉及深度学习光伏预测技术领域,具体为基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法。
背景技术
随着石油、煤炭等化石燃料被大量使用并逐渐走向枯竭,世界各国既要应对能源缺乏,又要应对环境恶化;发展可再生新能源已经成为各国的首要选择,太阳能作为可再生新能源的一种,不受地域限制的辐照在地球表面,具有可再生能力强、清洁环保、资源丰富、开发利用方便等优点,据国际能源署统计,在全球4%的沙漠面积上建立光伏场站,其产能足以满足全世界生产发展的能源需要;2020年全球光伏市场新增装机容量达到134GW,并有持续增长的趋势,到2025年预计可达到145GW。
随着“碳达峰”和“碳中和”的提出,清洁能源如今得到进一步重视,其中太阳能是一种备受关注的可再生能源,其具有无污染,价格低,易获取和无运输等特点;太阳能发电的主要形式是光伏发电,近年来,全球范围内的光伏发电都在以较快的速度增长,光伏发电为世界提供了清洁能源,减少了经济社会发展过程中对化石能源等一次能源的依赖;太阳能虽然来源广泛,但由于天气状况的混沌性和不稳定性和昼夜周期性影响,光伏发电具有强烈的不确定性和动态性,光伏电站是一种典型的间歇性电源,因此光伏发电***具有不稳定性和不可控性,从而导致电波动,可能严重影响电力***的运行、调度和规划,给光伏发电***的管理和运行带来挑战,因此光伏发电功率的准确预测是确定合理的运行计划和短期调度计划的关键解决方案之一;精确度高的光伏功率预测同样会提高光伏电能的有效利用率以及电网运转效率,对减少经济损失都有极大作用。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述存在的问题,提出了本发明。
因此,本发明解决的技术问题是:现有光伏功率预测方法,预测准确性低、计算复杂度高、受环境因素影响大的问题。
为解决上述技术问题,本发明提供如下技术方案:基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法,包括:获取楼宇屋顶光伏出力历史数据并对所述数据进行预处理,采用VMD算法分解预处理后的数据,将分解后得到的各模态分量进行归一化;利用归一化后的数据构建CNN卷积神经网络并进行特征提取,采用正则化方法在Dropout层丢失部分神经元;通过双向长短期记忆神经网络层进行双向的时序特征以及内部变化规律的学习;利用attention机制计算双向长短期记忆神经网络隐层状态的不同权重,整合文本信息作为楼宇屋顶光伏预测模型输出层的输入,从而得到归一化的预测结果。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述楼宇屋顶光伏出力历史数据包括以30min为采样间隔,时间跨度为一年的时间序列。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述预处理的过程包括,
将采集的长时间序列切割,分离出日负荷时间序列;
对分离出来的日负荷时间序列进行解析、数据清洗以及数据补充;
确定预处理所用时间序列的时间范围,在所述时间范围内,若光伏数据始终为零则判定为异常,去除该日数据,若光伏数据只在某个取样点缺失,对缺失数据采用均值法进行填充,该均值采用样本数据平均值。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述VMD算法的分解过程包括将预处理后的光伏发电功率序列数据分解成k个不同的模态分量,对得到的若干个模态分量子序列分别建模预测并重构,分解过程包括问题的建立和问题的求解两个过程;
所述问题的建立包括,
从所述光伏发电功率序列数据中提取k个模态分量,采用希尔伯特变换对每个模态分量进行信号解析,得到单边频谱;
通过计算解调信号的梯度二范数,估计出每个模态的带宽限制条件是原始光伏发电功率序列数据的k个分解信号量之和;
所述分解问题的目标函数的计算包括,
其中,μk(t)表示t时刻第k个分解的信号量,ωk表示t时刻第k个分解信号量的中心频率,t表示时刻,表示对时刻t求微分,δ(t)表示单位冲击函数,j表示虚数单位,|| ||2表示二范式函数,s.t.表示约束条件,f(t)表示经过异常处理后的t时刻的电力负荷数据;
所述问题的求解包括,
对于每个模态确定对应带宽的约束问题,引入增广拉格朗日函数,变成无约束问题求解;
所述无约束问题求解的计算包括,
其中,L(·)表示增广拉格朗日函数,μk表示第k个分解的信号量,λ(t)表示拉格朗日乘法算子,α表示二次惩罚因子,<·>表示内积计算;
两种参数采用交替方向乘子法计算扩展的Lagrange表达式的“鞍点”,得到光伏发电功率序列的k个模态分量的极小值;
所述光伏发电功率序列的k个模态分量的极小值的计算包括,
其中,表示当前剩余量的维纳滤波,n表示迭代次数,/>表示 f(t)对应的傅里叶变换,/>表示μk对应的傅里叶变换,/>表示λ(t)对应的傅里叶变换,ω表示频率;
电力负荷的k个模态分量中心频率的最小值的计算包括,
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述归一化处理包括,
对分解得到的多个模态分量进行归一化处理,以含有其中一段时间序列的数据为例,按照时间顺序将数据记为X={x1,x2,x3,...,xn},使数据映射在 0~1之间;
所述归一化处理的计算包括,
其中,yi表示归一化后数据,xi表示时间序列的原始数据,xmin表示时间序列的最小值,xmax表示时间序列的最大值;
经过所述归一化处理后得到新序列记为Y={y1,y2,y3,...,yn},将所述新序列按照8:1:1的比例划分为训练集、验证集和测试集。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述CNN卷积神经网络的构建包括,
将经过数据清洗、数据补充、VMD平稳化和归一化处理后的屋顶光伏数据的k个模态分量中的训练集输入到卷积层进行特征提取;
通过sigmoid激活函数对所述卷积层的输出进行非线性映射;
所述激活函数的计算包括,
其中,h(x)表示激活函数的输出,x表示激活函数的输入;
将所述激活函数的输出输入到池化层,采用最大池化方法对特征数据进行降维处理;
对卷积层和池化层进行堆叠,整合特征信息输出到dropout层。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述dropout层的构建包括,
dropout层的输入在前向传播的时候,使用正则化方法,让神经元的激活值以一定的概率p停止工作,即对部分神经元丢失,避免模型过拟合。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述双向长短期记忆神经网络层的构建包括,
通过sigmoid激活函数的神经层和一个逐点相乘的操作选择性地让所述特征信息通过实现对遗忘门的构建,同时构建输入门和输出门,并新增一个隐藏状态;
所述遗忘门f(t)、输入门i(t)和输出门o(t)的构建包括,
f(t)=σ(Wfht-1+Ufxt+bf)
i(t)=σ(Wiht-1+Uixt+bi)
a(t)=tanh(Waht-1+Uaxt+ba)
o(t)=σ(Woht-1+Uoxt+bo)
c(t)=c(t-1)*f(t)+i(t)*a(t)
其中,σ表示sigmoid激活函数,Wf、Wi、Wo、Wa分别表示遗忘门、输入门、输出门和特征提取过程中ht-1的权重系数,ht-1表示t–1时刻的隐层状态值,Uf、Ui、Uo、Ua分别表示遗忘门、输入门、输出门和特征提取过程中xt的权重系数,xt表示t时刻的输入,bf、bi、bo、ba分别表示遗忘门、输入门、输出门和特征提取过程中的偏置值,a(t)表示输入门单元tan函数的输出, tanh表示tanh的激活函数,c(t)表示更新后的细胞状态,c(t-1)表示未更新时的细胞状态;
细胞状态c(t)得到更新后,将细胞状态通过一个tanh进行处理,并将结果与sigmoid的输出相乘即可以得到输出部分;
t时刻的隐藏层状态h(t)的计算包括,
h(t)=o(t)*tanh(c(t))
在t时刻的双向长短期记忆神经网络结构的总输出值为前向长短期记忆神经网络结构和后向长短期记忆神经网络结构的输出之和;
所述总输出值的计算包括,
其中,表示前向长短期记忆神经网络结构的输出,/>表示后向长短期记忆神经网络结构的输出,ht+1表示t+1时刻的隐层状态值,ct+1表示t+1时刻的细胞状态,/>表示向量取和操作。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述attention层的构建包括,
将双向长短期记忆神经网络结构的输出及特征向量信息作为attention层的输入,对特征信息向量分配不同的权重;
将分配好的不同权重的特征信息向量输入到全连接层进行数据文本信息的整合;
将整合后的文本信息作为楼宇屋顶光伏预测模型输出层的输入,得到归一化的预测结果。
作为本发明所述的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的一种优选方案,其中:所述预测结果的评估包括,
采用均方根误差RMSE、平均绝对误差MAE以及拟合优度R2作为评估指标,具体的计算包括,
其中,m表示训练集总容量,fi表示网络预测值,yi表示实际测试值,表示实际值取平均。
本发明的有益效果:本发明针对随机性、波动性较强的光伏发电功率序列,利用VMD方法对其进行平稳化处理,得到若干个规律性较强的子序列,不仅能够避免模态混叠现象,而且能减小在分解预测重构时的误差,具有更好的适应性和分解效果;针对电力负荷的影响因素,利用CNN结构进行特征的提取,并使用双向长短期记忆神经网络BI-LSTM层进行双向的时序特征以及时序内部变化规律的学习,利用attention机制计算BI-LSTM隐层状态的不同权重,实现对隐含状态的选择性关注;本发明通过对光伏负荷数据进行特征提取、特征学习以及选择性关注的处理,可以有效地过滤数据集的噪声和不利影响成分,提高对楼宇屋顶光伏出力的预测精度,为楼宇屋顶光伏***提供预测提供更高质量的服务。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例提供的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的***结构示意图;
图2为本发明第一个实施例提供的基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的光伏功率预测方法流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~2为本发明的一个实施例,提供了基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法,包括:
S1:获取楼宇屋顶光伏出力历史数据并进行预处理,采用VMD算法分解预处理后的数据,将分解后得到的各模态分量进行归一化。需要说明的是:
楼宇屋顶光伏出力历史数据包括以30min为采样间隔,时间跨度为一年的时间序列;
进一步的,预处理的过程包括将采集的长时间序列切割,分离出日负荷时间序列;对分离出来的日负荷时间序列进行解析、数据清洗以及数据补充;通过观察不同家庭日光伏集中出力时间和日负荷变化趋势,确定预处理所用时间序列的时间范围;本发明确定9:30-16:30时间段为处理区间,在处理区间内,若光伏数据始终为零则判定为异常,去除该日数据,若光伏数据只在某个取样点缺失,对缺失数据采用均值法进行填充,该均值采用样本数据平均值;
再进一步的,VMD算法将预处理后的光伏发电功率序列数据分解成k个不同的模态分量,对得到的若干个子序列分别建模预测并重构,分解过程包括问题的建立和问题的求解两个过程;
问题的建立包括,
从光伏发电功率序列数据中提取k个模态分量,采用希尔伯特变换对每个模态分量进行信号解析,得到单边频谱;
通过计算解调信号的梯度二范数,估计出每个模态的带宽限制条件是原始光伏发电功率序列数据的k个分解信号量之和,分解问题目标函数的计算包括,
其中,μk(t)表示t时刻第k个分解的信号量,ωk表示t时刻第k个分解信号量的中心频率,t表示时刻,表示对时刻t求微分,δ(t)表示单位冲击函数,j表示虚数单位,|| ||2表示二范式函数,s.t.表示约束条件,f(t)表示经过异常处理后的t时刻的电力负荷数据;
问题的求解包括,
对于每个模态确定对应带宽的约束问题,引入增广拉格朗日函数,变成无约束问题求解,该无约束问题求解的计算包括,
其中,L(·)表示增广拉格朗日函数,μk表示第k个分解的信号量,λ(t)表示拉格朗日乘法算子,α表示二次惩罚因子,<·>表示内积计算;
两种参数采用交替方向乘子法计算扩展的Lagrange表达式的“鞍点”,得到光伏发电功率序列的k个模态分量的极小值;
光伏发电功率序列的k个模态分量的极小值的计算包括,
其中,表示当前剩余量的维纳滤波,n表示迭代次数,/>表示 f(t)对应的傅里叶变换,/>表示μk对应的傅里叶变换,/>表示λ(t)对应的傅里叶变换,ω表示频率;
电力负荷的k个模态分量中心频率的最小值的计算包括,
通过VMD分解出电力负荷数据的出k个模态的分量μk和中心频率ωk;
应说明的,针对随机性、波动性较强的光伏发电功率序列,利用VMD 方法对其进行平稳化处理,得到若干个规律性较强的子序列,不仅能够避免模态混叠现象,而且能减小在分解预测重构时的误差,具有更好的适应性和分解效果,能够有效提取原始光伏发电功率序列的细节信息并消除噪声对预测的干扰,在后期的负荷预测中实现更高的精度;
更进一步的,归一化处理包括对分解得到的多个模态分量进行归一化处理,以含有其中一段时间序列的数据为例,按照时间顺序将数据记为 X={x1,x2,x3,...,xn},使数据映射在0~1之间;
归一化处理的计算包括,
其中,yi表示归一化后数据,xi表示时间序列的原始数据,xmin表示时间序列的最小值,xmax表示时间序列的最大值;
应说明的,经过归一化处理后得到新序列记为Y={y1,y2,y3,...,yn},将新序列按照8:1:1的比例划分为训练集、验证集和测试集。
S2:利用归一化后的数据构建CNN卷积神经网络并进行特征提取,采用正则化方法在Dropout层丢失部分神经元。需要说明的是:
CNN卷积神经网络的构建包括,
将经过数据清洗、数据补充、VMD平稳化和归一化处理后的屋顶光伏数据的k个模态分量中的训练集输入到卷积层进行特征提取;
通过sigmoid激活函数对卷积层的输出进行非线性映射,将输入映射到 [0,1]之间;
激活函数的计算包括,
其中,h(x)表示激活函数的输出,x表示激活函数的输入;
将激活函数的输出输入到池化层,采用最大池化方法对特征数据进行降维处理;
应说明的,降维处理的过程是将输入的数据划分为若干个矩形区域,对每个子区域输出最大值;这种机制能够有效地原因在于发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要,池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合;
对卷积层和池化层进行堆叠,整合特征信息输出到dropout层;
应说明的,将降维处理后的特征数据作为flatten层的输入,把多维的输入一维化整合输出到dropout层,dropout层的输入在前向传播的时候,使用 Dropout的正则化方法,让神经元的激活值以一定的概率p(本发明取0.5)停止工作,即对部分神经元丢失,避免模型过拟合,同时不会太依赖某些局部的特征,提升模型的泛化能力。
S3:通过双向长短期记忆神经网络层进行双向的时序特征以及内部变化规律的学习。需要说明的是:
双向长短期记忆神经网络层的构建包括,
通过sigmoid激活函数的神经层和一个逐点相乘的操作选择性的让特征信息通过,实现对遗忘门的构建,同时构建输入门和输出门,并新增一个隐藏状态;
遗忘门f(t)、输入门i(t)和输出门o(t)的构建包括,
f(t)=σ(Wfht-1+Ufxt+bf)
i(t)=σ(Wiht-1+Uixt+bi)
a(t)=tanh(Waht-1+Uaxt+ba)
o(t)=σ(Woht-1+Uoxt+bo)
c(t)=c(t-1)*f(t)+i(t)*a(t)
其中,σ表示sigmoid激活函数,Wf、Wi、Wo、Wa分别表示遗忘门、输入门、输出门和特征提取过程中ht-1的权重系数,ht-1表示t–1时刻的隐层状态值,Uf、Ui、Uo、Ua分别表示遗忘门、输入门、输出门和特征提取过程中xt的权重系数,xt表示t时刻的输入,bf、bi、bo、ba分别表示遗忘门、输入门、输出门和特征提取过程中的偏置值,a(t)表示输入门单元tan函数的输出, tanh表示tanh的激活函数,c(t)表示更新后的细胞状态,c(t-1)表示未更新时的细胞状态;
进一步的,细胞状态c(t)得到更新后,将细胞状态通过一个tanh进行处理,并将结果与sigmoid的输出相乘即可以得到我们确定的输出部分;
t时刻的隐藏层状态h(t)的计算包括,
h(t)=o(t)*tanh(c(t))
更进一步的,在t时刻的双向长短期记忆神经网络结构的总输出值为前向长短期记忆神经网络结构和后向长短期记忆神经网络结构的输出之和;
总输出值的计算包括,
其中,表示前向长短期记忆神经网络结构的输出,/>表示后向长短期记忆神经网络结构的输出,ht+1表示t+1时刻的隐层状态值,ct+1表示t+1时刻的细胞状态,/>表示向量取和操作。
S4:利用attention机制计算双向长短期记忆神经网络隐层状态的不同权重,整合文本信息作为楼宇屋顶光伏预测模型输出层的输入,从而得到归一化的预测结果。需要说明的是:
attention层的构建包括,
将双向长短期记忆神经网络结构的输出及特征向量信息作为attention层的输入,对特征信息向量分配不同的权重;
利用分配好的不同权重的特征信息向量输入到全连接层进行数据文本信息的整合;
将整合后的文本信息作为楼宇屋顶光伏预测模型输出层的输入,得到归一化的预测结果;
进一步的,预测结果的评估包括采用均方根误差RMSE、平均绝对误差 MAE以及拟合优度R2作为评估指标,具体的计算包括,
其中,m表示训练集总容量,fi表示网络预测值,yi表示实际测试值,表示实际值取平均。
应说明的,本发明针对随机性、波动性较强的光伏发电功率序列,利用 VMD方法对其进行平稳化处理,得到若干个规律性较强的子序列,不仅能够避免模态混叠现象,而且能减小在分解预测重构时的误差,具有更好的适应性和分解效果;针对电力负荷的影响因素,利用CNN结构进行特征的提取,并使用双向长短期记忆神经网络BI-LSTM层进行双向的时序特征以及时序内部变化规律的学习,利用attention机制计算BI-LSTM隐层状态的不同权重,实现对隐含状态的选择性关注;本发明通过对光伏负荷数据进行特征提取、特征学习以及选择性关注的处理,可以有效地过滤数据集的噪声和不利影响成分,提高对楼宇屋顶光伏出力的预测精度,为楼宇屋顶光伏***提供预测提供更高质量的服务。
实施例2
该实施例不同于第一个实施例的是,提供了基于VMD-BILSTM神经网络融合注意力机制的屋顶光伏功率预测方法的验证测试,为对本方法中采用的技术效果加以验证说明,本实施例采用传统技术方案与本发明方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
选取南京市江宁区楼宇屋顶光伏进行短期功率预测,包含三家用户屋顶共 365天数据,取30min为一个间隔,每日包含48个采样点;根据实际选用的数据集,输入序列为连续五天的0:00-11:59采样间隔为30min的48*5光伏出力功率;将VMD处理后的数据按照8:1:1比例划分训练集、验证集、测试集,得到对基于VMD-BiLSTM神经网络融合attention机制模型与传统LSTM结构模型所预测出来的结果的评估,如表1所示。
表1:预测性能指标。
从表1可以看出本发明所提出的VMD+CNN+BI-LSTM+attention的混合模型在均方根误差、平均绝对误差和拟合优度三个评估指标上都有着优异表现,说明基于VMD-BILSTM神经网络融合attention机制模型的预测结果更加准确、计算复杂度更低,有效提取原始光伏发电功率序列的细节信息,使神经网络学习到对光伏发电功率影响更大的因素,提高预测模型的准确性。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。