截断正态分布是正态分布的一种变体,其定义域被限制在一个有限的区间内。与标准正态分布不同,截断正态分布的概率密度函数在指定区间之外为零,而在区间内则与正态分布成比例。
1. 定义
给定一个正态分布 $X \sim \mathcal{N}(\mu, \sigma^2)$,截断正态分布是指将 $X$ 限制在区间 $[a, b]$ 内的分布。其概率密度函数为:
f(x; \mu, \sigma, a, b) =
\begin{cases}
\frac{\phi\left(\frac{x - \mu}{\sigma}\right)}{\sigma \left( \Phi\left(\frac{b - \mu}{\sigma}\right) - \Phi\left(\frac{a - \mu}{\sigma}\right) \right)}, & \text{if } a \leq x \leq b \\
0, & \text{otherwise}
\end{cases}
其中:
- $\phi(x)$ 是标准正态分布的概率密度函数:
$$
\phi(x) = \frac{1}{\sqrt{2\pi}} e^{-\frac{x^2}{2}}
$$ - $\Phi(x)$ 是标准正态分布的累积分布函数(CDF):
$$
\Phi(x) = \int_{-\infty}^x \phi(t) \, dt
$$ - $\mu$ 和 $\sigma$ 是原始正态分布的均值和标准差。
- $[a, b]$ 是截断区间。
2. 性质
- 归一化:
- 截断正态分布的概率密度函数在区间 $[a, b]$ 内是归一化的,即:
$$
\int_a^b f(x; \mu, \sigma, a, b) \, dx = 1
$$
- 截断正态分布的概率密度函数在区间 $[a, b]$ 内是归一化的,即:
- 均值与方差:
- 截断正态分布的均值 $\mu_T$ 和方差 $\sigma_T^2$ 与原始正态分布的均值和方差不同。
- 均值公式:
$$
\mu_T = \mu + \sigma \cdot \frac{\phi\left(\frac{a - \mu}{\sigma}\right) - \phi\left(\frac{b - \mu}{\sigma}\right)}{\Phi\left(\frac{b - \mu}{\sigma}\right) - \Phi\left(\frac{a - \mu}{\sigma}\right)}
$$ - 方差公式:
$$
\sigma_T^2 = \sigma^2 \left[ 1 + \frac{\left(\frac{a - \mu}{\sigma}\right) \phi\left(\frac{a - \mu}{\sigma}\right) - \left(\frac{b - \mu}{\sigma}\right) \phi\left(\frac{b - \mu}{\sigma}\right)}{\Phi\left(\frac{b - \mu}{\sigma}\right) - \Phi\left(\frac{a - \mu}{\sigma}\right)} - \left( \frac{\phi\left(\frac{a - \mu}{\sigma}\right) - \phi\left(\frac{b - \mu}{\sigma}\right)}{\Phi\left(\frac{b - \mu}{\sigma}\right) - \Phi\left(\frac{a - \mu}{\sigma}\right)} \right)^2 \right]
$$
- 区间选择的影响:
- 如果截断区间 $[a, b]$ 远离均值 $\mu$,会趋近于均匀分布。
- 如果截断区间 $[a, b]$ 包含均值 $\mu$,会接近原始正态分布。
3. 截断正态分布的应用
- 限制变量范围:
- 在实际问题中,某些变量的取值范围可能受到限制。例如,身高、体重、温度等物理量不能为负值,因此可以使用截断正态分布来建模。
- 贝叶斯推断:
- 在贝叶斯统计中,截断正态分布常用于先验分布或后验分布,特别是当参数有明确的上下界时。
- 金融建模:
- 在金融领域,资产收益率或波动率通常有上下限,截断正态分布可以用于建模这些受限变量。
- 机器学习:
- 在深度学习中,截断正态分布常用于初始化神经网络权重,以确保权重值在一个合理的范围内。
4. 截断正态分布的采样
从截断正态分布中采样通常使用以下方法:
- 拒绝采样法:
- 从原始正态分布中采样,如果样本落在截断区间 $[a, b]$ 内,则接受;否则拒绝并重新采样。
- 逆变换采样法:
- 利用累积分布函数(CDF)的逆函数进行采样。具体步骤如下:
- 计算截断区间的 CDF 值:
$$
u_a = \Phi\left(\frac{a - \mu}{\sigma}\right), \quad u_b = \Phi\left(\frac{b - \mu}{\sigma}\right)
$$ - 从均匀分布 $U(u_a, u_b)$ 中采样一个值 $u$。
- 使用逆 CDF 函数计算样本:
$$
x = \mu + \sigma \cdot \Phi^{-1}(u)
$$
- 计算截断区间的 CDF 值:
- 利用累积分布函数(CDF)的逆函数进行采样。具体步骤如下:
- 库函数:
- 许多科学计算库(如 NumPy、SciPy、TensorFlow 等)提供了截断正态分布的采样函数。例如,在 SciPy 中:
from scipy.stats import truncnorm
# 定义截断区间 [a, b]
a, b = 0, 1
# 定义均值 mu 和标准差 sigma
mu, sigma = 0.5, 0.1
# 创建截断正态分布对象
dist = truncnorm((a - mu) / sigma, (b - mu) / sigma, loc=mu, scale=sigma)
# 采样
samples = dist.rvs(size=1000)
5. 截断正态分布与标准正态分布的区别
| 特性 | 标准正态分布 | 截断正态分布 |
|---|---|---|
| 定义域 | $(-\infty, +\infty)$ | $[a, b]$ |
| 概率密度函数 | $\phi(x)$ | 归一化的 $\phi(x)$ |
| 均值与方差 | $\mu$ 和 $\sigma^2$ | $\mu_T$ 和 $\sigma_T^2$ |
| 应用场景 | 无限制的连续变量 | 有限制的连续变量 |
6. 截断正态分布的局限性
- 计算复杂度:
- 截断正态分布的均值和方差计算涉及复杂的积分和特殊函数,计算成本较高。
- 区间选择的影响:
- 截断区间的选择对分布的形状和参数有显著影响,如果区间选择不当,可能导致模型偏差。
- 多变量扩展困难:
- 截断正态分布的多变量扩展(即截断多元正态分布)计算更加复杂,应用受限。
总结
截断正态分布是一种将正态分布限制在有限区间内的概率分布,广泛应用于需要限制变量范围的场景。它的概率密度函数是原始正态分布在截断区间内的归一化形式,其均值和方差与原始正态分布不同。截断正态分布的采样可以通过拒绝采样法、逆变换采样法或库函数实现。虽然计算较为复杂,但它在贝叶斯推断、金融建模和机器学习等领域具有重要价值。






