融合机理与ML的湖泊叶绿素a短期集合预报方法及系统转让专利

申请号 : CN202210128616.1

文献号 : CN114564883B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈求稳陈诚张建云李夫健李港丁珏姚斯洋何梦男崔桢

申请人 : 水利部交通运输部国家能源局南京水利科学研究院江苏首屏信息产业有限公司

摘要 :

本发明公开了一种融合机理与ML的湖泊叶绿素a短期集合预报方法及系统,首先对月尺度的湖泊叶绿素a浓度数据及其气象和水环境影响因子进行相关性分析识别关键因子。然后建立湖泊藻类动力学机理模型,计算获得湖泊叶绿素a以及关键水环境因子的每日浓度数据。再基于日尺度的叶绿素a及其关键因子的时间序列数据,构建基于机器学习的时间序列预报模型集合,实现叶绿素a的未来数天短期多模式预报。最后结合多组机器学习模型的短期预报结果,建立多元线性回归集合预报方法,实现湖泊叶绿素a的高精度短期集合预报。本发明有效克服了日尺度叶绿素a和水环境因子监测数据缺乏的问题,通过建立多元线性回归集合预报方法,有效提升了预报精度。

权利要求 :

1.一种融合机理与ML的湖泊叶绿素a短期集合预报方法,其特征在于,包括如下步骤:对月尺度的湖泊叶绿素a浓度数据及其气象和水环境影响因子进行相关性分析,识别影响叶绿素a的关键因子;

建立湖泊藻类动力学机理模型,以月尺度数据进行率定验证,计算获得湖泊叶绿素a以及关键水环境因子的每日浓度数据;

基于日尺度的叶绿素a及其关键气象和水环境因子的时间序列数据,构建基于机器学习ML的时间序列预报模型集合,包括SVM、RF和LSTM模型,实现叶绿素a的未来一天、两天或三天短期多模式预报;

结合多组机器学习模型的湖泊叶绿素a短期预报结果,建立多元线性回归集合预报方法,实现湖泊叶绿素a的短期集合预报;通过有限次数的湖泊叶绿素a观测值和对应的各机器学习模型预报结果Mi,进行多元线性回归,根据最小二乘原理求解各个模式对应的权重系数αi,以及常数项β0;根据如下公式计算得到湖泊叶绿素a的集合预报结果F:其中,N为机器学习模型个数,Mi为第i个机器学习模型预报结果。

2.根据权利要求1所述的融合机理与ML的湖泊叶绿素a短期集合预报方法,其特征在于,湖泊藻类动力学机理模型中水质变量方程为:其中,Ci为水质变量的浓度;u,v,w分别为水平‑曲线坐标和垂向坐标下的x、y、z三个方向的速度分量;H为水深;Ax,Ay,Az分别为x、y、z三个方向的湍流扩散系数;SCi为每单位水量的内外部源汇;mx、my是水平‑曲线坐标变化因子;t为时间;

温度方程为:

其中,T为温度;Ab为垂向紊动扩散系数;I为太阳短波辐射强度;ST为热交换的源汇项。

3.根据权利要求1所述的融合机理与ML的湖泊叶绿素a短期集合预报方法,其特征在于,湖泊藻类动力学机理模型中藻类动力过程方程为:其中,B为藻的生物量,P为藻的生长速率,BM为藻的基础新陈代谢速率,PR为藻的捕食速率,WS为藻的沉降速率,WB为藻的外源负荷,t为时间,z为垂向坐标,V为单元体积。

4.根据权利要求1所述的融合机理与ML的湖泊叶绿素a短期集合预报方法,其特征在于,在构建基于机器学习的时间序列预报模型集合之前,对日尺度时间序列数据进行归一化预处理,其中叶绿素a时间序列数据为输出项y,气象和水环境关键影响因子为输入项向量x,将y和x的数据值域变换至[0,1];将整个时间序列的数据集,划分为训练数据集和测试数据集,根据所需预测的未来天数确定数据对应关系,预测1天的结果,则xt‑1→yt;预测2天的结果,则xt‑2→yt;预测3天的结果,则xt‑3→yt;t为时间。

