如何通俗的理解伽马(gamma)函数 - 直觉,求导和示例
我为什么要在乎garmma分布?
使用伽马函数定义了许多概率分布,例如伽马分布,Beta分布,狄利克雷分布,卡方分布和学生t分布等。 对于数据科学家,机器学习工程师,研究人员来说,伽马函数可能是一种最广泛使用的功能,因为它已在许多分布中使用。然后将这些分布用于贝叶斯推理,随机过程(例如排队模型),生成统计模型(例如潜在狄利克雷分配)和变分推理。因此,如果您很好地了解了Garmma功能,您将对其中出现的许多应用程序有更好的了解!
1.为什么需要伽玛功能?因为我们要泛化阶乘!
阶乘函数仅针对离散点(对于正整数-上图中的黑点)定义,但是我们希望连接黑点。我们想将阶乘函数扩展到所有复数。阶乘的简单公式x!= 1 * 2 … x,不能直接用于小数值,因为它仅在x是整数时才有效。 因此,数学家一直在寻找...“什么样的function将这些点平滑地连接起来,并为我们提供所有实际值的阶乘?”
但是,他们找不到可以表示x的和,乘积,幂,指数或对数的* 有限*组合!直到…的实数.
2.欧拉发现了伽玛函数。(在18世纪)
上面的公式用于找到z的任何实数值的Gamma函数的值。 假设您要计算Γ(4.8)。您将如何解决上述整合? 可以手动计算Γ(4.8)吗?也许使用零件积分?
试试看,让我知道您是否找到有趣的方式!对于我(以及到目前为止的许多其他人)而言,没有快速简便的方法手动评估分数的Gamma函数。(如果您有兴趣用手解决它,这是一个很好的起点。) 好吧,那么就不用分析了。您能否实现从0到无穷大的积分-以编程方式添加术语“无限次”?
您可以通过几种方法来实现。最常用的两种实现是斯特林近似 和Lanczos近似。[For implementation addicts:] For implementation addicts: the codes of Gamma function (mostly Lanczos approximation) in 60+ different language - C, C++, C#, python, java, etc.
让我们计算Γ(4.8)使用计算机在已经实现的。
我们得到了17.837。 正如我们所期望的,17.837介于3!(=Γ(4)= 6)和4!(=Γ(5)= 24)之间。 (当z是自然数时,Γ(z)=(z-1)&#x