一种多风机风速时空预测方法及系统

未命名 10-21 阅读:73 评论:0


1.本发明属于风电机组风速预测领域,尤其涉及一种多风机风速时空预测方法及系统。


背景技术:

2.风能是由于自然界中的空气流动所产生的一种能量,它可以协调大气系统中物质和能量的交换,平衡区域的气候状况。它具有化石能源所无法比拟的无污染、可再生的优点,而风电作为可再生清洁能源可较好地满足未来不断增长的用电需求。但由于风电的高波动性及其不确定性会对电力系统的安全稳定运行产生重大影响,因此准确的风速预测能够大大减小风电的不确定性对电力系统的影响,能缓解风电并网对电力系统产生的不利因素,有效提高风电的利用率和经济效益。风速预测对风力发电并网及整个电力系统都有非常重要的意义,并且积极响应国家的“双碳政策”,本发明为风速预测提供一定的解决方案。
3.目前,国内外对于风力发电的研究较为深入和广泛,风电预测领域主要包括风电功率预测和风速预测,一般认为,风电功率与风速之间存在确定的非线性关系,因此本质上风电功率预测和风速预测可看作同一类型问题来进行研究。为了提高风电预测的准确性,国内外的许多专家学者都对其进行了深入研究并提出了相应的预测方法。部分文献采用支持向量机等机器学习方法预测单台风机的风速;由于风速序列存在强波动性和非平稳性的特征,部分文献提出的模态分解方法和神经网络相结合的组合风速预测模型大大提高了预测的精度。目前大多数工作是针对于单台风机或者将整个风电场视作一个整体进行风速预测研究,但是风电场中的风机分布在不同的地理位置上,针对单一对象的预测模型忽略了风电场中风电机组间的时空相关性,利用空间邻近信息可提高时间序列预测能力,因此有文献提出基于卷积神经网络(cnn)的多风机风速预测模型来提取潜在的空间特征。但cnn本质上只适用于欧几里得空间,比如风机分布类似于图像的规则网格分布的风场,所以基于cnn的预测模型存在一定的限制。随着图神经网络(gnn)的发展,其在非欧式空间领域,如社交网络、分子结构及交通流量预测领域的研究取得较大成果。同时由于深度神经网络的不断发展,循环神经网络(rnn)及其变体长短期记忆网络(lstm)、门控循环单元(gru)等模型在时序预测中使用较广。此外,注意力机制作为一种资源分配模型,能有效加强重要部分的信息,而忽略不重要的信息,让机器学习到对目标更重要部分的信息,从而实现对信息的加权;多任务学习可以同时考虑多个任务间的内在联系从而提高任务的学习效果。因此本发明将图神经网络和深度学习的预测模型结合在一起进行多风机风速预测。
4.目前基于图神经网络的深度学习方法在多风机、多场风速风功率预测领域有着较好的表现,但是这些方法大多是基于风机或风场位置结构信息构建的人为预定义的图结构。该种预定义的图结构通常是静态的,它不能反映风电机组特征间动态的空间关系,并且预定义图的质量高度依赖于人的经验。同时基于gcn的空间特征提取方法在提取不规则非欧式空间相关性时,只能对邻域节点赋予相同的重要性,为准确描述多风机随时间变化的空间依赖,本发明提出了一种自适应动态图结构来表征多风机间的动态空间关系,利用gat
模型来提取空间特征,为多风机风速的准确预测提供基础。
5.循环神经网络rnn能够较好处理特征的长依赖信息和捕捉长记忆关系,选择双向gru模型建模风机特征的时序建模,相较于传统的rnn模型(如lstm,gru),可以获取更多的特征信息。而注意力机制可以计算数据全局和局部间的时间关联信息,突出关键信息的重要性,将多头注意力机制和双向gru结合可有效提取多风机风速间的关联特征和顺序特征,提高风速预测的准确性。本发明中的多风机风速预测模型可以看作进行多次单台风机风速预测任务,因此结合多任务学习可以学习不同风机风速预测任务中的内在联系,从而提升多风机风速预测的效果。
6.通过上述分析,现有技术存在的问题及缺陷为:
7.(1)高波动性和不确定性:由于风力发电依赖于风速,而风速受气候、季节、地形等多因素影响,具有很大的不确定性和波动性,这给风力发电的预测和调度带来了很大的困难。
8.(2)预测模型的局限性:目前的预测模型主要针对单台风机或者将整个风电场视作一个整体进行预测,忽略了风电场中风机之间的时空相关性,不能充分利用空间信息,这限制了预测模型的效果。
9.(3)图结构的静态性:现有的基于图神经网络的深度学习方法大多基于风机或风场位置的结构信息构建预定义的图结构,这种图结构通常是静态的,不能反映风电机组特征之间动态的空间关系,依赖人的经验,质量不一。
10.(4)重要性赋值问题:基于图卷积网络的空间特征提取方法在提取不规则非欧式空间相关性时,只能对邻域节点赋予相同的重要性,不能准确描述多风机随时间变化的空间依赖关系。


技术实现要素:

