乔瓦尼·波吉亚托23年9月18日

webSDM-包括SDM中已知的营养相互作用

webSDM实现了Poggiato等人所述的营养SDM模型,“在物种分布模型中整合营养食物网可改进生态位估计和预测”。营养SDM将已知的营养相互作用网络整合到SDM中,从而提供更现实、更生态的预测。之后,我们在这里简要介绍了该包的一些功能,但我们参考了小插曲和帮助功能,以获得更完整的包文档。

“webSDM”地图

安装R包

#运行以安装webSDM
#install.packages('webSDM',repos=“http://cran.us.r-project.org")
开发工具::安装github(“giopogg/webSDM”)
图书馆(网络SDM)
图书馆(ggplot2)
图书馆(圣塔那主义)

使营养SDM适合数据

拟合营养SDM需要物种分布数据、环境协变量和已知的营养相互作用网络。
我们加载一个模拟数据集,其中Y包含物种分布数据(站点x物种矩阵),x是环境协变量(站点x协变量矩阵),G是记录仪描述交互网络的对象(具有从捕食者到猎物的链接)。我们为每个物种指定了与环境的二次关系,并且我们拟合了一个假设自下而上控制的模型(即,捕食者被建模为猎物的函数)。我们在贝叶斯框架中拟合营养SDM。

数据(X(X),Y(Y),G公司)

 = 营养SDM(Y(Y)= Y(Y),X= X(X),G= G公司,环境公式= “~X_1+X_2”,
家庭= 二项式(链接= “逻辑”),
模式= “猎物”,方法= “stan_glm”)

推断系数

我们可以在参数中看到每个glm的公式$form.all(美元)

$全部表格
##1美元
##[1]“y~X_1+X_2”
##
##Y2美元
##[1]“y~X_1+X_2”
##
##Y3美元
##[1]“y~X_1+X_2”
##
##Y4美元
##[1]“y~X_1+X_2+Y3”
##
##Y5美元
##[1]“y~X_1+X_2+Y1+Y2+Y3”
##
##年6美元
##[1]“y~X_1+X_2+Y3+Y5”

我们可以使用函数首先查看回归系数情节.

情节()

我们可以使用函数访问回归系数(最终标准化)系数.

系数(,标准化= T型,级别= 0.9)
##1美元
##估计5%95%
##(截距)0.3436947 0.34369470.3436949
##X_1-0.2021379-0.2610196-0.1437026
##X_2 0.2551022 0.1967936 0.3060621
##
##Y2美元
##估计5%95%
##(截距)-0.26667469-0.2666777-0.26667469
##X_1 0.38623879 0.3185228 0.44548596
##X_2-0.07487371-0.1398988-0.01233344
##
##Y3美元
##估计5%95%
##(截距)-0.6087146-0.6087149-0.6087134
##X_1 0.2691505 0.2040072 0.3264109
##X_2 0.1959559 0.1277228 0.2558819
##
##Y4美元
##估计5%95%
##(截距)0.78313457 0.783134570.783134568
##X_1-0.17572121-0.23117578-0.11125286
##X_2-0.01240440-0.07179788 0.044998167
##Y3-0.07121957-0.13386056-0.008400504
##
##Y5美元
##估计5%95%
##(截距)-0.6183171-0.61831706-0.6183171
##X_1 0.2012124 0.13693977 0.2583883
##X_2-0.3040676-0.36413006-0.2482235
##Y1 0.4429577 0.37314154 0.5052524
##粤2-0.0238899-0.0846871 0.0309484
##Y3-0.2091481-0.26014005-0.1566986
##
##Y6美元
##估计5%95%
##(截距)1.32269012 1.322690112 1.322669012
##X_1-0.03325986-0.09097127 0.01820810
##X_2 0.08919394 0.02389159 0.15177465
##豫3-0.24024322-0.30943078-0.17621452
##Y5-0.09973197-0.15640795-0.04450875

我们可以用这个函数可视化生物系数绘图G_inferred

我们还可以使用函数“computeVariableImportance”可视化每个(一组)变量的重要性

VarImpo公司 = 计算变量重要性(,
= 列表(“非生物” = c(c)(“X_1”,“X_2”),
                                                  “生物” = c(c)(“Y1”,“Y2”,“Y3”,“Y4”,“Y5”,“Y6”)))
VarImpo公司 = 应用(VarImpo公司,2,功能(x个) x个/(x个[1]+x个[2]))
选项卡 = 重塑2::熔化(VarImpo公司)
选项卡$变量2 = 因素(选项卡$变量2,级别= 列名(Y(Y)))
ggplot图(选项卡,原子发射光谱(x个= 变量2,年= 价值,填充= 变量1)) + 地理工具栏(斯达=“身份”) +
  主题_经典()

本地对象

我们可以访问现场的每个本地模型$型号然后选择一个给定的局部模型,可以使用一些实现方法对其进行分析

$模型$第5页
## ==================================================================
##Y5物种的本地SDMfit无惩罚,使用stan_glm进行拟合
## ==================================================================
##*有用的S3方法
##打印()、系数()、绘图()、预测()
##$model提供了stanreg类对象
## ==================================================================

预言

我们可以用拟合的营养SDM以多种方式进行预测。最简单的方法是使用函数预测例如,我们可以从物种的后验预测分布(pred_samples=50)中提取50个样本,使用预测的物种存在-缺失来预测其捕食者(prob.cov=TRUE)。当我们不指定Xnew时,该函数默认设置Xnew=X。因此,我们可以获得模型的拟合值并计算拟合优度指标。请注意,其他指标(如AIC或loo)也可用。

