技术领域
[0001] 本发明涉及流域水文预报技术领域,具体为基于可解释性机器学习的流域径流预报方法。
相关背景技术
[0002] 水文预报特别是径流预测,一直以来都是流域水文学的关键任务。近年来全球气候变化以及人类活动引起的环境变化愈趋明显,导致极端天气事件频发,严重影响了我国经济社会的快速发展。因此,通过提出适应变化环境的流域水文预报方法,提升预报效率、提高流域径流预报精度和延长预见期,具有重大的科学意义和实际应用价值。
[0003] 当前,径流预报方法主要分为两大类:(1)基于物理过程的水文模型,其优点是模型具有物理机制且能够模拟水文过程的中间状态变量。其实施主要基于历史水文数据来率定模型参数,随后采用已校准的水文模型对径流过程进行预报。(2)基于数据驱动的机器学习模型,其相对于物理过程水文模型简便易行且精度较高。其实施主要基于构建并分类的历史水文气象训练数据集来建立输入变量与输出变量(如径流)的映射关系,随后开展径流预报。
[0004] 两类方法在流域径流预报得到了广泛应用并取得了较好的应用效果。但现有的单一的流域径流预报方法仍存在以下问题:(1)基于物理过程的水文模型在流域径流预报中面临参数估计的不确定性,对大量观测数据的需求较高,模型结构和参数的复杂性制约了其在实际应用中的灵活性和普适性。(2)机器学习作为“黑箱”模型,其模型内部机理以及结果缺乏可解释性,并且训练机器学习模型的输入信息时未考虑对于降雨‑径流过程影响很重要的水文中间状态变量。因此,需要一种能够增强机器学习模型径流预报的可解释性和稳定性,提高流域径流预报精度的方法。
具体实施方式
[0018] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019] 本发明根据研究流域内的历史水文气象数据,对数据进行质量检查和预处理;选取月水量平衡水文模型,构建水文中间状态变量、径流的通用函数关系式,然后将构建好的通用函数关系式与机器学习模型耦合,最后基于训练好的机器学习模型开展流域径流预报。如图1所示,本发明提供一种基于可解释性机器学习的流域径流预报方法的技术方案,其方法步骤包括:S1、收集研究流域内的历史水文气象数据,包括降水、实际蒸散发、潜在蒸散发、温度、土壤湿度、流域出口断面径流,针对历史数据序列采用支持向量机(One‑Class SVM)方法识别并去除数据异常值,处理数据异常值采用线性插值方法补全缺失数据,并将处理后的历史数据统一换算为月尺度数据。
[0020] S2、选取月水量平衡水文模型,确定机器学习模型预测的水文目标变量,所述水文目标变量包括水文中间状态变量 和径流 ,基于月水量平衡水文模型选取的水文中间状态变量,必须作为径流的输入变量之一,水文中间状态变量 包括实际蒸散发 、土壤湿度 。
[0021] S3、基于选取月水量平衡水文模型的水文目标变量计算方程,分别构建水文中间状态变量通用函数关系式 以及径流的通用函数关系式 ;其中,为防止模型之间存在重复的关系,选择用于构建可解释性机器学习模型的月水量平衡水文模型包括TM、XM、MEP、SLM、TVGM模型。构建好的水文中间状态变量、径流通用函数关系式如下表所示:
表1 以实际蒸散发为水文中间状态变量时 和 的关系式概化
[0022] 表2 以土壤湿度为水文中间状态变量时 和 的关系式概化
[0023] 式中, 和 分别表示水文中间状态变量、径流的通用函数关系式, 为t时刻降水, 为t时刻实际蒸散发, 为t时刻潜在蒸散发, 为t时刻土壤湿度, 为t‑1时刻土壤湿度, 为t时刻径流。
[0024] S4、将构建好的通用函数关系式与机器学习模型耦合,基于历史水文气象数据、采用贝叶斯优化方法对可解释性机器学习模型的超参数进行优化,进而基于训练好的可解释性机器学习模型开展流域径流预报,具体步骤如下:S401、基于历史水文气象数据、采用贝叶斯优化方法对机器学习模型的超参数进行优化,采用贝叶斯优化方法对机器学习模型的超参数进行优化的具体操作如下:
在贝叶斯优化中,代理模型通常是高斯过程(Gaussian Process,GP)。GP是一种概率模型,用于建模目标函数,它可以表示为:
;
式中, 是目标函数, 是均值函数, 是协方差函数(或核函数),代理
模型的目标是估计给定输入 的目标函数输出的概率分布;
采用改进函数(Acquisition Function)选择下一个采样点,以便最大化或最小化目标函数,一种常见的改进函数是期望改进(Expected Improvement,EI):
;
式中, 是当前已知的最佳目标函数值, 是代理模型对于给定 的输出的
期望。在每一步迭代中,通过优化改进函数来选择下一个采样点,以便在代理模型上找到改进函数的最大值,具体来说,下一个采样点可以通过以下方式选择:
;
式中, 为新的采样点;
当新的采样点 被评估后,我们将其性能 加入已知的数据集,然后更新代
理模型。通过不断重复这个过程,代理模型会越来越准确地估计目标函数,贝叶斯优化在一系列迭代后,会趋向于收敛到目标函数的全局最大值或最小值。
[0025] S402、构建的可解释性机器学习模型主体包括两层机器学习模型,记为N1和N2。用于构建可解释性机器学习模型的两层机器学习模型N1和N2所用的机器学习方法均为Lasso(回归模型),且两层机器学习模型的超参数设置相同,构建可解释性机器学习模型时水文中间状态变量的选取分为两种情况,具体操作如下:a、水文中间状态变量 采用实际蒸散发 ,根据表1的 通用函数关系式
,将输入因子的观测数据代入第一层机器学习模型N1预测实际蒸散发 ;随后根据表1的通用函数关系式 ,将输入因子数据代入第二层机器学习模型N2预测流域径流 ,其中输入因子数据包括N1预测的实际蒸散发 数据以及 中除 以外其他因子的观测数据;
以XM模型为例,考虑实际蒸散发为水文中间状态变量时,将 、 、 按照
的数据输入关系代入第一层Lasso机器学习层N1,得到水文中间状态变量
的预测值,随后将N1生成的水文状态变量 和 、 、、 按照
的数据输入关系代入第二层Lasso机器学习层N2,得到径流的预测值;
b、水文中间状态变量 采用实际蒸散发 ,根据表2的 通用函数关系式 ,将
输入因子的观测数据代入第一层机器学习模型N1预测土壤湿度 ;随后根据表2的 通用函数关系式 ,将输入因子数据代入第二层机器学习模型N2预测流域径流 ,其中输入因子数据包括N1预测的土壤湿度 数据以及 中除 以外其他因子的观测数据;
同样的,以XM模型为例,考虑土壤湿度为水文中间状态变量时,将 、 、 、按照 的数据输入关系代入第一层Lasso机器学习层N1,得到水文中间状态变量的预测值,随后将N1生成的水文状态变量 和 、 、、 按照
的数据输入关系代入第二层Lasso机器学习层N2,得到径流的预测值。其它模型均按照此步骤处理。
[0026] S403、基于训练好的机器学习模型开展流域径流预报,模型径流预报结果的评估采用纳什系数(NSE)、均方根误差(RMSE)和水量平衡指数(PBIAS)3种评价指标,其中纳什系数(NSE)表示为:;
均方根误差(RMSE)表示为:
;
水量平衡指数(PBIAS)表示为:
;
式中,是样本数量, 表示t时刻的模拟流量, 表示t时刻的观测流量,
表示历史数据时间序列的长度, 表示观测流量的平均值。NSE的取值越接近1,RMSE的值越小,表示模型的预测结果与观测数据越接近,即模型的准确性越高;PBIAS值为正数时,表示模拟流量存在高估,负值意味着低估,值越接近0表示模拟流量与观测流量的总量误差越小。
[0027] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0028] 最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。