11.本发明提出一种较为准确的基于自适应动态图神经网络、双向门控循环单元、结合注意力机制和多任务学习策略的深度神经网络的多风机风速预测方法。现有风速预测模型大多只考虑了单个风机或风场的风速等相关特征,由于风能是因大气环境系统运动产生的,不同空间位置的风速之间存在一定的影响。一般方法中对于图结构的构建往往依赖于人为的主观设置,且大多为静态图结构,忽略了大气系统是动态变化的系统。本发明中所提方法提出了自适应的动态图结构,考虑了空间位置及不同风机多变量特征间的相关关系。能有效聚合邻域风机的空间特征,适用于多台风电机组的风速预测,同时结合双向gru模型和注意力机制,提取长期和短期时间特征,并在多风机风速预测任务中利用多任务学习策略,考虑了多个任务间的内在联系,上述方法可有效提高多风机风速的预测精度。为实现上述要求,本发明采用以下技术方案。
12.针对具有时空特征的多风机风速预测问题,在本发明中主要分两个阶段对其进行研究,第一阶段是提取区域多台风电机组间特征的空间特征,第二阶段是在获取的包含邻域风机空间信息的基础上,提取多台风机特征的时序特征,最后获取多台风电机组的风速预测结果。
13.本发明是这样实现的,一种多风机风速时空预测方法,该方法包括:
14.s1:获取区域多风机的风速数据、风机位置坐标(经纬度)及风向、气温、气压等天
气变量相关特征数据及进行相关数据预处理;
15.s2:对于数据预处理后的数据,基于pytorch框架来进行建模步骤;
16.s3:构造多风机空间特征提取模型;
17.s4:构建区域多风机风速预测的时序特征提取模型;
18.s5:模型训练与超参数调整;
19.s6:选择多种评价指标来评价模型的预测效果。
20.进一步,所述s1具体包括:
21.对于原始数据,利用数据最大-最小归一化方法对原始数据按照风机的各个特征进行归一化,将其分别处理到(0,1)范围以减少不同量纲对预测结果的影响,其具体实现方式如下所示:
[0022][0023]
上式中,为归一化之后的特征值,x为原始数据,x
max
和x
min
分别表示特征的最大值和最小值。
[0024]
进一步,所述s2具体包括:
[0025]
利用dataset类来构造数据集,具体表现为以下形式:
[0026][0027]
其中,x表示模型的输入特征,h为历史时间步长,f
t
(f
t
∈rn×d)为t时间步的特征;y表示标签值,s
t+1
(s
t+1
∈rn)表示t+1时间步的风速值。
[0028]
同时,在该步骤中,将构造好的数据集按照7:1:2的比例划分为训练集、验证集和测试集。
[0029]
进一步,所述s3具体包括:
[0030]
在区域多风机风速预测模型中,可分为两个阶段分别提取空间、时间特征,实现最终的多风机风速预测,在该步骤中主要构造空间特征提取模型,选择改进的gat模型来实现,其区别于gcn模型,它可以针对邻域节点赋予不同的权重,针对本发明所提的自适应动态gat模型,其具体实现方式可表示为构造多风机的拓扑结构图及空间特征提取;
[0031]
不同与一般的人为设置风机连接状态的阈值,在该步骤中构造自适应的节点连接关系,其通过网络以端到端的方式学习节点间的空间连接,主要实现方式如下所示:
[0032][0033]
在上式中,l为初始化可学习的连接矩阵,考虑到节点自身的影响,因此加上了单位矩阵i。最后缩放到(0,1)区间,表示节点间的静态连接关系,可学习的连接矩阵可表示为:
[0034][0035]
其中,l
ij
为学习到的风机i和风机j的连接关系;
[0036]
然而大气系统运动是一个动态变化的过程,不同时间步上风机间的相互影响可能不同,即风机间的连接关系随时间变化,因此在本步骤中为了实现动态连接关系,考虑了时间轴上风机间特征的相关性变化过程,具体表示为在每个时间步上计算节点间的相关系数,在该步骤中选择互信息来计算两两风机所有特征间的互信息数,可以较好反映风机间的相关程度,从而构造相关性权重矩阵,其计算方法如下:
[0037][0038]
上式计算了时间步t上风机i和风机j间的互信息数mi
t
(f
it
,f
jt
),其中f
it
,f
jt
分别表示该时间步风机i、j对应的特征,p(f
it
)和p(f
jt
)分别表示f
it
和f
jt
的边缘密度函数,p(f
it
,f
jt
)为f
it
和f
jt
的联合密度函数。因此可以构造出动态相关性权重矩阵c
t
如下所示:
[0039][0040]
上式表示在时间步t上的相关性权重矩阵,表示上面计算的互信息值,反映了风机节点间的相关性程度,同时在考虑自身影响后也加上了单位矩阵;
[0041]
构造了风机间的距离权重矩阵来反映了这个关系。距离权重矩阵d计算方式如下:
[0042][0043]
上式中d
ij
表示风机i、j间的欧式距离。
[0044]
通过半正矢公式(haversine formula)将风机的经纬度坐标转换为欧式距离,其计算方式如下所示:
[0045][0046]
上式中,dis为两点间的距离,lat1,lat2分别为节点i,j的纬度。a为两点纬度之差,b为两点经度之差,r为地球赤道半径;
[0047]
利用风机的经纬度坐标值可计算出距离权重矩阵d:
[0048]
[0049]
上述距离权重矩阵中d
ij
表示两两节点间的距离权重,基于可学习的连接矩阵动态相关性权重矩阵c
t
和距离权重矩阵d,构造出本发明中的自适应动态邻接矩阵a,其计算方式为:
[0050][0051]
上式中,

表示哈达玛积,表示矩阵对应元素相乘。
[0052]
基于该步骤中确定的自适应动态邻接矩阵,利用改进gat来提取风机特征间的动态空间特征,构造图注意力层来提取节点间的特征。在本发明中的节点输入特征可以表示为:
[0053]
f={f1,f2,

,fn}(fi∈rm)
[0054]
通过图注意力层产生新的节点特征:
[0055]
f’={f1’
,f
’2,

,f’n
}(f
i’∈r
m’)
[0056]
上面式子中的n表示风机台数,m和m’分别为节点的输入和输出特征的数目。
[0057]
接下来计算节点间的注意力系数α
i,j