5.一种融合机理与ML的湖泊叶绿素a短期集合预报系统,其特征在于,包括:

关键影响因子识别模块,用于对月尺度的湖泊叶绿素a浓度数据及其气象和水环境影响因子进行相关性分析,识别影响叶绿素a的关键因子;

日尺度数据获取模块,用于建立湖泊藻类动力学机理模型,以月尺度数据进行率定验证,计算获得湖泊叶绿素a以及关键水环境因子的每日浓度数据;

机器学习模块,用于基于日尺度的叶绿素a及其关键气象和水环境因子的时间序列数据,构建基于机器学习ML的时间序列预报模型集合,包括SVM、RF和LSTM模型,实现叶绿素a的未来一天、两天或三天短期多模式预报;

以及集合预报模块,用于结合多组机器学习模型的湖泊叶绿素a短期预报结果,建立多元线性回归集合预报方法,实现湖泊叶绿素a的短期集合预报;通过有限次数的湖泊叶绿素a观测值和对应的各机器学习模型预报结果Mi,进行多元线性回归,根据最小二乘原理求解各个模式对应的权重系数αi,以及常数项β0;根据如下公式计算得到湖泊叶绿素a的集合预报结果F:其中,N为机器学习模型个数,Mi为第i个机器学习模型预报结果。

6.根据权利要求5所述的融合机理与ML的湖泊叶绿素a短期集合预报系统,其特征在于,湖泊藻类动力学机理模型中水质变量方程为:其中,Ci为水质变量的浓度;u,v,w分别为水平‑曲线坐标和垂向坐标下的x、y、z三个方向的速度分量;H为水深;Ax,Ay,Az分别为x、y、z三个方向的湍流扩散系数; 为每单位水量的内外部源汇;mx、my是水平‑曲线坐标变化因子;t为时间;

温度方程为:

其中,T为温度;Ab为垂向紊动扩散系数;I为太阳短波辐射强度;ST为热交换的源汇项。

7.根据权利要求5所述的融合机理与ML的湖泊叶绿素a短期集合预报系统,其特征在于,湖泊藻类动力学机理模型中藻类动力过程方程为:其中,B为藻的生物量,P为藻的生长速率,BM为藻的基础新陈代谢速率,PR为藻的捕食速率,WS为藻的沉降速率,WB为藻的外源负荷,t为时间,z为垂向坐标,V为单元体积。

8.一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1‑4任一项所述的融合机理与ML的湖泊叶绿素a短期集合预报方法。

说明书 :

融合机理与ML的湖泊叶绿素a短期集合预报方法及系统

技术领域

[0001] 本发明涉及水利技术领域,尤其涉及一种融合机理模型和机器学习(ML)的湖泊叶绿素a短期集合预报方法及系统。

背景技术

[0002] 湖泊是全球水资源的重要组成部分,具有调节河川径流、供水灌溉、改善生态环境、维持生态系统平衡等功能,对人类生存和发展具有重要影响。近些年来,随着人类活动加剧和全球气候变暖的双重影响,湖泊富营养化已成为全世界面临的严峻挑战。湖泊富营养化导致的蓝藻水华暴发已成为全球目前以及今后相当长一段时间内所面临的重大生态环境问题。开展湖泊富营养化的动态监测与预报预警研究,是预防和治理湖泊藻类水华的基础,对于湖泊富营养化控制和水生态环境改善具有重要意义。
[0003] 叶绿素a浓度与水生浮游植物的丰度和生物量密切相关,是评价富营养化和藻华的常用指标。目前获取叶绿素a浓度的主要方式包括:现场采样调查、遥感卫星观测和模型模拟。其中现场采样获得的叶绿素a数据精度最高,主要是通过每个月的人工采样,进行实验室分析,但是该方法耗时耗力,且空间上采样站点稀疏。卫星遥感技术能够进行叶绿素a空间上大范围的反演,但是其精度相对较低,且数据质量受大气干扰严重。通过模型模拟能够获得长时间序列的叶绿素a高频数据,但是由于缺乏未来的模型输入边界条件,模型往往无法提供未来的预报结果。目前,湖泊叶绿素a的短期预报研究主要还是通过布设相关的高频监测仪器设备,进行短时间尺度(小时尺度或日尺度)的监测数据获取,进而结合相关统计方法和机器学习等方法进行预报。对于缺乏高频观测数据的湖泊而言,目前尚缺乏有效的短期预报实用方法。此外,当前的研究中由于预报模式较为单一,预报结果不确定性较大。

