我是靠谱客的博主 含糊天空,最近开发中收集的这篇文章主要介绍伽玛分布matlab_神奇的伽玛函数 | 伽玛函数和伽玛分布……,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

伽玛函数(Gamma函数),也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数。伽玛函数在分析学、概率论、偏微分方程和组合数学中有重要的应用。

我们通常看到的伽玛函数是这样的:

adf0f17ab2b9f643799b12c8e27f1cbc.png

这到底是个什么东西?有什么用?欧拉又是怎么发现它的?

d5b2af7e3791f4d40429f006436bb48d.png

  欧拉大神

1伽玛函数的起因

发现伽玛函数的起因是数列插值。数列插值问题,通俗地说就是把数列的通项公式从整数定义域扩展到实数。例如数列1,4,9,16,.....可以用通项公式n²表达,即便n为实数的时候,这个通项公式也是良好定义的。直观的说,就是可以找到一条平滑的曲线y = x²,该曲线能够通过所有的整数点(x, x²),从而可以把定义在整数域的公式扩展到实数域。

b9889dbfde9708a1cb660fd14aff6f6d.png

1728年,哥德巴赫开始处理阶乘序列的插值问题:1,2,6,24,120,720,...,既然可以计算2!, 3!,…,是否可以计算2.5!呢?把最初的一些(n, n!)的点画在坐标轴上,确实可以看到,能够画出一条通过这些点的平滑曲线。问题是,这条曲线是什么?

cd7387e8d2097319f7a4813e7477e03a.png

8d804864d90caeecff3180b751db100c.png

哥德巴赫无法解决阶乘往实数域上扩展的这个问题,于是写信请教尼古拉斯·贝努利和丹尼尔·贝努利两兄弟,由于欧拉当时正好和丹尼尔·贝努利在一块玩,他也因此得知了这个问题。之后欧拉于1729年完美地解决了这个问题,由此导致了伽玛函数的诞生。当时欧拉只有 22 岁,这让我感觉自己就是混吃等死的。

2发现伽玛函数

在某一个特殊的时刻,欧拉发现阶乘n!可以用一个无穷乘积表示:

be2ab67bd74be7d5ed97ddb09622f83f.png

如果有m项乘积:

a2d1c6f5f3614831ed846d35f89f02f6.png

当m远远大于n时,上式可继续计算:

c752a4c52c9553992165484dba74cf6b.png  

当m→∞时,无穷乘积的极限:

66085b7e479f1a3f806113e7709d470e.png

很难想像在没有计算机的年代能够发现这个变态的无穷乘积,估计欧拉当年是根据极限倒推无穷乘积,然后对外宣称在机缘巧合下发现了无穷乘积。

值得注意的是,n!明显不等于③,③又是由②整理而来的,因此n!也不等于②,而是在m→∞时n!等于②或③的极限。以n = 2为例,n! = 2,m是2、50、100时,②的结果分别是1.5、1.9615384615384617、1.980392156862745,展开的越多,越接近于n!。

有了这个无穷乘积,欧拉便开用1/2代入①进行尝试:

0b89a0a08369df6c497a1763db149032.png

根号里面的东西是英国数学家沃利斯(John Wallis)在1665年写下的沃利斯公式:

ad03baf33e249244d8a6a3584bfe4b65.png

于是欧拉把沃利斯公式折半:

9a065f3f73f398afb9629c5c9b6125b1.png

π真是一个神奇的数字!

1665年牛顿还很小,还没有发明积分,沃利斯用各种巧妙的技巧得到了这个结论,推导过程实际上是在处理db4a9e30adf725f428b97dc7ee3fde22.png。受沃利斯的启发,欧拉开始考虑如下的一般形式的积分:

ff72e0bb0ffaffbf62708baefe850ea9.png

此处n为正整数,a为正实数。利用分部积分:

53795458423be16e19275e7724c5b4cb.png

继续使用分部积分:

3faa8673b5de5adc7c8128d894c152c0.png

上面所有递推合并到一起就得到了最终的结果:

fb25f9f96e1b5bde661159572f56945c.png

现在阶乘变成了积分的形式。然而这个式子的前提是n是正整数,无法推广到分数,欧拉继续研究如何化简这个表达式。a是一个任意实数,能否让a消失?一个惯用的方法是取极端值,a > 0的一个极端是无穷,看看让a趋近于无穷时会得到什么结果。这里欧拉使用的技巧是让a等于两个实数的商:

12771bd5d6451d42d74b194174de2312.png

等式两侧同时除以(f+g)(f+2g)…(f+ng):

51feb4a0fad1d7227bd49709ee5a43fd.png

当f→1,g→0时,左侧趋近于n!,但是右侧出现了讨厌的0分母,此时为了简化计算:

1295b12604002ec06ff15c0e823dcffb.png

将上式结论代入④:

160868f64d9f061e95827896d862553d.png

用求极限的方式去掉f和g:

34d4c2a35fe5527162d5392d60298c47.png

当f→1,g→0时h→0,(1-th)/h的极限变成了0/0的形式,在洛必达法则的帮助下,0/0形和∞/∞形的极限也是可以求解的。令u(h) = 1-th,v(h) = h,根据洛必达法则:

e3d0abc13c2b2d81c2346803aa2a02c7.png

于是在对⑤的等式两侧求极限时,神奇的一幕出现了:

aede6999123c6d10b856037e13f2fbae.png

任意实数a已经消失了,n!变成了一个简洁的积分形式。继续变换:

fc803f7a938454d778c53b8e47aeb80d.png

这就是欧拉最早定义的伽玛函数,实际上就是阶乘扩展到实数范围:

8081ef354cdf1a37dedbc87d95a8e888.png

但是欧拉后来修改了伽玛函数的定义,变成了:

b84eb11e9158eb76d7ef4fbede37aaf6.png

这也是现在我们所说的伽玛函数,⑥和⑦是两种表达,⑦更为常见,从积分域可以看出t和u的取值范围。

3伽玛函数的性质

欧拉在伽玛函数的推导中实际上引入了两类积分形式:

043f57379b4a96e04ca668d0ebc0f3e0.png

后来这两个积分的参数做了-1的偏移,改为:

f57ca3b106aa988d1549f11a750bded8.png

B(α, β)现在成为贝塔函数或贝塔积分,Γ(x)实际上是在计算x – 1的阶乘,两个函数之间存在一些很好的关系:

e05fcff65b634b869b3555d9695635c3.png

我们知道0! = 1,Γ(1)对此进行了解释:

2d844ea10569949d8cc76fe36c03b2b4.png

来看一下Γ(x)的曲线:

eefc30c026ce3453338301048495c851.png

 从Γ(x)的曲线可以看出Γ函数是一个凸函数,logΓ(x)也是一个凸函数:

ceedbd3effaeb1b09e5bfd5c420b918b.png

下面的的matlib代码可以绘制Γ(x)和logΓ(x)的曲线:

x = 0:0.1:10;plot(x, gamma(x));axis([0,4,0,6]);xlabel('x');ylabel('r(x)');figure;plot(x, lgamma(x));axis([0,8,-1,6]);xlabel('x');ylabel('logr(x)');
4伽玛分布

伽玛函数在概率统计中频繁现身,泊松分布、贝塔分布、狄克雷分布中都有伽玛函数的身影。当然,发生最直接联系的概率分布是直接由伽玛函数变换得到的伽玛分布。

为了便于看清伽玛分布,先把伽玛函数中的变量名称修改一下:

c7b97f1faa7a45acfcd9acf457ae593d.png

等式两侧同时除以Γ(α):

a2b7a1d7316208d0a690f8488d7979f4.png

这正好符合连续型概率分布的定义,被积函数就是伽玛分布的密度函数:

acb0898afef7ff3407e8f77e4015a6dd.png

如果令u = βx,则:

d44729931b0d6e0d519b6b2bde0da98c.png

于是我们得到了伽玛分布的一般形态:

8f5e2839a50cd3ee78f6d4aece277ff7.png

其中α称为形状参数(shape parameter),决定了分布曲线的形状;β称为速率参数(rate parameter)或逆尺参数(inverse scale parameter),决定了曲线的陡峭程度:

α" style="display: inline-block; overflow-wrap: normal; max-width: none; max-height: none; min-width: 0px; min-height: 0px; float: none;">β" style="display: inline-block; overflow-wrap: normal; max-width: none; max-height: none; min-width: 0px; min-height: 0px; float: none;">c0e17e6b73d389abdf99af37d3b1c76a.png

可以看到, β之所以被称为逆尺参数,是因为1/β越大,曲线越陡峭。在matlab中,gamma分布的参数使用的是1/β:

x = 0:0.1:20;a = [1 2 3 5 9]; b = [0.5 0.5 0.5 1 2]; L(1, 1) = {''};for i = 1:size(a)(2)  g = gampdf(x, a(i), 1/b(i));  L(1, i) = ['alpha=', num2str(a(i)), ',beta=', num2str(b(i))];  plot(x, g, 'LineWidth',2);  hold on;endforlegend(L);xlabel('x');ylabel('f(x;alpha, beta)');axis([0,20,0,0.5]);

概率统计中的众多分布都和Gamma分布有密切关系。以泊松分布为例,随机变量X服从参数为λ的泊松分布分布X~Po(X; λ),其质量函数是:

17e469f94ea80d44c0caa8552e63ad93.png

在Gamma分布的密度中取α=r+1,β=1得到:

c861d4f812b92058cc30c4a9972b277d.png

因此当β=1时,Gamma分布和泊松分布在形式上是完全一致的,只是泊松分布是离散的,而Gamma分布是连续的,可以直观地认为Gamma分布是泊松分布在正实数集上的连续化版本。

伽玛分布的期望值和方差分别为:

α" style="display: inline-block; overflow-wrap: normal; max-width: none; max-height: none; min-width: 0px; min-height: 0px; float: none;">β" style="display: inline-block; overflow-wrap: normal; max-width: none; max-height: none; min-width: 0px; min-height: 0px; float: none;">b5b7de68cc2bb6cb435dacd99ca15d01.png

本文参考:https://cosx.org/2013/01/lda-math-gamma-function

93384a5db74b8dbadb7468ff58f03b34.png

最后

以上就是含糊天空为你收集整理的伽玛分布matlab_神奇的伽玛函数 | 伽玛函数和伽玛分布……的全部内容,希望文章能够帮你解决伽玛分布matlab_神奇的伽玛函数 | 伽玛函数和伽玛分布……所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部