[0058][0059]
在该式中,λ表示节点i的一阶邻域,通过可学习的权重矩阵w∈r
t
’×
t
将原始输入特征转换为更高级别的特征表示,将共享的自注意力机制a∈r
2t’应用到每个节点,其由权重向量参数化的单层前馈神经构成。然后通过softmax函数对注意力系数进行归一化,得到最终的注意力系数α
i,j

[0060]
基于获得的注意力系数α
i,j
,接下来可以更新节点的特征表示:
[0061][0062]
上式中,p表示节点特征的数目,在本发明中每个节点均有四个特征(风速,风向,温度,气压),该公式可以获得节点i的p个注意力系数。然后利用多头注意力机制得到节点特征更新的表示:
[0063][0064]
其中,k表示独立的注意力机制个数。
[0065]
区别于一般的gat,利用之前步骤中获取的自适应动态邻接矩阵,利用以下式子进行最后的节点特征更新:
[0066][0067]
上式中为基于邻接矩阵的对角矩阵,为对称归一化操作。至此,通过上述步骤,针对具有时空特性的区域多风机数据,基于自适应动态gat模型,实现对n台风机的空间特征提取任务。
[0068]
进一步,所述s4具体包括:
[0069]
为有效提取时间序列间的潜在时序特征,选择双向gru网络作为特征提取模型,基于上个步骤中的空间特征提取模型的输出,将其作为双向gru的输入,对于普通gru模型的计算方法如下:
[0070][0071]
模型的输出h
t
取决于上一时刻的输出h
t-1
和当前时刻输入x
t
,rt和zt分别表示重置门和更新门状态。为候选集状态,wr、wz和wh分别为对应的可学习参数矩阵。“σ”表示sigmoid激活函数,“tanh”表示tanh激活函数,“·”表示矩阵点乘,“*”表示矩阵乘积。对于双向gru的状态更新依赖于两个方向的gru状态,如下所式:
[0072][0073]
对于上述双向gru模型,能较好的提取正向和方向两个方向的时序特征,对于上述双向gru模型,能较好的提取正向和方向两个方向的时序特征,分别表示两个方向t时刻gru的隐藏状态,表示矩阵对于元素求和。使其能获得较好的效果;
[0074]
在该步骤中为进一步加强时序特征的提取,在双向gru的基础上结合多头注意力机制,加强对时序特征的有效提取,其具体实现方式为在双向gru的输出层后再加上一个multi-head attention层,将双向gru的输出特征作为多头注意力层的输入,实现对重要时刻特征的权重增强。对于多头注意力机制的实现,其具体计算方式如下:
[0075]
multi(q,k,v)=concat(headi,

headn)wo[0076]
其中,headi为单个注意力机制的计算方法,将n个注意力机制拼接,然后利用可学习的权重矩阵wo,实现多头注意力机制的计算;
[0077]
在模型的特定任务层,针对每一个任务,利用一个全连接层将多头注意力机制的输出转化为该任务对应的模型输出,多个任务对应多台风机的风速预测值。
[0078]
进一步,所述s5具体包括:
[0079]
选择l1 loss函数作为模型的损失函数,其计算方法为,对于多任务学习模型,针对每一个任务设置一个损失函数,并且每个任务都有其独立的损失函数权重wm:
[0080][0081]
上式中,n表示样本的数量,yi和分别表示标签的真实值和预测值,lm表示第m个任务的损失函数,l
mtl
表示多任务学习模型的损失函数,即损失函数;
[0082]
设置模型的历史时间步为30,利用其预测未来一个时间步的风速值。通过误差的反向传播与梯度更新策略,使用adam算法作为优化算法,基于训练集的训练好的模型参数,将其应用到验证集,选择效果最好的模型参数作为最终的模型参数从而应用到测试集。
[0083]
进一步,所述多种评价指标计算公式分别为:
[0084][0085][0086][0087]
上面式子中的n表示样本的数量,yi和分别表示标签的真实值和预测值。
[0088]
本发明另一目的在于提供一种实施所述多风机风速时空预测方法的一种多风机风速时空预测系统,该系统包括:
[0089]
特征数据获取模块,用于获取区域多风机的风速数据、风机位置坐标(经纬度)及风向、气温、气压的相关特征数据;
[0090]
建模模块,与特征数据获取模块连接,用于对于数据预处理后的数据,基于pytorch框架来进行建模步骤;
[0091]
模型构建模块,与建模模块连接,用于构造多风机空间特征提取模型和构建区域多风机风速预测的时序特征提取模型;
[0092]
模型训练与超参数调整模块,与模型构建模块连接,用于模型训练与超参数调整;
[0093]
预测结果评价模块,与模型训练与超参数调整模块连接,用于选择多种评价指标来评价模型的预测效果。
[0094]
本发明另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述多风机风速时空预测方法的步骤。
[0095]
本发明另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述多风机风速时空预测方法的步骤。
[0096]
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
[0097]
第一、本发明提出了一种自适应动态图结构来表征多风机风速间的动态空间关系,结合gat模型为多风机风速的准确预测提供基础。
[0098]
循环神经网络rnn能够较好处理特征的长依赖信息和捕捉长记忆关系,选择双向gru模型建模风机特征的时序建模,相较于传统的rnn模型(如lstm,gru),可以获取更多的特征信息。而注意力机制可以计算数据全局和局部间的时间关联信息,突出关键信息的重要性,将多头注意力机制和双向gru结合可有效提取多风机风速间的关联特征和顺序特征,提高风速预测的准确性。本发明中的多风机风速预测模型可以看作进行多次单台风机风速预测任务,因此结合多任务学习可以学习不同风机风速预测任务中的内在联系,从而提升多风机风速预测的效果。
[0099]
第二,本发明中所提方法考虑了自适应的动态图结构,同时考虑了空间位置及不同风机多变量特征间的相关关系。能有效聚合邻域风机的空间特征,适用于多台风电机组的风速预测,同时结合双向gru模型和注意力机制,提取长期和短期时间特征,并在多风机风速预测任务中利用多任务学习策略,考虑了多个任务间的内在联系,上述方法可有效提高多风机风速的预测精度。
[0100]
第三,本发明的技术方案填补了国内外业内技术空白:
[0101]
本发明将图注意力网络与双向门控循环单元相结合并应用于风电场多风机的风速预测,首先利用图注意力网络获取多台风机间的空间依赖,利用端到端的网络自适应地学习风机间的连接关系,避免了因人为设置的图拓扑结构导致的误差,为进一步描述风机特征的空间依赖,考虑了不同风机特征间的动态关系,从而构造了自适应动态的图结构,利用图注意力网络能有效提取风机间的空间特征;基于图注意力网络含空间特征的输出,结合双向门控循环单元从正向和反向两个方向获取其中的时间依赖,可提取更多时序特征,为突出关键时刻的特征,利用多头注意力机制对不同重要特征进行加权。最后结合多任务学习策略,关联共享每一台风机的风速预测任务的信息,可提升整体的任务表现。因此本发明所提方法可有效提高多风机风速预测的准确性,帮助提高风能的利用率,降低高波动性风能对电网稳定的影响。
附图说明
[0102]
图1是图注意力网络(gat)结构图;
[0103]
图2是门控循环单元(gru)结构图;
[0104]
图3是双向门控循环单元(bigru)结构图;
[0105]
图4是双向门控循环单元结合多头注意力机制(bigru_am)结构图;
[0106]
图5是自适应动态gat、bigru-am和多任务学习模型结构图;
[0107]
图6是多风机风速时空预测流程图;
[0108]
图7是春季数据集的结果图;
[0109]
图8是夏季数据集的结果图;
[0110]
图9是秋季数据集的结果图;
[0111]
图10是冬季数据集的结果图。
具体实施方式
[0113]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于
限定本发明。
[0114]
如图6所示,展示了多风机风速预测流程。对于本发明所提的多风机风速预测方法,对于多风机风速预测问题可表示为:
[0115]st+1
=f(g
t-h

,g
t
,f
t-h
…ft
)
[0116]
在上式中,s
t+1
表示下一时间步的风速预测值,其中n为风机的台数。g
t
表示t时间步的图结构,f
t
=[f
t1


,f
tn
]表示n台风机在t时间步的特征,其中f
ti
∈rd,d表示节点特征的数目。f(
·
)可以看作深度学习网络结构。上述对多风机风速预测问题的进行了阐述,在本发明中,充分考虑了风机特征的时空特征。不仅考虑了历史时刻的风速,大气的环境参数(气压,风向,温度)等对风速存在潜在的时空影响;同时利用图神经网络自动学习风机间的空间关系,避免人为设置图结构导致的误差,并且为进一步提高预测的精度,考虑了风机空间关系在时间维度上的动态变化,因此构建了自适应动态的图注意力网络来提取空间特征。在时序特征部分,结合双向gru和多头注意力机制,充分考虑了前后和反向两个方向的时序特征,而multi-head attention机制可进一步为重要时刻特征赋予更高的权重。对于上述多风机风速时空预测方法具体通过以下步骤来实现:
[0117]
步骤1:获取区域多风机的位置坐标与风速及其他相关风能信息数据。对于原始数据,利用数据最大-最小归一化方法对原始数据按照风机的各个特征进行归一化,将其分别处理到(0,1)范围以减少不同量纲对预测结果的影响,其具体实现方式如下所示:
[0118][0119]
上式中,为归一化之后的特征值,x为原始数据,x
max
和x
min
分别表示特征的最大值和最小值。
[0120]
步骤2:对于数据预处理后的数据,在本发明中基于pytorch框架来进行建模。在该步骤中,利用dataset类来构造数据集,具体表现为以下形式:
[0121][0122]
其中,x表示模型的输入特征,h为历史时间步长,f
t
(f
t
∈rn×d)为t时间步的特征;y表示标签值,s
t+1
(s
t+1
∈rn)表示t+1时间步的风速值。
[0123]
同时,在该步骤中,将构造好的数据集按照7:1:2的比例划分为训练集、验证集和测试集。
[0124]
步骤3:构造多风机空间特征提取模型。在本发明中的区域多风机风速预测模型中,可分为两个阶段分别提取空间、时间特征,实现最终的多风机风速预测。在该步骤中主要构造空间特征提取模型,本发明选择改进的gat模型来实现,其区别于gcn模型,它可以针对邻域节点赋予不同的权重。针对本发明所提的自适应动态gat模型,其具体实现方式可表示为构造多风机的拓扑结构图及空间特征提取。
[0125]
不同与一般的人为设置风机连接状态的阈值,在该步骤中构造自适应的节点连接关系,其通过网络以端到端的方式学习节点间的空间连接,主要实现方式如下所示:
[0126][0127]
在上式中,l为初始化可学习的连接矩阵,考虑到节点自身的影响,因此加上了单位矩阵i。最后缩放到(0,1)区间,表示节点间的静态连接关系。可学习的连接矩阵可表示为:
[0128][0129]
其中,l
ij
为学习到的风机i,j间的连接关系。
[0130]
然而大气系统运动是一个动态变化的过程,不同时间步上风机间的相互影响可能不同,即风机间的连接关系随时间变化。因此在本步骤中为了实现动态连接关系,考虑了时间轴上风机间特征的相关性变化过程,具体表示为在每个时间步上计算节点间的相关系数,在该步骤中选择互信息来计算两两风机所有特征间的互信息数,可以较好反映风机间的相关程度,从而构造相关性权重矩阵。其计算方法如下:
[0131][0132]
上式计算了时间步t上风机i和风机j间的互信息数mi
t
(f
it
,f
jt
),其中f
it
,f
jt
分别表示该时间步风机i、j对应的特征,p(f
it
)和p(f
jt
)分别表示f
it
和f
jt
的边缘密度函数,p(f
it
,f
jt
)为f
it
和f
jt
的联合密度函数。因此可以构造出动态相关性权重矩阵c
t
如下所示:
[0133][0134]
上式表示在时间步t上的相关性权重矩阵,表示上面计算的互信息值,反映了风机节点间的相关性程度,同时在考虑自身影响后也加上了单位矩阵。
[0135]
一般而言,距离近的事物比距离远的事物的空间相关性更大,根据地理学第一定律可知。在本发明中,风机间距离也是影响其相关性的一个重要因素。在该步骤中,本发明构造了风机间的距离权重矩阵来反映了这个关系。距离权重矩阵d计算方式如下:
[0136][0137]
上式中d
ij
表示风机i、j间的欧式距离。
[0138]
由于本发明中获取的数据为风机的经纬度坐标,因此想得到风机间的欧式距离,需要通过半正矢公式(haversine formula)将风机的经纬度坐标转换为欧式距离,其计算方式如下所示:
[0139][0140]
上式中,dis为两点间的距离,lat1,lat2分别为节点i,j的纬度。a为两点纬度之差,b为两点经度之差。r为地球赤道半径。
[0141]
因此,利用风机的经纬度坐标值可计算出距离权重矩阵d:
[0142][0143]
上述距离权重矩阵中d
ij
表示两两节点间的距离权重,综上所述,基于可学习的连接矩阵动态相关性权重矩阵c
t
和距离权重矩阵d,构造出本发明中的自适应动态邻接矩阵a,其计算方式为:
[0144][0145]
上式中,