伊普雷德 = 预测(,完整发布= 错误的,预采样(_S)= 50,prob.cov= 错误的)
#predict返回一个列表,其中包含每个物种在每个站点的预测样本
#但由于我们指定fullPost=FALSE,它只返回预测平均值和分位数
伊普雷德 = do.呼叫(cbind公司,
                重叠地(伊普雷德,功能(x个) x个$预测.mean))

伊普雷德 = 伊普雷德[,列名(Y(Y))]
评估模型匹配(,Y新= Y(Y),Y预测= 伊普雷德)
##auc-tss物种
##1 0.6733574 0.28064516 Y1
##2 0.7048959 0.31015078 Y2
##3 0.6690035 0.27931242 Y3
##4 0.5988342 0.17092061年4
##5 0.6236528 0.20786045 Y5
##6 0.5581631 0.09940342 Y6

$log.lik(日志.lik)
## [1] -3638.686
$AIC公司
## [1] 7337.373
厕所()
## [1] -3650.931

我们还可以使用K-fold交叉验证评估模型预测的质量:

个人简历 = 营养SDM_CV(,K= ,prob.cov= T型,并行运行= 错误的)
#桌子上的Transfom
伊普雷德 = 个人简历$指Pred
#重新排序列
伊普雷德 = 伊普雷德[,列名(Y(Y))]
评估模型匹配(,Y新= Y(Y),Y预测= 伊普雷德)

我们现在可以评估环境条件X_1=0.5和X_2=0.5下物种存在的概率。

Pred公司 = 预测(,X新= 数据帧(X_1型= 0.5,X_2= 0.5),完整发布= F类)
t吨(do.呼叫(cbind公司,Pred公司))
##预测.平均预测.q025预测.q975
##Y1 0.6275369 0.5919506 0.6673241
##Y2 0.6811964 0.6555955 0.7031938年
##Y3 0.7187342 0.6891241 0.7377668元
##Y4 0.4978676 0.4544304 0.5767335元
##Y5 0.3806087 0.0963942 0.7238955元
##Y6 0.6484422 0.4698095 0.8539271

我们还可以获得潜在生态位的估计值,这与自下而上的方法中,假设存在猎物,物种存在的概率相对应。例如,我们可以计算环境条件X_1=0.5和X_2=0.5下物种存在的概率,假设所有猎物都存在。

伊普雷德 = 预测潜力(,完整帖子= 错误的,预采样(_S)= 100,X新= 数据帧(X_1型= 0.5,X_2= 0.5))

惯常做法

请注意,我们还可以在frequentist方法中拟合营养SDM。

 = 营养SDM(Y(Y)= Y(Y),X= X(X),G= G公司,环境公式= “~X_1+X_2”,
家庭= 二项式(链接= “逻辑”),
模式= “猎物”,方法= “glm”)

上述所有函数也可在频率学家框架中使用,并在必要时进行调整(例如,系数是否重要取决于p值而非可信区间)。然而,错误传播是不可用的,我们只能对每个物种和地点进行一次预测,而不是贝叶斯情况下的多个样本。

惩罚

我们可以通过指定panial=“马蹄铁”如果我们设置方法=“stan_glm”(即在贝叶斯框架中),或crimin=“弹性网”如果我们设置方法=“glm”(即在频率专家框架中)。

 = 营养SDM(Y(Y)= Y(Y),X= X(X),G= G公司,环境公式= “~X_1+X_2”,
家庭= 二项式(链接= “逻辑”),
模式= “猎物”,方法= “glm”,刑罚= “弹性网”)

 = 营养SDM(Y(Y)= Y(Y),X= X(X),G= G公司,环境公式= “~X_1+X_2”,
家庭= 二项式(链接= “逻辑”),
模式= “猎物”,方法= “stan_glm”,刑罚= “马蹄铁”)

复合变量

我们可以使用参数包含复合变量sp.公式sp.分区。关于这些参数的详尽描述以及如何使用它们来获得任何类型的模型规范,我们参考了小插曲“复合变量”。例如,我们可以将物种建模为其猎物丰富度的函数。

 = 营养SDM(Y(Y)= Y(Y),X= X(X),G= G公司,环境公式= “~X_1+X_2”,
sp.公式= “丰富性”,
家庭= 二项式(链接= “逻辑”),
模式= “猎物”,方法= “glm”)
$全部表格
##1美元
##[1]“y~X_1+X_2”
##
##Y2美元
##[1]“y~X_1+X_2”
##
##Y3美元
##[1]“y~X_1+X_2”
##
##Y4美元
##[1]“y~X_1+X_2+I(Y3)”
##
##Y5美元
##[1]“y~X_1+X_2+I(Y1+Y2+Y3)”
##
##年6美元
##[1]“y~X_1+X_2+I(Y3+Y5)”

作者

该软件包目前由阿尔卑斯生态实验室的Giovanni Poggiato开发。它得到了ANR GAMBAS的支持。本包中实现的框架描述如下:“在物种分布模型中整合营养食物网可改进生态位估计和预测”,波吉亚托·乔瓦尼、杰雷米·安德烈奥莱蒂、劳拉·波洛克和威尔弗里德·瑟勒。正在准备中。