截断正态分布(Truncated Normal Distribution)

发布于 2025-02-14  941 次阅读


截断正态分布是正态分布的一种变体,其定义域被限制在一个有限的区间内。与标准正态分布不同,截断正态分布的概率密度函数在指定区间之外为零,而在区间内则与正态分布成比例。


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. 性质

  1. 归一化
    • 截断正态分布的概率密度函数在区间 $[a, b]$ 内是归一化的,即:
      $$
      \int_a^b f(x; \mu, \sigma, a, b) \, dx = 1
      $$
  2. 均值与方差
    • 截断正态分布的均值 $\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]
      $$
  1. 区间选择的影响
    • 如果截断区间 $[a, b]$ 远离均值 $\mu$,会趋近于均匀分布。
    • 如果截断区间 $[a, b]$ 包含均值 $\mu$,会接近原始正态分布。

3. 截断正态分布的应用

  1. 限制变量范围
    • 在实际问题中,某些变量的取值范围可能受到限制。例如,身高、体重、温度等物理量不能为负值,因此可以使用截断正态分布来建模。
  2. 贝叶斯推断
    • 在贝叶斯统计中,截断正态分布常用于先验分布或后验分布,特别是当参数有明确的上下界时。
  3. 金融建模
    • 在金融领域,资产收益率或波动率通常有上下限,截断正态分布可以用于建模这些受限变量。
  4. 机器学习
    • 在深度学习中,截断正态分布常用于初始化神经网络权重,以确保权重值在一个合理的范围内。

4. 截断正态分布的采样

从截断正态分布中采样通常使用以下方法:

  1. 拒绝采样法
    • 从原始正态分布中采样,如果样本落在截断区间 $[a, b]$ 内,则接受;否则拒绝并重新采样。
  2. 逆变换采样法
    • 利用累积分布函数(CDF)的逆函数进行采样。具体步骤如下:
      1. 计算截断区间的 CDF 值:
        $$
        u_a = \Phi\left(\frac{a - \mu}{\sigma}\right), \quad u_b = \Phi\left(\frac{b - \mu}{\sigma}\right)
        $$
      2. 从均匀分布 $U(u_a, u_b)$ 中采样一个值 $u$。
      3. 使用逆 CDF 函数计算样本:
        $$
        x = \mu + \sigma \cdot \Phi^{-1}(u)
        $$
  3. 库函数
    • 许多科学计算库(如 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. 截断正态分布的局限性

  1. 计算复杂度
    • 截断正态分布的均值和方差计算涉及复杂的积分和特殊函数,计算成本较高。
  2. 区间选择的影响
    • 截断区间的选择对分布的形状和参数有显著影响,如果区间选择不当,可能导致模型偏差。
  3. 多变量扩展困难
    • 截断正态分布的多变量扩展(即截断多元正态分布)计算更加复杂,应用受限。

总结

截断正态分布是一种将正态分布限制在有限区间内的概率分布,广泛应用于需要限制变量范围的场景。它的概率密度函数是原始正态分布在截断区间内的归一化形式,其均值和方差与原始正态分布不同。截断正态分布的采样可以通过拒绝采样法、逆变换采样法或库函数实现。虽然计算较为复杂,但它在贝叶斯推断、金融建模和机器学习等领域具有重要价值。

  • alipay_img
  • wechat_img
こんにちは、世界よ
最后更新于 2025-02-14