表示哈达玛积,表示矩阵对应元素相乘。
[0146]
基于该步骤中确定的自适应动态邻接矩阵,利用改进gat来提取风机特征间的动态空间特征,构造图注意力层来提取节点间的特征。在本发明中的节点输入特征可以表示为:
[0147]
f={f1,f2,

,fn}(fi∈rm)
[0148]
通过图注意力层产生新的节点特征:
[0149]
f’={f1’
,f
’2,

,f’n
}(f
i’∈r
m’)
[0150]
上面式子中的n表示风机台数,m和m’分别为节点的输入和输出特征的数目。
[0151]
接下来计算节点间的注意力系数α
i,j

[0152][0153]
在该式中,λ表示节点i的一阶邻域,通过可学习的权重矩阵w∈r
t
’×
t
将原始输入特征转换为更高级别的特征表示。将共享的自注意力机制a∈r
2t’应用到每个节点,其由权重向量参数化的单层前馈神经构成。然后通过softmax函数对注意力系数进行归一化,得到最终的注意力系数α
i,j

[0154]
基于获得的注意力系数α
i,j
,接下来可以更新节点的特征表示:
[0155][0156]
上式中,p表示节点特征的数目,在本发明中每个节点均有四个特征(风速,风向,
温度,气压),该公式可以获得节点i的p个注意力系数。然后利用多头注意力机制得到节点特征跟新的表示:
[0157][0158]
其中,k表示独立的注意力机制个数。
[0159]
区别于一般的gat,利用之前步骤中获取的自适应动态邻接矩阵,利用以下式子进行最后的节点特征更新:
[0160][0161]
至此,本发明通过上述步骤,针对具有时空特性的区域多风机数据,基于自适应动态gat模型,实现对n台风机的空间特征提取任务。
[0162]
步骤4:构建区域多风机风速预测的时序特征提取模型。在该步骤中,本发明为有效提取时间序列间的潜在时序特征,选择双向gru网络作为特征提取模型。基于上个步骤中的空间特征提取模型的输出,将其作为双向gru的输入。对于普通gru模型的计算方法如下:
[0163][0164]
模型的输出h
t
取决于上一时刻的输出h
t-1
和当前时刻输入x
t
,r
t
和z
t
分别表示重置门和更新门状态。为候选集状态,wr、wz和wh分别为对应的可学习参数矩阵。“σ”表示sigmoid激活函数,“tanh”表示tanh激活函数,“·”表示矩阵点乘,“*”表示矩阵乘积。对于双向gru的状态更新依赖于两个方向的gru状态,如下所式:
[0165][0166]
对于上述双向gru模型,能较好的提取正向和方向两个方向的时序特征,对于上述双向gru模型,能较好的提取正向和方向两个方向的时序特征,分别表示两个方向t时刻gru的隐藏状态,表示矩阵对于元素求和。
[0167]
使其能获得较好的效果;
[0168]
在该步骤中为进一步加强时序特征的提取,在双向gru的基础上结合多头注意力机制,加强对时序特征的有效提取,其具体实现方式为在双向gru的输出层后再加上一个multi-head attention层,将双向gru的输出特征作为多头注意力层的输入,实现对重要时刻特征的权重增强。对于多头注意力机制的实现,其具体计算方式如下:
[0169]
multi(q,k,v)=concat(headi,

headn)wo[0170]
其中,headi为单个注意力机制的计算方法,将n个注意力机制拼接,然后利用可学习的权重矩阵wo,实现多头注意力机制的计算。
[0171]
在模型的特定任务层,针对每一个任务,利用一个全连接层将多头注意力机制的
输出转化为该任务对应的模型输出,多个任务对应多台风机的风速预测值。
[0172]
步骤5:模型训练与超参数调整,在该步骤中,选择l1 loss函数作为模型的损失函数,其计算方法为,本发明中,对于多任务学习模型,针对每一个任务设置一个损失函数,并且每个任务都有其独立的损失函数权重wm:
[0173][0174]
上式中,n表示样本的数量,yi和分别表示标签的真实值和预测值。lm表示第m个任务的损失函数,l
mtl
表示多任务学习模型的损失函数,即本发明中的损失函数。
[0175]
在本发明中,设置模型的历史时间步为30,利用其预测未来一个时间步的风速值。通过误差的反向传播与梯度更新策略,使用adam算法作为优化算法。基于训练集的训练好的模型参数,将其应用到验证集,选择效果最好的模型参数作为最终的模型参数从而应用到测试集。
[0176]
步骤6:在该步骤中,为准确评价本发明中所提模型的优越性,选择多种评价指标来评价模型的预测效果,其计算公式分别为:
[0177][0178][0179][0180]
上面式子中的n表示样本的数量,yi和分别表示标签的真实值和预测值。对于本发明中的多个目标来说,最后选择十台风机误差的平均值作为最后的评价结果。
[0181]
综上所述,具体阐述了本发明中区域多风机风速预测模型的实施方式,下面对本发明中的时空预测方法利用国家可再生能源实验室(nrel)的数据进行实验予以说明。
[0182]
对于nrel的数据说明,该原始数据集包括十台风电机组2012年的数据,其中数据包含风电机组id,经纬度坐标,以及风速、风向、气温及气压在内的特征数据,其数据按照5mins的时间间隔进行采样。机组id和经纬度坐标如表1所示:
[0183][0184]
在本发明中,为验证所提的风速时空数据预测模型的有效性,选择ann和gat-lstm模型作为对比模型。在本专利中将原始数据集按照季节划分为春、夏、秋、冬四个子数据集,分别验证所提方法在不同季节中的有效性。根据风速序列的acf和pacf结果显示,当设置时间步长为30mins、置信区间为90%时,acf结果表现为拖尾,pacf结果表示为截尾。并且在风速数据滞后30阶时acf则不落入置信区间,因此本发明中设置时间粒度为30mins,历史步长为30。对于不同模型预测结果的评价指标如表2所示,预测结果如图7-10所示。
[0185][0186]
基于上述模型在不同季节数据集中的评价指标与预测结果,可以看出本发明所提方法在四个季节中的mae、rmse和mape指标上均表现优异。这表明本发明所提方法在预测精度方面具有一定的优势。同时在预测结果图中,虚线表示真实值,实线表示预测值,可以看出本发明中所提方法的预测结果可以很好地拟合实际数据。通过上述结论能有效证明本发明所提方法的有效性。
[0187]
本发明实施例提供一种实施所述多风机风速时空预测方法的一种多风机风速时空预测系统,该系统包括:
[0188]
特征数据获取模块,用于获取区域多风机的风速数据、风机位置坐标(经纬度)及其他天气变量数据(风向、气温、气压)相关特征数据;
[0189]
建模模块,与特征数据获取模块连接,用于对于数据预处理后的数据,基于
pytorch框架来进行建模步骤;
[0190]
模型构建模块,与建模模块连接,用于构造多风机空间特征提取模型和构建区域多风机风速预测的时序特征提取模型;
[0191]
模型训练与超参数调整模块,与模型构建模块连接,用于模型训练与超参数调整;
[0192]
预测结果评价模块,与模型训练与超参数调整模块连接,用于选择多种评价指标来评价模型的预测效果。
[0193]
本发明实施例提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述多风机风速时空预测方法的步骤。
[0194]
本发明实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述多风机风速时空预测方法的步骤。
[0195]
本发明实施例的两个具体实施例为:
[0196]
实施例一:
[0197]
s1:收集多风机的风速数据、风机位置坐标及风向、气温、气压等天气变量相关特征数据,并进行数据预处理,如数据标准化等。
[0198]
s2:在数据预处理后,使用pytorch框架来构建预测模型。pytorch是一个开源的深度学习平台,它提供了从张量计算(类似于numpy)到构建深度学习模型的全套工具。
[0199]
s3:在空间特征提取部分,基于图神经网络(gnn)来构建空间特征提取模型。该模型能够自动学习并利用风机间的空间关系,对每个风机进行个性化的风速预测。
[0200]
s4:构建时序特征提取模型。我们采用循环神经网络(rnn)模型,特别是它的一种变体:长短期记忆网络(lstm),来处理风速的时序数据。lstm能够捕捉数据的长期依赖关系,从而提高预测的精度。
[0201]
s5:进行模型的训练和超参数调整。我们使用了反向传播(backpropagation)算法来训练模型,并通过交叉验证来调整模型的超参数,以避免过拟合并提高模型的泛化能力。
[0202]
s6:使用多种评价指标,如均方误差(mse)、平均绝对误差(mae)和r平方值(r2)等,来评价模型的预测效果。这些评价指标能够从不同角度反映模型的预测性能。
[0203]
实施例二:
[0204]
s1:首先获取多风机的风速数据和相关天气变量,以及进行数据预处理。
[0205]
s2:选择基于pytorch框架进行建模。
[0206]
s3:在此实施例中,我们采用图注意力网络(gat)来构建空间特征提取模型。与传统的图神经网络不同,gat可以为每个节点分配不同的权重,从而更好地捕捉风机间的空间关系。
[0207]
s4:在时序特征提取部分,我们采用双向门控循环单元(bigru)模型,这是rnn的一种变体,它可以在一定程度上解决rnn在处理长序列时的梯度消失问题。
[0208]
s5:进行模型训练和超参数调整。
[0209]
s6:采用多种评价指标来评价模型的预测效果,如mape,mse,mae和r2等。
[0210]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备
和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0211]
与现有的技术相比,本发明所提方法在多风机风速预测中具有较大的优势,在本发明中选择了ann模型和gat-lstm模型作为对比,基于nrel2012年的数据,分别在春夏秋冬四个季节构成的子数据集中进行验证,在mae、rmse和mape三种评价指标上,从表二可以看出,本发明所提方法相较于其他两种方法,预测的误差要小,这表明本发明所提方法在预测精度方面具有较高的优势。同时结合图7-10的预测结果图所示,本发明所提方法的预测结果可以很好地拟合实际数据,通过上述结论能有效证明本发明所提方法的优越性。
[0212]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

