基于机器学习的青藏高原高寒沼泽湿地蒸散发插补研究_王秀英_2022

基于机器学习的青藏高原高寒沼泽湿地蒸散发插补研究_王秀英_2022

  • 摘要
    • 关键词
  • 1 材料和方法
    • 1.1 研究区概况与数据来源
    • 1.2 研究方法
  • 2 结果和分析
    • 2.1 蒸散发通量观测数据缺省状况
    • 2.2 蒸散发与气象因子的相关性分析
    • 2.3 不同气象因子输入组合下各模型算法精度对比
    • 2.4 随机森林回归模型插补结果分析
  • 3 讨论
  • 4 结论

在这里插入图片描述

摘要

  本文以青藏高原典型高寒沼泽湿地为观测研究站, 以实际蒸散发为研究对象, 结合气象因子(净辐射、气温、土壤热通量、风速、相对湿度、土壤含水率), 建立基于多元线性回归(MLR)、决策树(CART)、随机森林(RF)、支持向量回归(SVR)、多层感知机(MLP) 7种组合5类算法的预测模型, 找出对于蒸散发具有较高精度的插补方法, 实现实际蒸散发数据集的构建。

关键词

机器学习; 高寒沼泽湿地; 蒸散发; 交叉验证

1 材料和方法

1.1 研究区概况与数据来源

  试验地位于中国气象局青海高寒生态气象野外科学试验基地隆宝试验站(简称隆宝站) (图1)。
在这里插入图片描述
  本研究选取隆宝站2019年1–10月涡度相关系统所观测的原始数据(其他观测时段缺测)。本研究采用站点30 min的有效气象因子和蒸散发观测值研究机器学习算法的插补效果。将每月30 min气象因子净辐射(W·m–2)、气温(℃)、相对湿度(%)、土壤热通量(W·m–2)、风速(m·s–1)、土壤含水率(%)作为输入变量, 相应月份的30 min蒸散发观测值作为输出变量, 并将每月观测值的70%作为训练集, 30%作为测试集, 按月单独进行训练, 采用机器学习回归算法插补缺失或丢弃的数据以获得完整通量时间序列。

1.2 研究方法

1.2.1 多元线性回归算法
1.2.2 决策回归树算法
1.2.3 随机森林算法
1.2.4 支持向量回归算法
1.2.5 多层感知机算法

2 结果和分析

2.1 蒸散发通量观测数据缺省状况

  本研究地点是以高寒沼泽湿地为下垫面的隆宝试验站, 其2019年1–10月(11、12月缺测)蒸散发通量观测数据缺失状况如表1所示, 2019年数据平均缺失率为17%。
在这里插入图片描述

2.2 蒸散发与气象因子的相关性分析

  结果如表2所示, 研究区蒸散发与所选气象因子存在显著相关关系, 相关性大小关系为: 净辐射>土壤热通量>相对湿度>气温>风速>土壤温度>土壤含水率。
在这里插入图片描述

2.3 不同气象因子输入组合下各模型算法精度对比

  根据表2气象因子与蒸散发相关性分析, 选取平均相关系数从大到小的气象因子为特征组合, 基于7个特征组合方案, 分别建立7个基于机器学习算法模型, 输入的气象因子模型特征组合及模型精度如表3、4所示。
在这里插入图片描述
在这里插入图片描述
  不同气象因子对蒸散发的重要性不同, 利用算法模型中重要性估计方法, 可以得出主要影响蒸散发的气象因子, 图2给出了5个气象因子重要性排序(土壤温度和土壤含水率重要性几乎为0, 图中未作显示), 相对重要性从大到小依次为: 土壤热通量、净辐射、气温、风速、相对湿度
在这里插入图片描述

2.4 随机森林回归模型插补结果分析

2.4.1 模型参数调优
  选用随机森林算法, 利用组合1进行蒸散值的插补, 为了提高随机森林回归模型插补精度 , 用交叉验证法(GridSearchCV), 寻找最优超参数。当参数max_features为0.9, max_depth为6时, 误差error_score达到最低(0.3左右), 此时, GridSearchCV返回的最优分数为0.90 (图3)。
在这里插入图片描述
2.4.2 插补结果分析
  利用已训练好的插补模型对隆宝站2019年缺失蒸散发进行插补, 结果见表5所示。
在这里插入图片描述

  图4为插补精度最高(10月)和最低(6月)两个月的插补效果。图5为随机森林插补精度最高(10月)和最低(6月)的插补精度验证图。
