← 返回列表

一种利用不同属性跨数据集的径流预测方法

申请号: CN202310219093.6
申请人: 西北工业大学
申请日期: 2023/3/8

摘要文本

本发明涉及一种利用不同属性跨数据集的径流预测方法,属于径流预测技术领域。首先,消除了各个国家或地区的降雨‑径流数据集的结构差异,建立具有全球性质的规范化数据集;其次,构建了一种能够利用不同属性跨数据集的Transformer,充分利用了Transformer具有的灵活归纳偏置,并且能够使用跨数据集的不同属性,非自回归式解码能够一次性得到多步预测结果。因此,所训练的径流预测模型具备全球性径流预测的先验知识,具备通用性、易于迁移学习,适用于跨数据集、少数据甚至无数据情况下的径流预测。 来源:马 克 团 队

专利详细信息

项目 内容
专利名称 一种利用不同属性跨数据集的径流预测方法
专利类型 发明申请
申请号 CN202310219093.6
申请日 2023/3/8
公告号 CN117610696A
公开日 2024/2/27
IPC主分类号 G06Q10/04
权利人 西北工业大学
发明人 尹翰林; 郭子龙; 张秀伟; 张艳宁; 朱武; 郑启睿
地址 陕西省西安市友谊西路127号

专利主权项内容

1.一种利用不同属性跨数据集的径流预测方法,其特征在于步骤如下:步骤1:收集各个国家或地区的降雨-径流数据集;收集各个国家或地区研究流域内的气象数据以及水文站点的径流数据,构成各个国家或地区的原始数据集,将原始数据集存入持久化设备;步骤2:消除各个数据集的结构差异,建立具有全球性质的规范化数据集;步骤3:加载规范数据集的数据,并进行预处理;加载规范数据集的动态属性和静态属性,将数据集划分为训练集、验证集、测试集三个互斥的集合;计算训练集上的均值和标准差,并进行标准化;对处理完成后的数据集进行数据序列化;步骤4:建立利用不同属性跨数据集的径流预测方法的模型;所述的模型为基于Transformer的序列到序列模型,架构包括:输入线性变换层、属性无数据源处理、位置编码层、编码器、解码器、输出线性变换层和输出选择操作;具体步骤如下:步骤4-1:输入线性变换层对输入数据的维度进行变换,统一数据维度;步骤4-2:属性无数据源处理,解决属性无数据源问题;步骤4-3:位置编码层向输入数据注入位置信息;步骤4-4:编码器由多个编码器层前后串接而成,每个编码器层包含两个子层:多头自注意力和全连接层,每个子层之后都需要接入残差连接和层归一化;编码器的输入序列为:(x, x, …, x)12past_len+pred_len其中past_len表示已知的序列长度,pred_len表示预测的序列长度;步骤4-5:解码器由多个解码器层前后串接而成,每个解码器层包含三个子层:多头自注意力、多头交叉注意力和全连接层,每个子层之后都接入残差连接和层归一化;解码器的输入序列为:(y,y,...,y,0,0,...,0)12past-len12pred_len其中past_len表示已知的序列长度,pred_len表示预测的序列长度,0,0,...表示使用0进行填充,一共有pred_len个位置需要填充0;12步骤4-6:多头自注意力和多头交叉注意力;计算:Q=WIQ1K=WIK2V=WIV3其中,W、W、W是可学习参数矩阵,softmax表示进行Softmax操作,当输入I和I相同并且与输入I不同时,Attn(Q,K,V)称为交叉注意力;当三个输入I,I,I都相同时,Attn(Q,K,V)称为自注意力;Q表示I经过参数为W的线性变换得到的结果,K表示I经过参数为W的线性变换后得到的结果,V表示I经过参数为W的线性变换后得到的结果;QKV2311231Q2K3V多头注意力计算公式如下:head=Attn(QW,KW,VW)iiQiKiVMultiHeadAttn(Q,K,V)=Concat(head,...,head)W1hO其中,W,W,W,W是可学习参数矩阵,h表示头数,i的取值范围从1到h;head,...,head表示头;iQiKiVO1h当输入I和I相同并且与I不同时,MultiHeadAttn(Q,K,V)称为多头交叉注意力;当三个输入I,I,I都相同时,MultiHeadAttn(Q,K,V)称为多头自注意力;231123步骤4-7:残差连接计算公式如下:o=x+Sublayer(x)其中,x表示子层的输入,Sublayer(x)表示子层的输出,o表示最终输出;步骤4-8:层归一化,对最后的输出维度进行标准化;步骤4-9:输出变换层对解码器的输出维度进行变换,使输出符合最终的输出维度;将解码器的输出序列(o,o,....,o)放入全连接层,得到输出变换层的输出序列12past_len+pred_len步骤4-10:输出选择操作是对输出变换层的输出序列进行选择的过程,将该序列进行切割,/>被舍弃掉,只保留的部分作为最终的输出;步骤5:描述模型的输入输出过程,定义损失函数和优化器,并训练模型;步骤6:对训练完成的模型进行测试;使用测试集对训练完成后的模型进行测试,得到预测结果,并根据真实数据对预测结果进行评估。