发明内容

[0004] 发明目的:本发明提供一种融合机理模型和机器学习的湖泊叶绿素a短期集合预报方法及系统,为湖泊富营养化的精确动态监测预报预警与科学管控提供重要技术支撑。
[0005] 技术方案:为实现上述发明目的,本发明采用如下技术方案:
[0006] 一种融合机理模型和机器学习ML的湖泊叶绿素a短期集合预报方法,包括如下步骤:
[0007] 对月尺度的湖泊叶绿素a浓度数据及其气象和水环境影响因子进行相关性分析,识别影响叶绿素a的关键因子;
[0008] 建立湖泊藻类动力学机理模型,以月尺度数据进行率定验证,计算获得湖泊叶绿素a以及关键水环境因子的每日浓度数据;
[0009] 基于日尺度的叶绿素a及其关键气象和水环境因子的时间序列数据,构建基于机器学习的时间序列预报模型集合,包括SVM、RF和LSTM模型,实现叶绿素a的未来数天短期多模式预报;
[0010] 结合多组机器学习模型的湖泊叶绿素a短期预报结果,建立多元线性回归集合预报方法,实现湖泊叶绿素a的短期集合预报。
[0011] 作为优选,湖泊藻类动力学机理模型中水质变量方程为:
[0012]
[0013] 其中,Ci为水质变量的浓度;u,v,w分别为水平‑曲线坐标和垂向坐标下的x、y、z三个方向的速度分量;H为水深;Ax,Ay,Az分别为x、y、z三个方向的湍流扩散系数; 为每单位水量的内外部源汇;mx、my是水平‑曲线坐标变化因子;t为时间;
[0014] 温度方程为:
[0015]
[0016] 其中,T为温度;Ab为垂向紊动扩散系数;I为太阳短波辐射强度;ST为热交换的源汇项。
[0017] 湖泊藻类动力学机理模型中藻类动力过程方程为:
[0018]
[0019] 其中,B为藻的生物量,P为藻的生长速率,BM为藻的基础新陈代谢速率,PR为藻的捕食速率,WS为藻的沉降速率,WB为藻的外源负荷,V为单元体积。
[0020] 作为优选,在构建基于机器学习的时间序列预报模型集合之前,对日尺度时间序列数据进行归一化预处理,其中叶绿素a时间序列数据为输出项y,气象和水环境关键影响因子为输入项向量x,将y和x的数据值域变换至[0,1];将整个时间序列的数据集,划分为训练数据集和测试数据集,根据所需预测的未来天数确定数据对应关系,预测1天的结果,则xt‑1→yt;预测2天的结果,则xt‑2→yt;预测3天的结果,则xt‑3→yt;t为时间。
[0021] 作为优选,根据如下公式计算得到湖泊叶绿素a的集合预报结果F:
[0022]
[0023] 其中,N为机器学习模型个数,Mi为第i个机器学习模型预报结果,αi为对应的权重系数,β0为常数项β0。
[0024] 基于相同的发明构思,本发明提供一种融合机理模型和机器学习的湖泊叶绿素a短期集合预报系统,包括:
[0025] 关键影响因子识别模块,用于对月尺度的湖泊叶绿素a浓度数据及其气象和水环境影响因子进行相关性分析,识别影响叶绿素a的关键因子;
[0026] 日尺度数据获取模块,用于建立湖泊藻类动力学机理模型,以月尺度数据进行率定验证,计算获得湖泊叶绿素a以及关键水环境因子的每日浓度数据;
[0027] 机器学习模块,用于基于日尺度的叶绿素a及其关键气象和水环境因子的时间序列数据,构建基于机器学习的时间序列预报模型集合,包括SVM、RF和LSTM模型,实现叶绿素a的未来数天短期多模式预报;
[0028] 以及集合预报模块,用于结合多组机器学习模型的湖泊叶绿素a短期预报结果,建立多元线性回归集合预报方法,实现湖泊叶绿素a的短期集合预报。
[0029] 基于相同的发明构思,本发明还提供一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的融合机理模型和机器学习的湖泊叶绿素a短期集合预报方法。
[0030] 有益效果:由于缺乏日尺度的叶绿素a监测数据,以往的相关研究中较少关注湖泊叶绿素a的短期预报,部分少有研究主要通过结合高频率的自动监测站观测资料,进行统计和机器学习算法的单一模式湖泊叶绿素a预测,但是由于单一模型存在诸多不确定性,预报效果较差。与现有技术相比,本发明提供了一种有效的湖泊叶绿素a短期集合预报计算方法,不仅能够有效克服日尺度监测数据缺乏的问题,而且采用集成学习的思想显著提升湖泊叶绿素a的短期预报精度。

