Math-00.数学分布-23.均匀分布

均匀分布(Uniform distribution)在区间 $[a,b]$ 上赋予相等概率密度,是最简单的连续分布,也是随机数生成无信息先验蒙特卡洛抽样的基础。

段末注释蒙特卡洛(Monte Carlo)方法通过随机抽样近似积分或期望;均匀随机数是大多数抽样的起点。

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


1. 产生背景与直观

图 1 均匀分布直观

「在 $[a,b]$ 内任一点等可能」——转盘、随机时间点、无先验信息时对参数的默认假设(有界区间上)。


2. 定义与参数

$X \sim \mathrm{Uniform}(a, b)$,记 $\mathrm{U}(a,b)$:

要素 内容
支撑集 $[a, b]$(有时 $(a,b)$)
参数 $a < b$(下界、上界)
标准均匀 $U \sim \mathrm{U}(0,1)$

3. PDF 与 CDF

图 2 PDF 矩形

3.1 PDF

$$
f(x) = \begin{cases}
\dfrac{1}{b-a} & a \le x \le b \
0 & \text{otherwise}
\end{cases}
$$

3.2 CDF

$$
F(x) = \begin{cases}
0 & x < a \
\dfrac{x-a}{b-a} & a \le x \le b \
1 & x > b
\end{cases}
$$

分位数:$x_p = a + p(b-a)$(线性)。


4. 数字特征

公式
$\mathbb{E}[X]$ $(a+b)/2$
$\mathrm{Var}(X)$ $(b-a)^2/12$
偏度 $0$
超额峰度 $-6/5$(比正态更平)

5. 与其他分布的关系

关系 说明
Beta(1,1) $\mathrm{U}(0,1) = \mathrm{Beta}(1,1)$ → 25.Beta
概率积分变换 若 $F$ 连续,$F(X) \sim \mathrm{U}(0,1)$
逆变换抽样 $X = F^{-1}(U)$ 生成任意分布
正态 $\mathrm{U}(0,1)$ 经 Box-Muller 等变换 → 20.正态
顺序统计量 $n$ 个 i.i.d. $\mathrm{U}(0,1)$ 的次序统计量服从 Beta 族

6. 前提假设

假设 含义 违背时
有界区间 $[a,b]$ 参数/取值有明确上下界 无界 → 正态/Gamma 等
等密度 区间内任一点密度相同 真实数据 rarely 均匀
无信息先验(贝叶斯) 仅知有界,无其他偏好 有信息 → Beta
独立同分布(抽样) 多次观测 i.i.d. $\mathrm{U}(a,b)$ 相关序列 → 非标准用法

段末注释:$\mathrm{U}(0,1)$ 是随机数生成与逆变换抽样的起点;$\mathrm{Beta}(1,1)=\mathrm{U}(0,1)$。


7. 适用场景

图 3 适用场景

场景 示例
随机数引擎 numpy.random 底层 U(0,1)
蒙特卡洛积分 高维矩形区域均匀抽样
贝叶斯无信息先验 有界参数 $\theta \in [a,b]$ 上的 flat prior
随机化实验 随机分组、随机起始时间
哈希/采样 reservoir 抽样中的随机索引

8. 局限与误用

图 4 局限

问题 说明
无界参数 不能用 U;应用 正态/Gamma
真实数据 rarely 均匀 测量值、表达量通常右偏
伪随机质量 PRNG 周期与相关性影响 MC 精度
高维均匀 体积集中在边界(curse of dimensionality)
与「等概率事件」混淆 离散均匀 ≠ 连续均匀 PDF

9. 参数估计与推断

9.1 MLE(已知 $a$,观测 $x_1,\ldots,x_n$)

上界 $b$ 的 MLE 为 $\hat{b} = \max(x_i)$(有偏);Bayes 可改进。

9.2 检验

  • K-S 检验 是否服从指定 $\mathrm{U}(a,b)$
  • 随机性检验(游程检验等)

10. 示例与代码

场景:用逆变换从 $\mathrm{U}(0,1)$ 生成指数分布样本;验证均匀 PDF。

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

a, b = 2.0, 8.0
rng = np.random.default_rng(42)
samples = stats.uniform.rvs(a, b - a, size=5000, random_state=rng)

print(f"E theory={(a+b)/2}, sim={samples.mean():.3f}")
print(f"Var theory={(b-a)**2/12:.3f}, sim={samples.var():.3f}")

# inverse transform: Exp(lambda) from U
lam = 0.5
u = stats.uniform.rvs(size=1000, random_state=rng)
exp_samples = -np.log(1 - u) / lam
print("Exp mean:", exp_samples.mean(), "theory:", 1/lam)

x = np.linspace(a - 1, b + 1, 200)
plt.figure(figsize=(7, 4))
plt.hist(samples, bins=30, density=True, alpha=0.6, label='sim')
plt.plot(x, stats.uniform.pdf(x, a, b - a), 'r-', lw=2, label='PDF')
plt.xlabel('x'); plt.legend(); plt.title('Uniform(a,b) fit')
plt.savefig('uniform_demo.png', dpi=150)

11. 小结

  • U($a,b$):等密度矩形;期望为中点,方差 $(b-a)^2/12$。
  • 随机模拟与 Beta(1,1) 的桥梁;概率积分变换的核心。
  • 有界无信息先验的默认选择,但不适用于无界或偏态数据。

系列导航25.Beta | 20.正态


参考文献

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