在这里插入图片描述

在这里插入图片描述
  图6可以看出, 净辐射、土壤热通量、气温与蒸散发日尺度变化趋势基本一致, 呈正相关关系; 风速、相对湿度与蒸散发变化趋势相反, 呈负相关关系。
在这里插入图片描述

3 讨论

4 结论

  (1)研究区蒸散发与所选气象因子存在显著相关关系, 相关性大小关系为: 净辐射>土壤热通量>
相对湿度>气温>风速>土壤温度>土壤含水率。
  (2)依据随机森林模型中重要性估计方法, 高寒沼泽湿地影响蒸散发的气象因子相对重要性由大到小依次为: 土壤热通量、净辐射、气温、风速、相对湿度。
  (3) 7种组合的5类机器学习算法模型的R2变化范围为0.58–0.83, RMSE变化范围为0.038–0.089 mm·30 min–1。5种算法模型的R2最大为随机森林算法, 最小为多层感知机算法。随机森林算法在不同气象因子组合下的插补表现最优, 在5个算法模型中拟合精度始终保持在最高值, RMSE在最低值, 精度和稳定性最佳。针对7种不同气象因子组合, 组合1 的随机森林效果最优。利用交叉验证法(GridSearchCV)搜索最优超参数, 返回的最优参数max_features为0.9, max_depth为6, 最优分数达到0.90。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/261323.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Nginx或者Fiddler快速代理调试

1 背景问题 在分析业务系统程序问题时,存在服务系统环境是其它部门或者其它小组搭建或运维的,并且现在微服务时代,服务多且复杂,在个人机器上搭建起如此环境,要么费事费力,要么不具备充足条件。 急需有一种方法或者工具可以快速辅助调试定位分析问题。本文下面介绍代理方…

用于扫描机密的开源解决方案

TruffleHog 最初是在 2016 年独立创作的一个研究工具。当发布它时,没有工具扫描 Git 修订历史记录以获取秘密。我的预感是旧版本的代码中隐藏着很多秘密,但没有工具可以查找它们。 我的预感是对的。该工具迅速流行并变得非常流行。如今,它在…

git使用过的命令记录

目录 git add .git commit --amendgit push -f origin HEAD:mastergit checkout .git stash想把某个pr的修改应用到本地git 撤销,放弃本地修改参考文档 git add . 将本地修改提交到暂存区 git commit --amend 如果本地有修改 就是将修改的东西 追加到上一个pr 如…

喀秋莎画中画怎么设置 喀秋莎画中画视频怎么导出 喀秋莎什么意思 camtasia studio下载

画中画视频,顾名思义,就是在一个视频中有两个画面,游戏解说、微课等类型的视频常常就以画中画的形式出现。作为一款专业的视频编辑软件,使用camtasia可以轻松地制作画中画视频并导出。接下来我将为大家介绍:喀秋莎画中…

使用Templ进行Go模板化

使用Templ在Go项目中高效生成动态内容的指南 动态内容生成是Web开发的一个基本方面。无论您是在构建网站、Web应用程序还是API,根据数据和模板生成动态内容的能力都至关重要。在Go编程世界中,一个名为“Templ”的强大工具简化了这一过程。在这份全面的指…

详细设计文档模版

背景 描述为什么要做这个技术改造,改造后收益是什么。可以是业务背景或者技术背景。 业务需求类此处可以将产品需求文档中的内容放到此处。技术改造类项目记录发起改造的原因,如系统问题、架构升级、bug修复、性能优化等。 现状 描述当前的技术实现的…

MyBatis---初阶

一、MyBatis作用 是一种更简单的操作和读取数据库的工具。 二、MyBatis准备工作 1、引入依赖 2、配置Mybatis(数据库连接信息) 3、定义接口 Mapper注解是MyBatis中用来标识接口为Mapper接口的注解。在MyBatis中,Mapper接口是用来定义SQL映射的接口,通…

phar反序列化原理及利用

phar是什么? phar 是 PHP 的一种归档文件格式,类似于 ZIP 或 TAR 文件,它可以包含多个文件和目录,并且可以像访问普通文件系统一样在 PHP 中进行访问。在php 5.3 或更高版本中默认开启 在php.ini中配置如下时,才能生成…

2024.4.21

多进程实现拷贝 #include <myhead.h> //定义结构体 typedef struct INFO {const char *src_file;const char *dest_file;int mv;int size;}info_t;//获取源文件的大小并且创建目标文件 int size_creat(const char *src_file,const char *dest_file) {//获取源文件的大小…