附图说明

[0031] 图1是本发明的一个实施例的流程示意图;
[0032] 图2是基于机理模型模拟的叶绿素a浓度的结果率定验证示意图;
[0033] 图3是测试数据集和训练数据集划分的示意图;
[0034] 图4是集合预报结果示意图。

具体实施方式

[0035] 下面结合附图和具体实施例对本发明的技术方案做详细说明。
[0036] 如图1所示,本发明实施例公开的一种融合机理模型和机器学习的湖泊叶绿素a短期集合预报方法,包括以下步骤:
[0037] (1)收集月尺度的湖泊叶绿素a浓度数据,以及其气象和水环境影响因子,分析叶绿素a与影响因子之间的皮尔逊相关性,识别影响叶绿素a的关键因子。
[0038] 该步骤具体包括:
[0039] (1‑1)月尺度数据收集:进行多个年份的月尺度的湖泊站点叶绿素a数据、气象数据(降雨、光照、风速、风向等)和水环境数据(水温、溶解氧、总氮、总磷等)的获取。
[0040] (1‑2)关键影响因子识别:分别计算湖泊叶绿素a数据与各个因子之间的皮尔逊相关系数,选择因子相关分析结果的显著性水平p<0.05的作为关键影响因子,从而识别影响湖泊叶绿素a的关键气象和水环境因子。
[0041] (2)收集关键气象因子的日尺度数据;建立湖泊藻类动力学机理模型,计算获得湖泊叶绿素a以及关键水环境因子的每日浓度数据。
[0042] 该步骤具体包括:
[0043] 从气象监测部门获取关键气象因子的每日数据,收集研究区域的水文、地形等基础数据,采用开源模型EFDC建立湖泊藻类动力学机理模型,模拟输出每日的叶绿素a和关键水环境因子(水温、溶解氧、总氮和总磷等),并以每月的实测资料进行率定验证(如图2所示)。最终获得湖泊叶绿素a的日尺度数据,以及其关键影响因子的日尺度数据。其中,湖泊藻类动力学机理模型控制方程具体包括:
[0044] A、水质变量方程:
[0045]
[0046] 其中,Ci为某种水质变量的浓度,单位为mg/L;u,v,w分别为水平‑曲线坐标和垂向坐标下的x、y、z三个方向的速度分量,单位为m/s;H为水深,单位为m;Ax,Ay,Az分别为x、y、z3
三个方向的湍流扩散系数; 为每单位水量的内外部源汇,单位为g/m ;mx、my是水平‑曲线坐标变化因子;t为时间,单位为s。
[0047] B、温度方程:
[0048]
[0049] 其中,T为温度,单位为℃;Ab为垂向紊动扩散系数,单位为m2/s;I为太阳短波辐射2
强度,单位为W/m;ST为热交换的源汇项,单位为J/s。
[0050] C、藻类(叶绿素a)动力过程方程:
[0051]
[0052] 其中,B为藻的生物量(叶绿素a浓度),单位为g/m3;t为时间,单位为d;P为藻的生‑1 ‑1 ‑1长速率,单位为d ;BM为藻的基础新陈代谢速率,单位为d ;PR为藻的捕食速率,单位为d ;
3
WS为藻的沉降速率,单位为m/d;WB为藻的外源负荷,单位为g/d;V为单元体积,单位为m。
[0053] (3)基于日尺度的叶绿素及其关键气象和水环境因子的时间序列数据,构建基于机器学习的时间序列预报模型集合(支持向量机SVM、随机森林RF和长短期记忆人工神经网络LSTM),实现叶绿素a的未来数天短期多模式预报。
[0054] 该步骤具体包括:
[0055] (3‑1)进行日尺度时间序列数据的归一化预处理,其中叶绿素a时间序列数据为输出项y,气象和水环境关键影响因子为输入项向量x(包含了i个分量的时间序列数据),将y和x的数据值域变换至[0,1],具体形式为:
[0056]
[0057] 其中,a*为数据的归一化后结果,amax、amin分别为时间序列数据的最大值和最小值。
[0058] (3‑2)将整个时间序列长度为n的数据集,划分为训练数据集(1‑t)和测试数据集(t‑n),如图3所示。根据所需预测的未来天数确定的数据对应关系,预测1天的结果,则xt‑1→yt;预测2天的结果,则xt‑2→yt;预测3天的结果,则xt‑3→yt。根据数据对应关系,以此类推,构造机器学习模型集合(SVM、RF和LSTM)进行训练数据集的模型参数训练,并且根据测试数据集进行参数率定验证,确定最优的模型参数(如表1)。
[0059] 表1机器学习模型参数集
[0060]
[0061] (3‑3)对3个机器学习模型预报的输出结果mi(i=1,2,3)进行反归一化,从而获得叶绿素a的真实预测值。
[0062] Mi=mi×(amax‑amin)+amin
[0063] 其中,amax、amin分别为原日尺度时间序列的叶绿素a数据的最大值和最小值,Mi为第i个机器学习模型预测的反归一化后的结果。
[0064] (4)结合多组机器学习模型的湖泊叶绿素a短期预报结果,建立多元线性回归集合预报方法,实现湖泊叶绿素a的高精度短期集合预报。
[0065] 该步骤具体包括:
[0066] 通过有限次数的湖泊叶绿素a观测值和对应的3个机器学习模型预报结果Mi,进行多元线性回归,根据最小二乘原理求解各个模式对应的权重系数αi,以及常数项β0。进而根据下式计算得到湖泊叶绿素a的集合预报结果F。
[0067]
[0068] 图4为大贡山站点叶绿素a的集合预报结果,从图中可以看出集合预报相对于单个机器学习模型其预报结果更优,预报结果与参考值更为接近,且在不同预报时间上集合预报结果的精度可靠性强。
[0069] 基于相同的发明构思,本发明实施例提供了一种融合机理模型和机器学习的的湖泊叶绿素a短期集合预报系统,包括:关键影响因子识别模块,用于对月尺度的湖泊叶绿素a浓度数据及其气象和水环境影响因子进行相关性分析,识别影响叶绿素a的关键因子;日尺度数据获取模块,用于建立湖泊藻类动力学机理模型,以月尺度数据进行率定验证,计算获得湖泊叶绿素a以及关键水环境因子的每日浓度数据;机器学习模块,用于基于日尺度的叶绿素a及其关键气象和水环境因子的时间序列数据,构建基于机器学习ML的时间序列预报模型集合,包括SVM、RF和LSTM模型,实现叶绿素a的未来数天短期多模式预报;以及集合预报模块,用于结合多组机器学习模型的湖泊叶绿素a短期预报结果,建立多元线性回归集合预报方法,实现湖泊叶绿素a的短期集合预报。
[0070] 本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所述模块的划分仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统。
[0071] 基于相同的发明构思,本发明实施例还提供了一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现所述的融合机理模型和机器学习的湖泊叶绿素a短期集合预报方法。
[0072] 本领域技术人员可以理解的是,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。存储介质包括:U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储计算机程序的介质。