技术特征:
1.一种多风机风速时空预测方法,其特征在于,包括:s1:获取区域多风机的风速数据、风机位置坐标及风向、气温、气压天气变量相关特征数据及进行相关数据预处理;s2:对于数据预处理后的数据,基于pytorch框架来进行建模步骤;s3:构造多风机空间特征提取模型;s4:构建区域多风机风速预测的时序特征提取模型;s5:模型训练与超参数调整;s6:选择多种评价指标来评价模型的预测效果。2.如权利要求1所述多风机风速时空预测方法,其特征在于,所述s1具体包括:对于原始数据,利用数据最大-最小归一化方法对原始数据按照风机的各个特征进行归一化,将其分别处理到(0,1)范围以减少不同量纲对预测结果的影响,其具体实现方式如下所示:上式中,为归一化之后的特征值,x为原始数据,x
max
和x
min
分别表示特征的最大值和最小值。3.如权利要求1所述多风机风速时空预测方法,其特征在于,所述s2具体包括:利用dataset类来构造数据集,具体表现为以下形式:其中,x表示模型的输入特征,h为历史时间步长,f
t
(f
t
∈r
n
×
d
)为t时间步的特征;y表示标签值,s
t+1
(s
t+1
∈r
n
)表示t+1时间步的风速值;同时,在该步骤中,将构造好的数据集按照7:1:2的比例划分为训练集、验证集和测试集。4.如权利要求1所述多风机风速时空预测方法,其特征在于,所述s3具体包括:在区域多风机风速预测模型中,可分为两个阶段分别提取空间、时间特征,实现最终的多风机风速预测,在该步骤中主要构造空间特征提取模型,选择改进的gat模型来实现,其区别于gcn模型,它可以针对邻域节点赋予不同的权重,针对本发明所提的自适应动态gat模型,其具体实现方式可表示为构造多风机的拓扑结构图及空间特征提取;不同与一般的人为设置风机连接状态的阈值,在该步骤中构造自适应的节点连接关系,其通过网络以端到端的方式学习节点间的空间连接,主要实现方式如下所示:在上式中,l为初始化可学习的连接矩阵,考虑到节点自身的影响,因此加上了单位矩阵i;最后缩放到(0,1)区间,表示节点间的静态连接关系,可学习的连接矩阵可表示为:
其中,l
ij
为学习到的风机i,j间的连接关系;然而大气系统运动是一个动态变化的过程,不同时间步上风机间的相互影响可能不同,即风机间的连接关系随时间变化,因此在本步骤中为了实现动态连接关系,考虑了时间轴上风机间特征的相关性变化过程,具体表示为在每个时间步上计算节点间的相关系数,在该步骤中选择互信息来计算两两风机所有特征间的互信息数,可以较好反映风机间的相关程度,从而构造相关性权重矩阵,其计算方法如下:上式计算了时间步t上风机i和风机j间的互信息数mi
t
(f
it
,f
jt
),其中f
it
,f
jt
分别表示该时间步风机i、j对应的特征,p(f
it
)和p(f
jt
)分别表示f
it
和f
jt
的边缘密度函数,p(f
it
,f
jt
)为f
it
和f
jt
的联合密度函数;因此可以构造出动态相关性权重矩阵c
t
如下所示:上式表示在时间步t上的相关性权重矩阵,表示上面计算的互信息值,反映了风机节点间的相关性程度,同时在考虑自身影响后也加上了单位矩阵;构造了风机间的距离权重矩阵来反映了这个关系;距离权重矩阵d计算方式如下:上式中d
ij
表示风机i、j间的欧式距离;通过半正矢公式(haversine formula)将风机的经纬度坐标转换为欧式距离,其计算方式如下所示:上式中,dis为两点间的距离,lat1,lat2分别为节点i,j的纬度;a为两点纬度之差,b为两点经度之差,r为地球赤道半径;利用风机的经纬度坐标值可计算出距离权重矩阵d:
上述距离权重矩阵中d
ij
表示两两节点间的距离,基于可学习的连接矩阵动态相关性权重矩阵c
t
和距离权重矩阵d,构造出本发明中的自适应动态邻接矩阵a,其计算方式为:上式中,

