1. 神奇的Gamma函数
1.1 Gamma 函数诞生记
学高等数学的时候,我们都学习过如下一个长相有点奇特的Gamma函数
学习了Gamma 函数之后,多年以来我一直有两个疑问:
最近翻了一些资料,发现有不少文献资料介绍 Gamma 函数发现的历史,要说清楚它需要一定的数学推导,这儿只是简要的说一些主线。
1728年,哥德巴赫在考虑数列插值的问题,通俗的说就是把数列的通项公式定义从整数集合延拓到实数集合,例如数列 1,4,9,16,⋯ 可以用通项公式 n 2 自然的表达,即便 n 为实数的时候,这个通项公式也是良好定义的。直观的说也就是可以找到一条平滑的曲线 y=x 2 通过所有的整数点 (n,n 2 ) ,从而可以把定义在整数集上的公式延拓到实数集合。一天哥德巴赫开始处理阶乘序列 1,2,6,24,120,720,⋯ ,我们可以计算 2!,3! , 是否可以计算 2.5! 呢?我们把最初的一些 (n,n!) 的点画在坐标轴上,确实可以看到,容易画出一条通过这些点的平滑曲线。
但是哥德巴赫无法解决阶乘往实数集上延拓的这个问题,于是写信请教尼古拉斯.贝努利和他的弟弟丹尼尔.贝努利,由于欧拉当时和丹尼尔.贝努利在一块,他也因此得知了这个问题。而欧拉于1729 年完美的解决了这个问题,由此导致了 Γ 函数的诞生,当时欧拉只有22岁。
事实上首先解决 n! 的插值计算问题的是丹尼尔.贝努利,他发现,
如果 m,n 都是正整数,如果 m→∞ ,有
欧拉也偶然的发现 n! 可以用如下的一个无穷乘积表达
用极限形式,这个式子整理后可以写为
欧拉开始尝试从一些简单的例子开始做一些计算,看看是否有规律可循,欧拉极其擅长数学的观察与归纳。当 n=1/2 的时候,带入(*)式计算,整理后可以得到
欧拉和高斯都是具有超凡直觉的数学家,但是欧拉和高斯的风格迥异。高斯是个老狐狸,数学上非常严谨,发表结果的时候却都把思考的痕迹抹去,只留下漂亮的结果,这招致了一些数学家对高斯的批评;而欧拉的风格不同,经常通过经验直觉做大胆的猜测,而他的文章中往往留下他如何做数学猜想的痕迹,而文章有的时候论证不够严谨。 拉普拉斯曾说过:”读读欧拉,他是所有人的老师。”波利亚在他的名著《数学与猜想》中也对欧拉做数学归纳和猜想的方式推崇备至。
欧拉看到 (12 )! 中居然有 π , 对数学家而言,有 π 的地方必然有和圆相关的积分。由此欧拉猜测 n! 一定可以表达为某种积分形式,于是欧拉开始尝试把 n! 表达为积分形式。虽然Wallis 的时代微积分还没有发明出来,Wallis 是使用插值的方式做推导计算的,但是Wallis 公式的推导过程基本上就是在处理积分 ∫ 1 0 x 12 (1−x) 12 dx ,受 Wallis 的启发,欧拉开始考虑如下的一般形式的积分
Gamma 函数找到了,我们来看看第二个问题,为何 Gamma 函数被定义为 Γ(n)=(n−1)! , 这看起来挺别扭的。如果我们稍微修正一下,把Gamma 函数定义中的 t x−1 替换为 t x
要了解更多的 Gamma 函数的历史,推荐阅读
1.2 Gamma 函数欣赏
Each generation has found something of interest to say about the gamma function. Perhaps the next generation will also.
—Philip J.Davis
Gamma 函数从它诞生开始就被许多数学家进行研究,包括高斯、勒让德、威尔斯特拉斯、柳维尔等等。这个函数在现代数学分析中被深入研究,在概率论中也是无处不在,很多统计分布都和这个函数相关。Gamma 函数作为阶乘的推广,首先它也有和 Stirling 公式类似的一个结论
复平面上的Gamma 函数
Gamma 函数有很多妙用,它不但使得 (1/2)! 的计算有意义,还能扩展很多其他的数学概念。比如导数,我们原来只能定义一阶、二阶等整数阶导数,有了Gamma 函数我们可以把函数导数的定义延拓到实数集,从而可以计算 1/2 阶导数,同样的积分作为导数的逆运算也可以有分数阶。我们先考虑一下 x n 的各阶导数
由于k阶导数可以用阶乘表达,于是我们用Gamma 函数表达为
很容易想到对于一般的函数 f(x) 通过 Taylor 级数展开可以表达为幂级数,于是借用 x n 的分数阶导数,我们可以尝试定义出任意函数的分数阶导数。不过有点遗憾的是这种定义方法并非良定义的,不是对所有函数都适用,但是这个思想却是被数学家广泛采纳了,并由此发展了数学分析中的一个研究课题:Fractional Calculus,在这种微积分中,分数阶的导数和积分都具有良定义,而这都依赖于 Gamma 函数。
Gamma 函数和欧拉常数 γ 有密切关系,可以发现
进一步还可以发现 Gamma 函数和黎曼函数 ζ(s) 有密切联系,
logΓ(x)
从Gamma 函数的图像我们可以看到它是一个凸函数, 不仅如此, logΓ(x) 也是一个凸函数,数学上可以证明如下定理:
[Bohr-Mullerup定理] 如果 f:(0,∞)→(0,∞) ,且满足
那么 f(x)=Γ(x) , 也就是 Γ(x) 是唯一满足以上条件的函数。
如下函数被称为 Digamma 函数,
所以Gamma 函数在数学上是很有魅力的,它在数学上应用广泛,不仅能够被一个理科本科生很好的理解,本身又足够的深刻,具有很多漂亮的数学性质,历史上吸引了众多一流的数学家对它进行研究。美国数学家 Philip J.Davis 写了篇很有名的介绍 Gamma 函数的文章:“Leonhard Euler’s Integral:A Historical Profile of the Gamma Function”,文中对 Gamma 函数一些特性发现的历史进行了很详细的描述,这篇文章获得了 Chauvenet Prize(美国数学会颁发的数学科普最高奖)。
(本小节主要是数学欣赏,如果对某些概念不熟悉,就略过吧:-))
1.3 从二项分布到Gamma 分布
Gamma 函数在概率统计中频繁现身,众多的统计分布,包括常见的统计学三大分布( t 分布, χ 2 分布, F 分布)、Beta分布、 Dirichlet 分布的密度公式中都有 Gamma 函数的身影;当然发生最直接联系的概率分布是直接由 Gamma 函数变换得到的 Gamma 分布。对Gamma 函数的定义做一个变形,就可以得到如下式子
Gamma(t|α,β) 分布图像
Gamma 分布在概率统计领域也是一个万人迷,众多统计分布和它有密切关系。指数分布和 χ 2 分布都是特殊的Gamma 分布。另外Gamma 分布作为先验分布是很强大的,在贝叶斯统计分析中被广泛的用作其它分布的先验。如果把统计分布中的共轭关系类比为人类生活中的情侣关系的话,那指数分布、Poission分布、正态分布、对数正态分布都可以是 Gamma 分布的情人。接下来的内容中中我们主要关注 β=1 的简单形式的 Gamma 分布。
Gamma 分布首先和 Poisson 分布、Poisson 过程发生密切的联系。我们容易发现Gamma 分布的概率密度和 Poisson 分布在数学形式上具有高度的一致性。参数为 λ 的Poisson 分布,概率写为
这种数学上的一致性是偶然的吗?这个问题我个人曾经思考了很久,终于想明白了从二项分布出发能把 Gamma 分布和 Poisson 分布紧密联系起来。我们在概率统计中都学过 Poisson(λ) 分布可以看成是二项分布 B(n,p) 在 np=λ,n→∞ 条件下的极限分布。如果你对二项分布关注的足够多,可能会知道二项分布的随机变量 X∼B(n,p) 满足如下一个很奇妙的恒等式
这个等式反应的是二项分布和 Beta 分布之间的关系,证明并不难,它可以用一个物理模型直观的做概率解释,而不需要使用复杂的数学分析的方法做证明。由于这个解释和 Beta 分布有紧密的联系,所以这个直观的概率解释我们放到下一个章节,讲解 Beta/Dirichlet 分布的时候进行。此处我们暂时先承认(*)这个等式成立。我们在等式右侧做一个变换 t=xn ,得到
接下来我们继续玩点好玩的,对上边的等式两边在 λ→0 下取极限,左侧Poisson分布是要至少发生k个事件的概率, λ→0 的时候就不可能有事件发生了,所以 P(X≤k)→1 , 于是我们得到
看,我们从二项分布的一个等式出发, 同时利用二项分布的极限是Possion 分布这个性质,基于比较简单的逻辑,推导出了 Gamma 分布,同时把 k! 表达为 Gamma 函数了!实际上以上推导过程是给出了另外一种相对简单的发现 Gamma 函数的途径。
回过头我们看看(**)式,非常有意思,它反应了Possion 分布和 Gamma 分布的关系,这个和(*)式中中反应的二项分布和Beta 分布的关系具有完全相同的结构。把(**)式变形一下得到
其实(*)和(**)这两个式子都是陈希儒院士的《概率论与数理统计》这本书第二章的课后习题,不过陈老师习题答案中给的证明思路是纯粹数学分析的证明方法,虽然能证明等式成立,但是看完证明后无法明白这两个等式是如何被发现的。上诉的论述过程说明,从二项分布出发,这两个等式都有可以很好的从概率角度进行理解。希望以上的推导过程能给大家带来一些对 Gamma 函数和 Gamma 分布的新的理解,让Gamma 分布不再神秘。