学习笔记——ENM模拟

2024-02-09 02:36
文章标签 学习 笔记 模拟 enm

本文主要是介绍学习笔记——ENM模拟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习笔记——ENM模拟

文章目录

  • 前言
  • 一、文献一
    • 1. 材料与方法
      • 1.1. 大致概念
      • 1.2. 生态模型的构建
        • 1.2.1. 数据来源:
        • 1.2.2. 数据处理:
        • 1.2.3. 模型参数优化:
      • 1.3. 适生情况预测
        • 1.3.1. 预测模型构建
        • 1.3.2. 适生区划分
      • 1.4. 模型的评估与验证
    • 2. 结果与分析
      • 2.1. 预测模型的构建
      • 2.2. 潜在的适生分布预测
      • 2.3. 生态模型的评估与验证


前言

学习文献里的方法,初步了解一下什么是ENM模拟

文献名称:
《基于MaxEnt模型和ArcGIS预测多肋藻在中国海域的适生分布特征》


一、文献一

1. 材料与方法

1.1. 大致概念

本研究采用MaxEnt 模型预测多肋藻在我国的适生情况, 并探究不同因子对多肋藻孢子体生长的影响,旨在为开展多肋藻栽培提供支撑。


关键词: 多肋藻; MaxEnt; ArcGIS; 生态风险; 适生分布


物种分布模型(species distribution model, SDM)
主要是根据物种特定的生存环境及存在的分布位点, 通过模型的数学算法模拟出其基本生态位, 可解释为物种出现的概率分布或生境适宜度等。

目前应用较广的 SDM有 BIOCLIM、CLIMEX、DOMAIN、GAM、GARP、MaxEnt、ENFA 等。


MaxEnt (maximum entropy)模型
是基于最大熵理论, 即假设物种在没有约束的情况下, 会尽最大可能扩散蔓延, 接近均匀分布。最大熵模型以物种仅存在分布信息及相关环境因子信息, 依靠数学模型来推算物种的生态需求, 并模拟物种在目标区域的适生概率。


1.2. 生态模型的构建

所采用的生态位预测模型为最大熵模型MaxEnt 3.4, 运用 ArcGIS 10.2 划分适生区

1.2.1. 数据来源:

物种分布数据
分布信息来源: 全球生物多样性信息网络 GBIF (https://www.gbif.org/zh/)和文献资料, 选取明确位置的分布点, 并通过地名数据库 GNDB(https://dmfw.mca.gov.cn/index.html)查验经纬度坐标信息。

最后整理成物种名–经度–纬度形式, 保存为*.CSV 格式文件


环境变量数据

来源于全球海洋生物扩散模型环境数据库 Bio-ORICLE (https://bio-oracle.org/)中基于 2000─2014 年期间月平均值的气候数据编制的图层, 其空间分辨率为 5 arcmin (约为9.2 km), 下载格式为*.asc 格式。选择影响海洋藻类分布的 42 项环境参数。

在这里插入图片描述


地图数据

选用 1∶400 万中国省级行政区图作为分析地图, 从国家基础地理信息系统网站(http://www.ngcc.cn/ngcc/)下载

推荐文章:
国家基础地理信息中心行政边界等矢量数据免费下载保姆级教程–关于地理数据收集与处理的基本工具推荐(7)


1.2.2. 数据处理:

分布数据的空间过滤

物种分布点的数据通过 Excel 删除重复点后, 将剩余分布位点导入 ArcGIS 中, 通过投影工具, 对分布点建立以 m 为单位的坐标系, 并以每个分布点为中心, 建立半径为 5 km 的圆型区域进行邻域分析,
删去重叠交叉的分布簌, 随机保留其中一个位点, 将最终保留下的分布点数据用于模型构建。


环境变量的相关性检验与筛选

在这里插入图片描述

下载ArcGIS软件:

https://zhuanlan.zhihu.com/p/670775519

在这里插入图片描述

下载 MaxEnt软件:

http://lucky-boy.ysepan.com/
(注意:这个网站有许多生物信息学相关资源。强烈推荐)

在这里插入图片描述

1.2.3. 模型参数优化:

正则化参数的优化

在这里插入图片描述


(训练集 : 测试集)比值的优化

设置 4 组训练集与测试集组合(50 : 50、70 : 30、75 : 25、80 : 20),
正则化参数取上述 8 组不同系数经 5–折交叉验证
后的最佳 β 值, 环境变量同上筛选, 并选择
随机种子设置, 其余参数为系统默认值, 每组重复
运行 10 次, 比较各组的平均测试 AUC 值, 选择最
高 AUC 值的训练集: 测试集组合用于模型构建


1.3. 适生情况预测

多肋藻在我国适生情况预测

1.3.1. 预测模型构建

将经 1.2.2处理的分布点、环境变量数据分别导入 MaxEnt 模型, 根据 1.2.3化结果设置正则化参数 β 以及训练集: 测试集参数, 构建环境变量响应曲线, 并采用刀切法检测环境变量的贡献值, 以 logistic 格式输出概率分布预测图。


1.3.2. 适生区划分

在这里插入图片描述

1.4. 模型的评估与验证

在这里插入图片描述

2. 结果与分析

结果与分析

2.1. 预测模型的构建


环境变量筛选


正则化参数的交叉验证和(训练集 : 测试
集)比值的筛选


2.2. 潜在的适生分布预测

2.3. 生态模型的评估与验证

在这里插入图片描述

这篇关于学习笔记——ENM模拟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/692900

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<