1.一种多风机风速时空预测方法,其特征在于,包括:S1:获取区域多风机的风速数据、风机位置坐标及风向、气温、气压天气变量相关特征数据及进行相关数据预处理;
S2:对于数据预处理后的数据,基于Pytorch框架来进行建模步骤;
S3:构造多风机空间特征提取模型;
S4:构建区域多风机风速预测的时序特征提取模型;
S5:模型训练与超参数调整;
S6:选择多种评价指标来评价模型的预测效果;
所述S3具体包括:
在区域多风机风速预测模型中,分为两个阶段分别提取空间、时间特征,实现最终的多风机风速预测,在S3中构造空间特征提取模型,选择的模型为改进的GAT模型,其区别于GCN模型,它针对邻域节点赋予不同的权重,针对所提的自适应动态GAT模型,其具体实现方式表示为构造多风机的拓扑结构图及空间特征提取;
不同于一般的人为设置风机连接状态的阈值,在S3中构造自适应的节点连接关系,其通过网络以端到端的方式学习节点间的空间连接,实现方式如下所示:在上式中,L为初始化可学习的连接矩阵,考虑到节点自身的影响,因此加上了单位矩阵I;最后缩放到(0,1)区间,表示节点间的静态连接关系,学习的连接矩阵 可表示为:其中,lij为学习到的风机i,j间的连接关系;
然而大气系统运动是一个动态变化的过程,不同时间步上风机间的相互影响可能不同,即风机间的连接关系随时间变化,因此在S3中为了实现动态连接关系,考虑了时间轴上风机间特征的相关性变化过程,具体表示为在每个时间步上计算节点间的相关系数,在S3中选择互信息来计算两两风机所有特征间的互信息数,较好反映风机间的相关程度,从而构造相关性权重矩阵,其计算方法如下:t t t t t
上式计算了时间步t上风机i和风机j间的互信息数MI (fi ,fj),其中fi ,fj 分别表示t t t t t t该时间步风机i、j对应的特征,p(fi)和p(fj)分别表示fi 和fj的边缘密度函数,p(fi ,fj)t t t为fi和fj的联合密度函数;因此构造出动态相关性权重矩阵C如下所示:上式表示在时间步t上的相关性权重矩阵, 表示上面计算的互信息数,反映了风机节点间的相关性程度,同时在考虑自身影响后也加上了单位矩阵;
构造了风机间的距离权重矩阵来反映了这个关系;距离权重矩阵D计算方式如下:上式中dij表示风机i、j间的欧式距离;
通过半正矢公式(Haversine formula)将风机的经纬度坐标转换为欧式距离,其计算方式如下所示:上式中,dis为两点间的距离,Lat1,Lat2分别为节点i,j的纬度;a为两点纬度之差,b为两点经度之差,R为地球赤道半径;
利用风机的经纬度坐标值可计算出距离权重矩阵D:
上述距离权重矩阵中Dij表示两两节点间的距离,基于可学习的连接矩阵 动态相关t性权重矩阵C和距离权重矩阵D,构造出自适应动态邻接矩阵A,其计算方式为:上式中,⊙表示哈达玛积,表示矩阵对应元素相乘;
基于S3中确定的自适应动态邻接矩阵,利用改进GAT来提取风机特征间的动态空间特征,构造图注意力层来提取节点间的特征;节点输入特征可以表示为:M
F={f1,f2,…,fN}(fi∈R)
通过图注意力层产生新的节点特征:
M′
F'={f1',f′2,…,f'N}(fi'∈R )上面式子中的N表示风机台数,M和M'分别为节点的输入和输出特征的数目;
接下来计算节点间的注意力系数αi,j:
t'×t
在该式中,λ表示节点i的一阶邻域,通过可学习的权重矩阵W∈R 将原始输入特征转
2t'
换为更高级别的特征表示,将共享的自注意力机制a∈R 应用到每个节点,其由权重向量参数化的单层前馈神经构成;然后通过softmax函数对注意力系数进行归一化,得到最终的注意力系数αi,j;
基于获得的注意力系数αi,j,接下来更新节点的特征表示:上式中,p表示节点特征的数目,每个节点均有四个特征,包括风速,风向,温度,气压,该公式获得节点i的p个注意力系数;然后利用多头注意力机制得到节点特征更新的表示:其中,k表示独立的注意力机制个数;
区别于一般的GAT,利用之前步骤中获取的自适应动态邻接矩阵,利用以下式子进行最后的节点特征更新:上式中 为基于邻接矩阵的对角矩阵, 为对称归一化操作;通过上述步骤,针对具有时空特性的区域多风机数据,基于自适应动态GAT模型,实现对N台风机的空间特征提取任务。
2.如权利要求1所述多风机风速时空预测方法,其特征在于,所述S1具体包括:对于原始数据,利用数据最大‑最小归一化方法对原始数据按照风机的各个特征进行归一化,将其分别处理到(0,1)范围以减少不同量纲对预测结果的影响,其具体实现方式如下所示:上式中,为归一化之后的特征值,x为原始数据,xmax和xmin分别表示特征的最大值和最小值。
3.如权利要求1所述多风机风速时空预测方法,其特征在于,所述S2具体包括:利用Dataset类来构造数据集,具体表现为以下形式:N×d
其中,x表示模型的输入特征,h为历史时间步长,ft,ft∈R 为t时间步的特征;y表示标N签值,st+1,st+1∈R表示t+1时间步的风速值;
同时,在该步骤中,将构造好的数据集按照7:1:2的比例划分为训练集、验证集和测试集。
4.如权利要求1所述多风机风速时空预测方法,其特征在于,所述S4具体包括:为有效提取时间序列间的潜在时序特征,选择双向GRU网络作为特征提取模型,基于S3中的空间特征提取模型的输出,将其作为双向GRU的输入,对于普通GRU模型的计算方法如下:模型的输出ht取决于上一时刻的输出ht‑1和当前时刻输入xt,rt和zt分别表示重置门和更新门状态, 为候选集状态,Wr、Wz和Wh分别为对应的可学习参数矩阵,“σ”表示sigmoid激活函数,“tanh”表示tanh激活函数,“·”表示矩阵点乘,“*”表示矩阵乘积;对于双向GRU的状态更新依赖于两个方向的GRU状态,如下所式:对于上述双向GRU模型,能较好的提取正向和方向两个方向的时序特征, 分别表示两个方向t时刻GRU的隐藏状态, 表示矩阵对应的元素求和;
在该步骤中为进一步加强时序特征的提取,在双向GRU的基础上结合多头注意力机制,加强对时序特征的有效提取,其具体实现方式为在双向GRU的输出层后再加上一个Multi‑head Attention层,将双向GRU的输出特征作为多头注意力层的输入,实现对重要时刻特征的权重增强;对于多头注意力机制的实现,其具体计算方式如下:O
Multi(Q,K,V)=Concat(headi,…headn)W其中,headi为单个注意力机制的计算方法,将n个注意力机制拼接,然后利用可学习的O权重矩阵W,实现多头注意力机制的计算;
在模型的特定任务层,针对每一个任务,利用一个全连接层将多头注意力机制的输出转化为该任务对应的模型输出,多个任务对应多台风机的风速预测值。
5.如权利要求1所述多风机风速时空预测方法,其特征在于,所述S5具体包括:选择L1 Loss函数作为模型的损失函数,其计算方法为,对于多任务学习模型,针对每一个任务设置一个损失函数,并且每个任务都有其独立的损失函数权重wm:上式中,n表示样本的数量,yi和 分别表示标签的真实值和预测值,Lm表示第m个任务的损失函数,LMTL表示多任务学习模型的损失函数,即损失函数;
设置模型的历史时间步为30,利用其预测未来一个时间步的风速值;通过误差的反向传播与梯度更新策略,使用Adam算法作为优化算法,基于训练集的训练好的模型参数,将其应用到验证集,选择效果最好的模型参数作为最终的模型参数从而应用到测试集。
6.如权利要求1所述多风机风速时空预测方法,其特征在于,所述多种评价指标计算公式分别为:上面式子中的n表示样本的数量,yi和 分别表示标签的真实值和预测值。
7.一种实施如权利要求1‑6任意一项所述多风机风速时空预测方法的一种多风机风速时空预测系统,其特征在于,该系统包括:特征数据获取模块,用于获取区域多风机的风速数据、风机位置坐标及风向、气温、气压天气变量的相关特征数据;
建模模块,与特征数据获取模块连接,用于对于数据预处理后的数据,基于Pytorch框架来进行建模步骤;
模型构建模块,与建模模块连接,用于构造多风机空间特征提取模型和构建区域多风机风速预测的时序特征提取模型;
模型训练与超参数调整模块,与模型构建模块连接,用于模型训练与超参数调整;
预测结果评价模块,与模型训练与超参数调整模块连接,用于选择多种评价指标来评价模型的预测效果。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求
1‑6任意一项所述多风机风速时空预测方法的步骤。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1‑6任意一项所述多风机风速时空预测方法的步骤。