|||
shannon指数可以回答样本各物种均一性如何。
它的计算公式如下:
公式中s即OTU数目,pi即第i个OTU的占比。
例如有三组样本:
A组:OTU1, OTU2, OTU3, OTU4分别有3, 4, 6, 7条序列
B组:OTUa, OTUb, OTUc, OTUd均有5条序列
C组:OTUm, OTUn, OTUx, OTUy, OTUz分别有2, 3, 4, 5条序列
[注意] 各组OTU相互独立,即A组的OTU1与B组的OTUa是否相同,无关紧要。因此可以略写为
A组:3, 4, 6, 7
B组:5, 5, 5, 5
C组:2, 3, 4, 5
AB两组数均值都是5,总数均为20,C组的均值,总数均为最小
那么按照公式:
A组的shannon熵值为:
HA = - (3/20*log2(3/20)+4/20*log2(4/20)+6/20*log2(6/20)+7/20*log2(7/20)) = 1.93 (保留两位小数,下同)
B组的shannon熵值为:
HB = - (5/20×log2(5/20) × 4) = 2.00
C组的shannon熵值为:
HC = - (2/14*log2(2/14)+3/14*log2(3/14)+4/14*log2(4/14)+5/14*log2(5/14)) = 1.92
样本中各OTU数越均一,shannon指数越大。 当样本中所有OTU数相同时,达到极值。
注意:shannon指数与OTU总数无关,从B组和C组可以看出来。它只和OTU数目的均一性有关!
带入公式,可以算出其极值:
其中,u是均值,即每个OTU都相同时的数目,N是总的数目,如上例B组
H= - log2(5/20) = 2 ,可以快速算出
当然,以上还只能算是猜测,仅靠举例只能打开思路,并不严谨。 为了验证上面这个猜测,我们可以从公式入手。 使用R画出一条y= - x*log2(x)函数图如下,看样子很可能是个递增的函数,事实也是如此。 如果不信可以自行求导,结果应该是:
因为x是OTU数目,为大于1的整数,因此函数单调递减,且斜率越来越小
注意:以上函数并不是shannon指数函数,它只是其中一部分。因此,需回到shannon指数函数,可以根据 (y(a) + y(b) + y(c) ...y(i) )/(a+b+c+...i)< y((a+b+c+...k)/2), 其中y = - x*log2(x),i与k可以不相等。可以看出shannon指数在各OTU数目均一时达到最大。
综上,shannon指数越大,反映出样本均一性越好。
参考材料:
http://scikit-bio.org/docs/latest/generated/generated/skbio.diversity.alpha.shannon.html#skbio.diversity.alpha.shannon
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 10:42
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社