神奇的gamma函数,gamma函数求值
(x)=0tx 1e TDT
对应于scipy(python库):从scipy.special导入gamma
通过分布积分的方法,推导如下:
(x 1)=0 txe TDT=0 txd(e t)=[txe t 0 x0 tx1e TDT]=x(x)
该函数的递归性质可以如下获得:
(x 1)=x(x)(5 1)120.0 5 *(5)120.0
所以很容易证明( (1)=1, (n)=(n1) (n1)), (x)函数可以看作是阶乘在实数集上的延续,并具有以下性质:
(n)=(n1)! (n)与B(m,n)的关系
B (m,n)= 10xm1 (1x) N1DXB (m,n)= (m) (n) (m n)从二项式分布到伽玛分布
通过稍微改变伽马函数的定义,可以获得下面的等式:
0x1e x()dx=1
然后
取积分中的函数作为概率密度
(概率密度函数,PDF),得到最简单形式的伽马分布的密度函数:伽马(x )=x1e x()
如果再做一次变换x=t,就会得到更一般形式的伽马分布:
(t ,)=t1et()
称为形状参数,主要决定分布曲线的形状,称为速率参数(或者反标度参数,1称为标度参数),主要决定曲线有多陡。
Gamma 分布与Possion 分布
伽马分布首先与泊松分布(离散型)和泊松过程密切相关。很容易发现伽玛分布的概率密度在数学形式上与泊松分布高度一致。参数为的泊松分布,其概率质量函数(pmf)为:
possion(X=k )=kek!
伽马分布的密度(=k ^ 1,=1)给出:
伽马(x =k 1)=xe x(k 1)=xke xk!
所以两种分布在数学形式上是一致的,只是泊松分布是离散的,伽马分布是连续的,
可以直观地认为Gamma分布是Possion分布在正实数集上的连续化版本
。我们在概率论与数理统计的课程中已经了解到,在np=,n的条件下,泊松()分布可以看作二项分布B(n,p)的极限分布:
b(k;n,p)=(nk)pk(1p)nknp=,npoisson(x=knp)=kek!
如果你足够关注二项分布,你可能知道二项分布的随机变量XB(n,p)满足下面这个精彩的
恒等式
:P(Xk)=n!k!(n k1)!1 ptk(1t)nk1dt
我们在等式的右边进行变换t=xn,得到:
p(Xk)====n!k!(n k1)!nnp(xn)k(1 xn)n k 1d(xn)nnp(n 1)!k!(n k1)!(xn)k(1 xn)n k1dxnnp(n1k)(xn)k(1 xn)n k1dxnnpB(k;n1,xn)dxnnpB(Y=k n1,xn)dx
上式左边是二项分布B(n,p)的累积密度函数(cdf),右边是无限个二项分布B (n1,xn)的积分和,所以可以写成:
B(Xkn,p)=nnpB(Y=k n 1,xn)dx
在np=,n的条件下,取上式两边的极限,你会得到:
泊松(Xk )=泊松(Y=k X)dx=xke xk!高级的(deluxe的简写)
讲到这里,我们不妨暂停一下。我们使用scipy进行简单的验证:
将scipy.stats作为ST from scipy . misc import factorial from scipy import integrate LMBDA,k=2,6X=ST . Poisson(2)# X ~ Poisson(2)print(X . CDF(K))# P(X=K)def Poisson _ pdf(X,K):return X * * K * NP . exp(-X)/factorial(K)print(integrate . quad(possion _ pdf,lmbda,np.inf,args=(K))[0)# 0.9956666
泊松(Xk )=泊松(Y=k X)dx=xke xk!高级的(deluxe的简写)
这个方程就是著名的
Poisson-Gamma duality
。接下来,我们来找点乐子。取上式两边0处的极限,左边的泊松分布表示至少K个事件的概率。当0时,没有事件可以再次发生,所以P(Xk)=0,所以:1=lim0xke xk!dx=0x ke xk!高级的(deluxe的简写)
积分公式说明f (x)=xkexk!在实数集合上,是一个概率密度函数(pdf),而这个函数恰好是
Gamma分布
(gamma (x )=x 1ex (),=k ^ 1)(也即我们通过二项分布,再根据泊松定理,推导出了最后的Gamma分布
)。让我们继续把K放在上式的右边!向左移动,你会得到:k!=0x ke xdx
所以我们得到了K!表示积分的方法(也就是从现在开始我们可以计算3.5的阶乘)。
好吧,文章够长,公式够复杂。下面重点讲一下