maxent模型的结果是什么,物种对环境的适宜性?
最近在学习对物种分布的相关预测,接触到一个模型maxent,它被作为物种分布模型、生态位模型、或者栖息地模型的一种。看到网上有许多关于这个模型的下载安装和使用教程,但是看的许多论文里都是直接运行后,使用它的结果,进行等级划分后得到物种的适宜性等级。但是模型得出的值是什么,没有人做出解释。但是,我认为使用一个模型,你必须要知道你得出的结果是什么,这是很重要的。先看结果是什么,再决定要不要使用这个模型。如果你正准备学习maxent物种分布模型,我建议你先看看这篇文章,再决定要不要学习。
熵和最大熵原理
熵(entropy)起源于热力学,后来由Shannon引用到信息论中,表示的是随机变量的不确定性,熵越大,不确定性就越强,包含的可能性就更多。

最大熵原理:在1957年由Jaynes提出。在满足已知约束条件的集合中选择熵最大的模型。最大熵原理指出,对一个随机事件的概率分布进行预测时,预测应当满足全部已知的约束,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大的。
maxent物种分布建模的方法
空间X:感兴趣准备研究的地理区域。
样本:X中观察到的一组存在点x1,x2,…,xn 。
PHILLIPS(maxent模型的作者)进行建模时不是直接使用点,而是采样点所在栅格,每个栅格作为一个位置,但是PHILLIPS考虑的位置并不是指经纬度,就是指这么一个位置,用的单词是site。或者有的人称作cell。
如果y=1表示物种存在,根据样本(x1,x2,…,xn)(样本是存在点y=1的位置),得到其经验分布函数(empirical distribution function)为:
其中#{.}表示结合{.}中的元素个数。

根据贝叶斯定理,如果要得到位置条件下物种出现的概率:

对于所有位置来说P(x)=1/|X|。P(y=1)是整个研究区域中物种的总体发生率(overall prevalence),这个值并不好得到,而且使用仅存在数据无法进行估计。但是P(x)和P(y=1)都是一个数,根据上式,得到位置条件下物种存在的概率P(y=1│x)是与π(x)成正比的,这里PHILLIPS选择利用最大熵模型直接对π(x)进行估计,得到一个近似与P(y=1│x)成正比的分布,也能一定程度反映物种在位置条件下出现的情况,它被解释为相对发生率。
估计方法:
给定一组特征f1,f2,…,fn,特征向量为环境变量或环境变量更高级的组合(MEROW et al, 2013)(linear线性, product乘积, quadratic平方, hinge铰链, threshold阈值 and categorical分类)
每个特征fj在x的值为fj(x),在经验分布下的期望为:

寻找一个分布P,让每一个特征fj在下的期望P[fj]与在经验分布下的期望相等。在许多满足条件的分布中,选择熵最大的分布。

(DELLA PIETRA et al, 1997)证明了所求最大熵分布应该是下面这种吉布斯(Gibbs)分布的形式:

λ是n个系数或者特征权重的向量,f表示n个特征向量。

是一个归一化指数(a normalizing constant),确保的和为1。
相对熵(Relative Entropy)可以衡量两个随机分布之间的距离。当两个随机分布相同时,它们的相对熵为零;当两个随机分布的差别增大时,它们的相对熵也会增大。

最小化经验分布与所求分布之间的相对熵,让这两个分布很接近。
因为经验分布不是真实分布只会接近于真实分布,让P[fj]= 可能在训练时导致过度拟合,考虑放松约束让P[fj]无限接近于 。后用顺序更新算法、正则化等来求解最大熵分布,这里暂时先不考虑求解过程的问题。总之最后求出了一个近似与位置条件下出现物种的概率P(y=1|x)成正比的分布:,这就是maxent模型的原始输出结果,而且注意到这个分布和环境特征向量是相关的,可以根据环境条件往外推,但是这太难解释了。
根据现在了解的情况,看看maxent物种分布模型输出的结果是什么。
maxent物种分布模型的输出结果
Maxent物种分布模型有四种输出形式(PHILLIPS et al):
原始输出raw,求出的maxent指数分布模型本身,反映了相对发生率,给每个训练位置分配一个概率,总和为1。当训练范围很大时,得到每个位置的训练概率都很小。原始输出并不直观,训练模型中没有使用地点,得到的概率很难解释。
cumulative是累计输出,小于等于该位置原始输出raw的累计百分比,值位于0—100之间。
比如一组数据:0.1、0.1、0.1、0.2、0.5
F(0.1)=P(x<=0.1)=(0.1+0.1+0.1)*100=30
F(0.2)=P(x<=0.2)=(0.1+0.1+0.1+0.2)*100=50
F(0.5)=P(x<=0.5)=(0.1+0.1+0.1+0.2+0.5)*100=100
Logistic输出:使用公式 1/(1+exp(-entropy- raw output)) 计算每个位置的存在概率。
C-log-log输出:使用公式 1-exp(-exp(entropy + raw output)) 计算每个位置的存在概率。
这两种输出结果,都用来估计环境条件z下的物种存在概率。P(y=1|z)
Logistic 利用贝叶斯推导后,求联合分布的相对熵,用逻辑回归模型。
贝叶斯部分:
C-log-log输出主要利用inhomogeneous Poisson process(不均匀泊松分布)得出。

总结
其实maxent物种分布模型的原始输出结果raw,在每个位置的相对发生率已经可以一定程度上反映物种存在的相对丰度,且与其它输出类型是单调相关的,它们得出的结果大小排序是一样的。但是原始输出做出的地图,往往不符合对生态学家对研究物种潜在分布的直觉。Maxent的默认输出一般是后两种存在概率。(ELITH et al, 2011)
简单来说,如果位置x下出现物种的概率为P(y=1|x),PHILLIPS的maxent物种分布模型的原始输出是一个近似与P(y=1|x)成正比的输出结果,这个相对发生率虽然也能反映物种在位置条件下发生的情况,但它的生态学意义不明显,而且不好解释。后两种输出将其转换成在环境条件z下出现物种出现的概率P(y=1|z),这才是生态学中关注的问题,可以反映物种对环境的适宜性。