opengl 学习着色器

一.GLSL 着色器是使用一种叫GLSL的类C语言写成的。GLSL着色器编码顺序&#xff1a;声明版本》定义输入输出》uniform》main函数。每个着色器的入口点是main函数&#xff0c;在main函数中我们处理所有的输入变量&#xff0c;并将结果输出到输出变量中。如下图&#xff1a; #ver…

PyCharm 主题和字体 (Scheme Editor Font)

PyCharm 主题和字体 [Scheme & Editor Font] References Scheme & Editor Font File -> Settings -> Editor -> Colors & Fonts -> Font Show only monospaced fonts&#xff1a; 只显示等宽字体。编程时使用等宽字体效果较好。 References [1] Yon…

JAVA并发编程之原子性、可见性与有序性

并发编程-原子性、可见性与有序性 一、CPU的可见性 1.1 缓存一致性问题的出现 CPU处理器在处理速度上&#xff0c;远胜于内存&#xff0c;主内存执行一次内存的读写操作&#xff0c;所需要的时间足够处理器去处理上百条指令。 为了弥补处理器与主内存处理能力之间的差距&am…

Jenkins 中部署Nodejs插件并使用,并构建前端项目(3)

遇到多个版本nodeJS需要构建的时候 1、第一种就是一个配置安装&#xff0c;然后进行选中配置 2、第二种就是插件&#xff1a;nvm-wrapper&#xff0c;我们还是选用NodeJS插件&#xff1a; &#xff08;1&#xff09;可以加载任意npmrc文件&#xff1b; &#xff08;2&#x…

grafana配置钉钉告警模版(一)

1、配置钉钉告警模版 创建钉钉告警模版&#xff0c;然后在创建钉钉告警时调用模版。 定义发送内容具体代码 my_text_alert_list 是模版名称后面再配置钉钉告警时需要调用。 {{/* 定义消息体片段 */}} {{ define "my_text_alert_list" }}{{ range . }}告警名称&…

彻底解决关于路由的问题,前端路由和服务端路由,history api 和 hash路由

首先路由分成两大块&#xff0c;分别是前端路由和服务端路由&#xff0c;而前端路由又分为两种模式&#xff0c;分别是 histroy api 模式和 hash 模式。 路由 前端路由&#xff1a;指在浏览器中进行路由控制的一种方式&#xff0c;通过监听 url 变化决定加载哪个页面组件或视图…

用idea debug时,怎么在某个map对象中再加个key value

实现方式 在用idea 进行 debug时&#xff0c;我们经常喜欢对某行代码打断点&#xff0c;然后对某个对象重新设置值&#xff0c;以快速地实现我们预期想覆盖的场景。通常的方式是用鼠标右键点击某个对象&#xff0c;然后选择Set value进行设置值&#xff0c;但是如果想在map中添…

Elasticsearch:创建自定义 ES Rally tracks 的分步指南

作者&#xff1a;Alejandro Snchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是什么&#xff1f;它的用途是什么&#xff1f; ES Rally 是一个用于在 Elasticsearch 上测试性能的工具&#xff0c;允许你运行和记录比较测试。 做出决策可能很困难&#x…

使用Autodl云服务器或其他远程机实现在本地部署知识图谱数据库Neo4j

本篇博客的目的在于提高读者的使用效率 温馨提醒&#xff1a;以下操作均可在无卡开机状态下就可完成 一.安装JDK 和 Neo4j 1.1 ssh至云服务器 打开你的pycharm或者其他IDE工具或者本地终端&#xff0c;ssh连接到autodl的服务器。(这一步很简单如下图) 1.2 安装JDK 由于我…

阿里云幻兽帕鲁Linux 服务器下载游戏存档的方法

阿里云幻兽帕鲁Linux 服务器下载游戏存档的方法也非常简单。 远程连接到阿里云的 linux服务器后&#xff0c;可以在 ECS 远程连接命令行界面&#xff0c;点击左上角的文件&#xff0c;打开文件树。通过一行命令打包。 在打包后的 Saved.tar 文件上右键&#xff0c;选择 下载文…

小程序--模板语法

一、插值{{}}语法 1、内容绑定 <view>{{iptValue}}</view> 2、属性绑定 <switch checked"{{true}}" /> Page({data: {iptValue: 123} }) 二、简易双向数据绑定 model:value&#xff1a;支持双向数据绑定 注&#xff1a;仅input和textarea支持&a…