Math-00.数学分布-24.Gamma分布

Gamma 分布(Gamma distribution)是正数上的灵活分布族,可视为 $k$ 个独立 指数分布 之和,也是 卡方分布泊松 率参数的共轭先验

段末注释共轭先验(conjugate prior)指后验与先验同属一族,便于解析更新;Gamma 是 Poisson/指数率的共轭先验。

读前说明:连续分布,下文给出 PDF。系列:00 规划 | 相关:22.指数


1. 产生背景与直观

图 1 Gamma 直观

等待第 $k$ 次 泊松 事件发生的总时间 $\sim \mathrm{Gamma}(k, \lambda)$。$k=1$ 时退化为指数;$k$ 增大,分布更对称、更集中。


2. 定义与参数

$X \sim \mathrm{Gamma}(\alpha, \beta)$(shape–rate 参数化,scipy gamma(a, scale=1/beta)):

要素 内容
支撑集 $(0, +\infty)$
shape $\alpha > 0$(形状,有时记 $k$)
rate $\beta > 0$(率,有时记 $\lambda$)
scale $\theta = 1/\beta$

3. PDF 与 CDF

图 2 PDF 随 α 变化

3.1 PDF(rate 参数化)

$$
f(x) = \frac{\beta^\alpha}{\Gamma(\alpha)} x^{\alpha-1} e^{-\beta x}, \quad x > 0
$$

$\Gamma(\alpha)$ 为 Gamma 函数;$\alpha \in \mathbb{N}$ 时 $\Gamma(\alpha)=(\alpha-1)!$。

3.2 CDF

$$
F(x) = \frac{\gamma(\alpha, \beta x)}{\Gamma(\alpha)}
$$

$\gamma(\cdot,\cdot)$ 为下不完全 Gamma 函数。


4. 数字特征

公式
$\mathbb{E}[X]$ $\alpha / \beta$
$\mathrm{Var}(X)$ $\alpha / \beta^2$
偏度 $2/\sqrt{\alpha}$
超额峰度 $6/\alpha$

$\alpha$ 越大越接近 正态(CLT 视角)。


5. 与其他分布的关系

关系 说明
Exponential $\alpha=1$:$\mathrm{Gamma}(1,\beta)=\mathrm{Exp}(\beta)$
Chi-square $\chi^2_\nu = \mathrm{Gamma}(\nu/2, 1/2)$ → 26.卡方
Poisson–Gamma 率 $\lambda \sim \mathrm{Gamma}$,边际计数 → 负二项
Erlang $\alpha \in \mathbb{N}^+$ 的 Gamma
Beta 连接 若 $X,Y$ i.i.d. $\mathrm{Gamma}(\alpha,\beta)$,则 $X/(X+Y) \sim \mathrm{Beta}(\alpha,\alpha)$

6. 前提假设

假设 含义 违背时
$X>0$ 等待时间、速率、浓度等为正
独立指数和(经典) $k$ 次独立 Poisson 事件的总等待时间 非独立 → 其他
形状-尺度合理 $\alpha$(形状)、$\beta$(率)解释与数据匹配 风险非单调 → Weibull
共轭先验语境 与 Poisson 似然配对时 $\lambda$ 的先验 非计数数据 → 核对生成机制

段末注释Exp$(\lambda)$ = Gamma$(1,\lambda)$;与 Beta 通过归一化联系。


7. 适用场景

图 3 适用场景

场景 示例
等待 $k$ 次事件 第 $k$ 次故障前的总时间
贝叶斯 Poisson 率 先验 $\lambda \sim \mathrm{Gamma}(\alpha_0,\beta_0)$
方差建模 逆 Gamma 作 $\sigma^2$ 先验
** rainfall / 保险** 累积降雨量、索赔总额
酶活置信 正值偏态数据的灵活拟合

8. 局限与误用

图 4 局限

问题 说明
参数化混用 shape-scale vs shape-rate,读文献须核对
重尾不足 极端值 → 对数正态 / Pareto
含零或负值 支撑集 $(0,\infty)$,不适用
$\alpha < 1$ PDF 在 0 处奇异,拟合需谨慎
与 Weibull 混淆 不同 hazard 形状

9. 参数估计与推断

9.1 MLE / 矩估计

矩估计:$\hat{\alpha} = \bar{x}^2 / s^2$,$\hat{\beta} = \bar{x} / s^2$($s^2$ 为样本方差)。

9.2 贝叶斯更新

Poisson 似然 + Gamma 先验 $\mathrm{Gamma}(\alpha_0,\beta_0)$,观测总数 $S$、时间 $T$:

$$
\lambda \mid \text{data} \sim \mathrm{Gamma}(\alpha_0 + S,; \beta_0 + T)
$$


10. 示例与代码

场景:等待第 3 次测序错误(率 $\lambda=0.1$/hour),模拟总等待时间。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

alpha, beta = 3, 0.1 # shape=3, rate=0.1
samples = stats.gamma.rvs(alpha, scale=1/beta, size=5000, random_state=42)

print(f"E theory={alpha/beta}, sim={samples.mean():.2f}")
print(f"Var theory={alpha/beta**2:.2f}, sim={samples.var():.2f}")

# chi-square link: chi2(6) = Gamma(3, 0.5)
x = np.linspace(0, 80, 200)
fig, ax = plt.subplots(1, 2, figsize=(12, 4))
ax[0].hist(samples, bins=40, density=True, alpha=0.6)
ax[0].plot(x, stats.gamma.pdf(x, alpha, scale=1/beta), 'r-', lw=2)
ax[0].set_title(f'Gamma({alpha}, {beta})')

for a, label in [(1, 'Exp'), (2, 'Erlang-2'), (5, 'shape=5')]:
ax[1].plot(x, stats.gamma.pdf(x, a, scale=1/beta), label=label)
ax[1].legend(); ax[1].set_title('varying shape α')
plt.savefig('gamma_demo.png', dpi=150)

11. 小结

  • Gamma($\alpha,\beta$):$k$ 个指数之和;连接 Exp$\chi^2$Poisson 共轭
  • 正值偏态数据的通用族;注意 scipy 的 scale = $1/\beta$。

系列导航22.指数 | 26.卡方 | 25.Beta


参考文献

  1. scipy.stats.gamma
-------------本文结束感谢您的阅读-------------