表示哈达玛积,表示矩阵对应元素相乘;基于该步骤中确定的自适应动态邻接矩阵,利用改进gat来提取风机特征间的动态空间特征,构造图注意力层来提取节点间的特征;在本发明中的节点输入特征可以表示为:f={f1,f2,

,f
n
}(f
i
∈r
m
)通过图注意力层产生新的节点特征:f'={f1',f2',

,f'
n
}(f
i
'∈r
m'
)上面式子中的n表示风机台数,m和m'分别为节点的输入和输出特征的数目;接下来计算节点间的注意力系数α
i,j
:在该式中,λ表示节点i的一阶邻域,通过可学习的权重矩阵w∈r
t'
×
t
将原始输入特征转换为更高级别的特征表示,将共享的自注意力机制a∈r
2t'
应用到每个节点,其由权重向量参数化的单层前馈神经构成;然后通过softmax函数对注意力系数进行归一化,得到最终的注意力系数α
i,j
;基于获得的注意力系数α
i,j
,接下来可以更新节点的特征表示:上式中,p表示节点特征的数目,在本发明中每个节点均有四个特征(风速,风向,温度,气压),该公式可以获得节点i的p个注意力系数;然后利用多头注意力机制得到节点特征跟新的表示:其中,k表示独立的注意力机制个数;区别于一般的gat,利用之前步骤中获取的自适应动态邻接矩阵,利用以下式子进行最后的节点特征更新:上式中为基于邻接矩阵的对角矩阵,为对称归一化操作;通过上述步骤,针
对具有时空特性的区域多风机数据,基于自适应动态gat模型,实现对n台风机的空间特征提取任务。5.如权利要求1所述多风机风速时空预测方法,其特征在于,所述s4具体包括:为有效提取时间序列间的潜在时序特征,选择双向gru网络作为特征提取模型,基于上个步骤中的空间特征提取模型的输出,将其作为双向gru的输入,对于普通gru模型的计算方法如下:模型的输出h
t
取决于上一时刻的输出h
t-1
和当前时刻输入x
t
,r
t
和z
t
分别表示重置门和更新门状态,为候选集状态,w
r
、w
z
和w
h
分别为对应的可学习参数矩阵,“σ”表示sigmoid激活函数,“tanh”表示tanh激活函数,“·”表示矩阵点乘,“*”表示矩阵乘积;对于双向gru的状态更新依赖于两个方向的gru状态,如下所式:对于上述双向gru模型,能较好的提取正向和方向两个方向的时序特征,对于上述双向gru模型,能较好的提取正向和方向两个方向的时序特征,分别表示两个方向t时刻gru的隐藏状态,表示矩阵对于元素求和;在该步骤中为进一步加强时序特征的提取,在双向gru的基础上结合多头注意力机制,加强对时序特征的有效提取,其具体实现方式为在双向gru的输出层后再加上一个multi-head attention层,将双向gru的输出特征作为多头注意力层的输入,实现对重要时刻特征的权重增强;对于多头注意力机制的实现,其具体计算方式如下:multi(q,k,v)=concat(head
i
,

head
n
)w
o
其中,head
i
为单个注意力机制的计算方法,将n个注意力机制拼接,然后利用可学习的权重矩阵w
o
,实现多头注意力机制的计算;在模型的特定任务层,针对每一个任务,利用一个全连接层将多头注意力机制的输出转化为该任务对应的模型输出,多个任务对应多台风机的风速预测值。6.如权利要求1所述多风机风速时空预测方法,其特征在于,所述s5具体包括:选择l1 loss函数作为模型的损失函数,其计算方法为,对于多任务学习模型,针对每一个任务设置一个损失函数,并且每个任务都有其独立的损失函数权重w
m
:上式中,n表示样本的数量,y
i
和分别表示标签的真实值和预测值,l
m
表示第m个任务的损失函数,l
mtl
表示多任务学习模型的损失函数,即损失函数;设置模型的历史时间步为30,利用其预测未来一个时间步的风速值;通过误差的反向
传播与梯度更新策略,使用adam算法作为优化算法,基于训练集的训练好的模型参数,将其应用到验证集,选择效果最好的模型参数作为最终的模型参数从而应用到测试集。7.如权利要求1所述多风机风速时空预测方法,其特征在于,所述多种评价指标计算公式分别为:式分别为:式分别为:上面式子中的n表示样本的数量,y
i
和分别表示标签的真实值和预测值。8.一种实施如权利要求1-7任意一项所述多风机风速时空预测方法的一种多风机风速时空预测系统,其特征在于,该系统包括:特征数据获取模块,用于获取区域多风机的风速数据、风机位置坐标及风向、气温、气压天气变量的相关特征数据;建模模块,与特征数据获取模块连接,用于对于数据预处理后的数据,基于pytorch框架来进行建模步骤;模型构建模块,与建模模块连接,用于构造多风机空间特征提取模型和构建区域多风机风速预测的时序特征提取模型;模型训练与超参数调整模块,与模型构建模块连接,用于模型训练与超参数调整;预测结果评价模块,与模型训练与超参数调整模块连接,用于选择多种评价指标来评价模型的预测效果。9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-7任意一项所述多风机风速时空预测方法的步骤。10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-7任意一项所述多风机风速时空预测方法的步骤。

技术总结
本发明属于风电机组风速预测领域,公开了多风机风速时空预测方法及系统,获取区域多风机的风速数据、风机位置坐标(经纬度)及其他天气变量数据(风向、气温、气压)相关特征数据;对于数据预处理后的数据,基于Pytorch框架来进行建模步骤;构造多风机空间特征提取模型;构建区域多风机风速预测的时序特征提取模型;模型训练与超参数调整;选择多种评价指标来评价模型的预测效果。本发明能有效聚合邻域风机的空间特征,适用于多台风电机组的风速预测,同时结合双向GRU模型和注意力机制,提取长期和短期时间特征,并在多风机风速预测任务中利用多任务学习策略,考虑了多个任务间的内在联系,上述方法可有效提高多风机风速的预测精度。度。度。


技术研发人员:付波 李昊 李超顺 权轶 姜源 乔亚凯 韩越
受保护的技术使用者:湖北工业大学
技术研发日:2023.07.11
技术公布日:2023/10/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