夜校回顾 | 用距离抽样和物种分布模型估计野生动物的数量
分享人:李欣海
中国科学院大学中科院动物所
背景
藏野驴(Equus kiang)是青藏高原的特有种,个体较大,属于奇蹄目马科马属,生活于海拔2700-5400的高寒草甸和高寒草原生态系统,是草原区的优势物种。
图1:藏野驴,青藏高原的特有物种
藏野驴的分布区很大,不适合使用样方或样点调查,通常会采取样线调查的调查方案,但对于样线调查是否能够准确估计出藏野驴的数量,目前有许多权威专家持否定态度。研究现状认为,如果物种的分布受限于环境因素,那么物种分布模型可以预测出物种分布的可能性 (Guisan and Zimmermann 2000),但动物并不一定会按照最适宜的生境分布,在估计动物数量方面,物种分布模型一般都存在较大的误差 (Boyce et al. 2016)。
图2:藏野驴、藏原羚和藏羚羊的生存地带模型图
针对野外调查项目中明确样线和样点之后该如何进一步估计物种数量,我们设计了一种通过物种分布模型和距离抽样估计三江源藏野驴、藏原羚和藏羚羊数量的新方法,这三大有蹄类动物通常同域分布于高寒草原地带。在利用模型得出预测结果之后,我们认为该方法具有一定的通用性,对于其他分布在开阔地带的、易观察且成群分布的物种,也可以使用该方法来对其数量进行估计。因此,我们将整个方法制作成了一个R语言包 “AbundanceR”(安装方式:install_github("Xinhai-Li/abundanceR")),并发表了对应的文献《AbundanceR: A Novel Method for Estimating Wildlife Abundance Based on Distance Sampling and Species Distribution Models》。
图3:野外调查藏野驴分布图
方法介绍
图4:野生动物数量估计流程图
距离抽样
距离抽样是野生动物调查中使用较多的一种方法,常用于样线调查和样点调查,《Distance sampling》一书对该方法进行了详细介绍。在样线调查中,沿设定路径行进时,虽能观测到部分动物,但由于距离或遮蔽(如图所示藏匿于石块后或山坡下的驴)的因素,某些动物可能未被发现。此类遗漏在估计总体动物数量时是不可避免的,不属于错误,而是样线调查中固有的局限性。
图5:距离抽样,样线调查分布图及动物距离与探测率的关系图
随着动物与观察者之间距离的增加,探测率呈现出逐渐下降的趋势。在假设动物分布相对均匀的前提下,探测率的下降反映了远距离观测导致的动物遗漏数量增加。因此,遗漏量的估算成为预测动物实际数量的关键。
AbundanceR
R包是R语言的一种扩展,包含为特定目的而编写的函数、数据和帮助文档的集合,让R语言拥有处理各类特定数据分析和统计问题的额外功能。“AbundanceR”的目的是基于样线调查去估计野生动物的数量。通过使用距离抽样数据,拟合不同的探测函数以及不同的调整设置,应用随机森林算法,加载环境变量来预测栅格层的每个样方的物种密度,根据距离抽样的观测结果来调整预测。
01
图6:距离抽样的R代码
包内数据含2017年调查的藏野驴数量,图示代码中展示了截取探测距离在500米之内的藏野驴,通过计算出公里网格之内的藏野驴数量,便于之后将预测值与估计值进行比较,进行矫正。通过调用“Distance”包,使用“ds”函数进行拟合,可以计算出探测率,参数“convert_unit”的设置可根据以米为单位测量的距离和以公里为单位的工作量(横断面长度)进行调整。参数“key”与“adjustment”代表对拟合曲线的设置,可通过多种内置函数的匹配组合来确定最优探测函数。
图7:距离抽样的最优参数
最优探测函数可根据AIC信息准则(Akaike Information Criterion)来确定,AIC值越低代表函数拟合优度越高。确定最优探测函数后,利用 “summary”可计算出平均探测率,“plot”能够对结果进行可视化处理。
02
03
图8:调查样线
对数据集“shape”进行可视化,能够获得上图所示的调查样线。
环境影响
大部分动物都会在一定程度上受到环境的制约。将藏野驴和藏原羚两个物种的分布情况根据不同海拔区域画出密度图,从图中可以发现藏原羚(蓝色线条)的集中分布点海拔相较于藏野驴(红色线条)要略高一些,黑色曲线代表了整个调查区域的环境梯度。
图9:物种与环境的关系 藏野驴和藏原羚并未去过高的海拔区域
物种分布模型的建立需要获取大量的环境信息。我们对全球29个环境变量数据进行了整理。(获取链接:https://pan.baidu.com/s/1noU8A7WcsuYx0MSiQq6CeQ ,提取码:1234)。数据文件为.grd格式,在R语言中可通过“raster”包中的“brick”函数进行读取,数据的原始文献作者参见下图。
图10:全球环境变量信息整理
物种分布数据来自距离抽样。如果不估计探测函数,可以不用划定分区。物种分布数据务必包含species(物种名)、size(种群大小)、Lon(经度)和Lat(纬度)四个变量,且变量名不能改变,否则会导致包不能正常使用。
图11:物种分布数据图
获取全球环境变量数据后,由于公里网格面积过大,需要对数据进行切割来得到合适的观测数据。在藏野驴数据集“kiang”中含有最大和最小经纬度范围,以此为基准向4个方向确定缓冲区(buffer),在参数设置中,“buffer = 1.5”即约为150公里,通过函数“cropLayers”进行切割后便能获得目标研究区域,可视化研究区域海拔热力图后,利用“points”函数可将藏野驴的分布点添加至图中(参见下图黑圈部分)。
图12:切割环境数据图
完成环境数据的切割后,可通过“getEnvData”函数获取环境信息。在随机森林的模型构建中,需要知道物种“不在点”。因此,在函数的参数设置里通过设置“absence”可模拟出均匀分布的“伪不在点”。“absence = 30”即构建出30* 30的900个点(参见下图红圈部分)。同时,参数“buffer”的设置在此处表示物种存在点(黑圈)向外扩展的距离范围内有多少物种不在点。
图13:构建物种分布数据集
随机森林可以根据观测到的物种数据估计出每个网格的具体物种数量有多少只。在模型构建过程中,首先需要调用“randomForest”包,利用“ncol”函数可查看数据集对应的列数, “na.roughfix”函数可对数据集中的缺失值基于均值进行填补,还可通过子集选取符号“[ ]”剔除对模型预测贡献度不高的变量。
图14:物种分布模型(随机森林)
随机森林可以根据观测到的物种数据估计出每个网格的具体物种数量有多少只。在模型构建过程中,首先需要调用“randomForest”包,利用“ncol”函数可查看数据集对应的列数, “na.roughfix”函数可对数据集中的缺失值基于均值进行填补,还可通过子集选取符号“[ ]”剔除对模型预测贡献度不高的变量。“randomForest”函数用于随机森林的运算,在第一项参数中放入清洗好的指定分析数据集,通过“ntree”指定随机森林所包含的决策树数目(默认值为500),na.action指定数据集中缺失值的处理方法。
在构建出随机森林模型后,通过“popSize”函数可直接进行预测。预测结果可取log值转化后进行梯度的压缩,便于可视化处理。利用“plot”函数可视化之后,还可通过其中的各项参数对颜色和线条等进行调节。此外,还可以将预测值与观测值匹配进行空间比较,查看存在的差距。
图15:预测物种的分布和数量结果图及预测和观测到的个体数分布图
“coordinates”函数用于从空间对象中获取调查样线的坐标,在利用“length”确认调查样线的长度后,可通过自定义函数选取局部样线绘制图像,左下图代码展示了从38段样线中选取1:16段可视化处理,得到右下图结果。
图16:调查线路示意
预测结果会跟随调查数据的变化而变化,因此需要计算并矫正野生动物在研究区域的总数。函数“estPopSize”可以预测出藏野驴的真实数量应该是多少,矫正过程代码逻辑参见下图。结果包含原始预测的数量(Original prediction)、样线上的预测数量(Predicted population on the routes)、样线上的观测数量(Observed population on the routes)、最终预测值(Final estimation)。对于数量估计的不确定性,通过“spatialMatch”进行矫正。
图17:计算并矫正野生动物在研究区域的总数示意
图18:数量估计的不确定性及将三大不确定性合在一起得出的动物数量的置信区间
总结
该方法优势在于对结果的矫正结合了三种不确定性合在一起,适合于调查藏野驴和藏原羚等分布规律的大型有蹄类动物,但并不适合于所有的野生动物调查,例如两栖类或爬行类等体型较小的动物。
了解更多生物统计学经验分享
可关注左侧
李欣海老师的公众号~
--------------------------------------------
本期夜校可在手机端收听完整内容:在本公号的菜单栏,点击【成长社区】—>【登录夜校】,输入用户名和密码或在公号名片页点击【服务】,找到【登录夜校】进入【工具坊】版块。
Tips:首次访问,需要先登录质兰成长社区,输入www.izhilan.cn上的用户名和密码,点击【登录】,即可查看所有内容。新朋友可以点击注册账号,完成注册认证。