[发明专利]基于深度学习混合CNN-LSTM模型的台风预测方法有效
申请号: | 201910278781.3 | 申请日: | 2019-04-09 |
公开(公告)号: | CN109902885B | 公开(公告)日: | 2020-01-07 |
发明(设计)人: | 汪祥;陈睿;张卫民;李金才;李小勇;朱啸宇 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G01W1/10;G06N3/04 |
代理公司: | 43226 长沙中科启明知识产权代理事务所(普通合伙) | 代理人: | 任合明 |
地址: | 410003 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 台风预测 数据集 构建 变量数据 训练模型 台风 热带气旋 预测结果 最佳路径 准确度 有效地 再利用 海洋 准确率 预测 拟合 学习 全球 | ||
1.一种基于深度学习混合CNN-LSTM模型的台风预测方法,其特征在于包括以下步骤:
第一步,获取热带气旋最佳路径数据集,选择热带气旋最佳路径记录,匹配记录对应的大气海洋变量数据,构建训练模型所需的数据集,方法是:
1.1从热带气旋官方网站下载历史热带气旋最佳路径数据集,选择热带气旋最佳路径数据集中按热带气旋生成海区进行划分的区域的热带气旋最佳路径数据集,热带气旋最佳路径数据集的元素为热带气旋最佳路径记录;每一个区域热带气旋最佳路径数据集中包括不同年份的热带气旋最佳路径记录,每一年又包括不同条数的热带气旋最佳路径记录,单条热带气旋最佳路径记录含该热带气旋从形成到消亡的全部时间、经纬度位置以及强度信息;
1.2令需要预测台风的某一固定区域为区域A1,A1的热带气旋最佳路径数据集为Q,逐一检查Q中单条热带气旋最佳路径上的最大强度是否达到64kt,将最大强度达到64kt的单条热带气旋记录即台风记录放至台风数据集Q1,将最大强度达到34kt未达到64kt的热带气旋单条记录即热带风暴记录放至热带风暴数据集Q2,由此构造出台风数据集Q1、热带风暴数据集Q2,其余不满足条件的记录均舍去;
1.3下载Q1中全部台风记录所有时刻记录点的时间、经纬度位置,采用大气海洋变量数据集生成方法,根据Q1中全部台风记录所有时刻记录点的时间、中心经纬度位置进行组织,得到模型训练所需的Q1相对应的大气海洋变量数据集方法是:
1.3.1将Q1中的台风记录进行随机排序,令N1为Q1的台风记录个数,初始化台风记录序号np=1;
1.3.2令为第np条台风记录的记录点个数,初始化第np条台风记录的记录点序号
1.3.3根据第np条台风记录的第个记录点的时间经度位置纬度位置采用单点变量数据下载方法从天气预报中心网站下载第np条台风记录的第个记录点相对应的大气变量数据XP以及海洋变量数据XS,将XP及XS打包组成第np条台风记录的第个记录点的时间和经纬度相应的大气海洋变量数据,记为为第np条台风记录的第个记录点的时间,为第np条台风记录的第个记录点的经度,为第np条台风记录的第个记录点的纬度;
1.3.4令
1.3.5若np≤N1且转步骤1.3.3;若np≤N1但令np=np+1,转步骤1.3.2;若np>N1,执行步骤1.3.6;
1.3.6将打包组成为一个数据集,即为Q1相对应的大气海洋变量数据集含N1条台风所有记录点对应的大气海洋变量数据;
1.4下载Q2全部热带风暴记录所有时刻记录点的时间、中心经纬度位置,采用步骤1.3所述大气海洋变量数据集生成方法,根据Q2全部热带风暴记录所有时刻记录点的时间、经纬度位置进行组织,得到模型训练所需的Q2相对应的大气海洋变量数据集
1.5根据Q1,Q2以及针对不同的预测目标构建训练不同预测模型的数据集,方法是:
1.5.1若预测目标是台风是否形成,构建训练台风是否形成预测模型所需的数据集R1,方法是:
1.5.1.1根据Q1以及构建训练模型的所需的数据集R11,R11中含有利用Q1中所有台风记录针对训练模型所构建的输入数据集和利用Q1中所有台风记录针对训练模型所构建的标签数据集,输入数据集中含有M1个输入数据,标签数据集中含有M1个标签数据,M1个输入数据为M1≤N1,1≤q≤M1,将M1个输入数据均打上标签1,即为标签数据集;
1.5.1.2根据Q2以及构建训练模型的所需的数据集R12,R12中含有利用Q2中所有热带风暴记录针对训练模型所构建的输入数据集和利用Q2中所有热带风暴针对训练模型所构建的标签数据集,输入数据集中含有M2个输入数据,标签数据集中含有M2个标签数据,M2个输入数据为M2≤N2,1≤h≤M2,N2为Q2的热带风暴记录个数,将M2个输入数据均打上标签1,即为标签数据集;
1.5.1.3将R11和R12合并为训练台风是否形成预测模型所需的数据集R1,R1含模型所需的I1个输入数据,I1个标签数据,I1=M1+M2;转步骤1.6;
1.5.2若预测目标是台风路径,对Q1中所有台风记录的经纬度值和对应的大气海洋变量数据进行错位处理,构建训练台风路径预测模型所需的数据集R2,R2中含有利用Q1中所有台风记录针对训练模型所构建的路径输入数据集和利用Q1中所有台风记录针对训练模型所构建的路径标签数据集,路径输入数据集中含有I2个输入数据,I2个输入数据为1≤ip≤I2,路径标签数据集中含有I2个标签数据,I2个标签数据为b为回顾时间步,路径标签数据即为经纬度值;转步骤1.6;
1.5.3若预测目标是台风强度,对Q1中所有台风记录的强度值和对应的大气海洋变量数据进行错位处理,构建训练台风强度预测模型所需的数据集R3,R3中含有利用Q1中所有台风记录针对训练模型所构建的强度输入数据集和利用Q1中所有台风记录针对训练模型所构建的强度标签数据集,强度输入数据集中含有I2个强度输入数据,I2个强度输入数据为1≤ip≤I2,强度标签数据集中含有I2个标签数据,I2个标签数据为b为回顾时间步,强度标签数据即为强度值;转步骤1.6;
1.6对R1,R2,R3进行预处理:分别对R1的输入数据集、R2的输入数据集和R2的标签数据集,R3的输入数据集和R3的标签数据集按公式(1)进行归一化,
其中R表示R1,R2,R3中任何一个数据集的输入数据集或R2,R3中任何一个数据集的标签数据集,Rmax表示该数据集的最大值,Rmin表示该数据集的最小值;R1,R2,R3预处理后的数据集分别为R′1,R′2,R′3;
第二步,构建深度学习混合CNN-LSTM模型,方法是:
2.1搭建深度学习环境:在服务器上安装基于Python的深度学习库Keras,并使用Google深度学习框架TensorFlow作为后端;
2.2基于Python的深度学习库Keras构建深度学习混合CNN-LSTM台风预测模型,方法是:
2.2.1构建混合CNN-LSTM模型中学习大气变量空间特征的3DCNN模块:将3DCNN模块中神经网络的结构设定为1层Keras的输入层,mA层三维卷积层,mA层批正则化层,1层平铺层,1层全连接层;设定第1层三维卷积层含个的3维卷积核,卷积核的尺寸为步长为设定第2层三维卷积层含个的3维卷积核,卷积核的尺寸为步长为设定第mA层三维卷积层含个的3维卷积核,卷积核的尺寸为步长为每层三维卷积层后添加一层批正则化层;设定全连接层的神经元数目为dA个,其中参数dA均为正整数;
2.2.2构建混合CNN-LSTM模型中学习海洋变量空间特征的2DCNN模块:将2DCNN模块中神经网络的结构设定为1层Keras的输入层,mB层二维卷积层,mB层批正则化,1层平铺层和1层全连接层组成;设定第1层二维卷积层含个的2D卷积核,卷积核的尺寸为步长为设定第2层二维卷积层含个的2D卷积核,卷积核的尺寸为步长为每层二维卷,...,设定第mB层二维卷积层含个的2D卷积核,卷积核的尺寸为步长为每层二维卷积层后加一层批正则化层;设定全连接层的神经元数目为dB个,其中dB均为正整数;
2.2.3构建混合CNN-LSTM模型中学习时序特征的LSTM模块:设定LSTM模块中神经网络的结构为1层Keras的LSTM层,设置LSTM的神经元个数为dC个;
2.2.4将3DCNN模块,2DCNN模块,LSTM模块通过用Keras内置的Sequential顺序模块连接,并添加一层输出层,设定输出层神经元个数为1,连接后的模型即为混合CNN-LSTM模型;其中,3DCNN模块的输入为R′1,R′2,R′3中输入数据集的大气变量数据,输出为大气空间特征向量OP,大气空间特征向量OP向量长度为全连接层的神经元数目dA;2DCNN模块的输入为R′1,R′2,R′3中输入数据集的海洋变量数据,输出为大气空间特征向量OS,大气空间特征向量OS向量长度为全连接层的神经元数目dB;LSTM模块的输入为3DCNN模块和2DCNN模块输出向量的合并向量O=[OP,OS],合并向量O是由Keras的合并层合并得来,O的长度为dA+dB;LSTM模块的输出为1个输出映射值;
第三步,通过所构建的数据集训练混合CNN-LSTM模型来拟合得到台风是否形成预测模型、台风路径预测模型、台风强度预测模型,方法是:
3.1根据需求在输入数据和标签数据一一对应的前提下将R′1,R′2,R′3中的数据随机打乱,按a′∶b′的比例划分为训练集R′11,R′21,R′31和测试集R′12,R′22,R′32,其中a′,b′为正整数且a′≥b′;R′11含NF个输入数据和标签数据,R′12含NF′个输入数据和标签数据;
R′21含NL个输入数据和标签数据,R′22含NL′个输入数据和标签数据;
R′31含NL个输入数据和标签数据,R′32含NL′个输入数据和标签数据;
3.2利用R′1训练混合CNN-LSTM模型从而拟合得到台风是否形成预测模型,方法如下:
3.2.1选择交叉熵函数作为混合CNN-LSTM模型的损失函数,函数形式如下:
其中,损失函数值为loss_value1,NF为R′11的输入数据或标签数据的总个数,iF为R′11中数据的序号,1≤iF≤NF,为R′11中第iF个真实的标签数据,为模型预测的标签数据,表示对取对数;
3.2.2选择准确率ACC作为模型好坏的评价指标:
其中,NA为R′12中被模型预测正确的标签数据的总数,NF′为R′12的标签数据总数;
3.2.3将R′1输入混合CNN-LSTM模型,对混合CNN-LSTM模型进行训练,拟合得到台风是否形成预测模型,模型的损失函数为交叉熵函数,评价指标为ACC;
3.3利用R′2训练混合CNN-LSTM模型,拟合得到台风路径预测模型,方法如下:
3.3.1选择均方根误差函数作为台风路径预测模型的损失函数:
其中,损失函数值为loss_value2,NL为R′21的输入数据或标签数据的总个数,iL为R′21中数据的序号,1≤iL≤NL,为R′21中第iL个真实的标签数据,为第iL个模型预测的标签数据;
3.3.2选择绝对误差函数作为台风路径预测模型的评价指标:
其中,N′L为R′22的输入数据或标签数据的总个数,i′L为R′22中数据的序号,1≤i′L≤N′L,为R′22中第i′L个真实的标签数据,为第i′L个模型预测的标签数据;
3.3.3将R′2输入混合CNN-LSTM模型,对混合CNN-LSTM模型进行训练,拟合得到台风路径预测模型,模型的损失函数为均方根误差函数,评价指标为绝对误差函数;
3.4利用R′3训练混合CNN-LSTM模型,拟合得到台风强度预测模型:
3.4.1选择均方根误差函数作为台风强度预测模型的损失函数:
其中,损失函数值为loss_value3,NL为R′31的输入数据或标签数据的总个数,iL为R′31中数据的序号,1≤iL≤NL,为R′31中第iL个真实的标签数据,为第iL个模型预测的标签数据;
3.4.2选择绝对误差函数作为台风强度预测模型的评价指标:
其中,N′L为R′32的输入数据或标签数据的总个数,i′L为R′32中数据的序号,1≤i′L≤N′L,为R′32中第i′L个真实的标签数据,为第i′L个模型预测的标签数据;
3.4.3将R′3输入混合CNN-LSTM模型,对混合CNN-LSTM模型进行训练,拟合得到台风强度预测模型,模型的损失函数为均方根误差函数,评价指标为绝对误差函数;第四步,利用三种台风预测模型进行预测,方法是
4.1令目标预测区域A的经纬度范围为UA°×WA°,UA°为A的经度跨度,WA°为A的纬度跨度,要求A与第一步选择的热带气旋记录所在区域属同一海区;选定下载的数据类型为A中已有的最高分辨率uA°×uA°的网格化大气海洋变量数据;因此,A内的总格点数G=N×M,其中
4.2选定和训练模型时一致的预测时间步k,回顾时间步b;
4.3下载A内格点所对应的大气海洋变量数据后进行台风预测,方法是:
4.3.1以A的二维经纬度网格的第一个点为原点建立坐标,令原点为(1,1);
4.3.2初始化纵坐标为变量n=1;
4.3.3初始化横坐标为变量m=1;
4.3.4采用下载格点大气海洋变量数据的方法下载坐标为(m,n)处格点的大气海洋变量数据X[m,n];方法是:根据预测的当前时刻t1以及(m,n)处格点的经度位置lon[m,n],纬度位置lat[m,n]采用步骤1.3.3所述的单点变量数据下载方法,从天气预报中心逐一下载t1,t1-6,t1-12,...,t1-6b时刻(m,n)处格点的大气海洋变量数据,分别记录为网格中每一个格点是一个五元组结构,五元组结构为(NUM,LOC,TT,XP,XS),其中NUM是网格的坐标(m,n),LOC是(m,n)处格点的经度值和纬度值,TT是一个时间的集合,含t1,t1-6,t1-12,...,t1-6b时刻的时间,XP是(m,n)处格点TT各时刻的大气变量数据,XS是(m,n)处格点TT各时刻的海洋变量数据,XP与XS合成后即为(m,n)处格点的大气海洋数据X[m,n];
4.3.5若n≤N且m≤M,将X[m,n]输入至台风是否形成预测模型,预测(m,n)处格点6k小时后是否有台风形成;若预测结果是不形成,令m=m+1,转步骤4.3.4;若预测结果是形成,转步骤4.3.6;若n≤N但m>M,令n=n+1,转步骤4.3.3;若n>M,转第五步;
4.3.6初始化预测次序号变量nf=1;
4.3.7采用步骤4.3.4下载格点大气海洋变量数据的方法,根据实时更新的预测当前时刻t2以及(m,n)处格点的经纬度位置重新下载数据得到X′[m,n],将得到的X′[m,n]输入台风路径预测模型,得到第nf次路径预测结果即为台风在t2+6k×nf时刻的经纬度位置;
4.3.8将X′[m,n]输入台风强度预测模型,得到第nf次强度预测结果即为台风在t2+6k×nf时刻的强度值;
4.3.9若不为0,根据预测得到的经纬度位置搜索与A中相同经纬度值对应的格点坐标(m′,n′),令nf=nf+1,转步骤4.3.7;若为0,nf=预测总次数NF,转步骤4.3.10;
4.3.10将nf次台风路径预测的连接绘图后即为从t2时刻起6k×nf小时后的预测路径,nf次台风强度预测的即为对应的路径上的台风强度值;
第五步,结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910278781.3/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理