简单点说,超几何分布就是有限样本的无放回抽样。不同于有放回抽样的二项分布(每次贝努里试验成功概率是一样的),每次的概率不相等。
随机变量X的超几何概率分布:
f(k,N,M,n) = C(k,M)*C(n-k,N-M)/C(n,N)
N = size of population
M = # of items in population with property "E"
N-M = # of items in population without property "E"
n = number of items sampled
k = number of items in sample with property "E"
这个公式可以理解为有C(n,N)种可能的样本,有C(k,M)种方法得到k个属于M的抽样、有C(n-k,N-M)种方法得到n-k个不属于M的抽样。
X服从参数n,N,M的超几何分布记为 X~H(n,N,M).
参考:http://en.wikipedia.org/wiki/Hypergeometric_distribution
对于基因进行GO注释,看基因集在某个GO子类中是否富集,富集的概率服从超几何分布。
N为GO注释的总基因数。
M为属于某个GO子类的基因数。
n为进行GO富集分析的基因集的数目。
k为n中属于M的数目。
基因集n是否在M类中富集的概率
1-phyper(k-1,M,N-M,n) ##R代码
或者是
phyper(k-1,M,N-M,n, lower.tail=FALSE)
##在已知总体分布下,抽样n个中出现M类的个数是k以及k以上个数的概率。
lower.tail: logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x].
原文来自:http://ygc.name/2008/08/20/hypergeometric-distribution/
来自外部的引用