4. 常见概率分布的抽样方法

在蒙特卡洛仿真中,抽样方法决定了输入随机变量能否被正确还原。工程上常见的输入分布包括正态分布、对数正态分布、指数分布、威布尔分布和均匀分布。它们分别对应不同的物理量:正态分布常用于尺寸误差、测量噪声;对数正态分布常用于材料强度、疲劳寿命;指数分布常用于失效率恒定的寿命或等待时间;威布尔分布常用于磨损、疲劳等具有形状差异的寿命;均匀分布则常用于无先验信息或作为其他抽样的基础。

抽样的核心思路是“先产生标准均匀随机数,再通过变换得到目标分布”。设 U 为 [0,1) 上的均匀随机数,下面给出各分布的常用抽样公式与参数含义。

1. 均匀分布抽样

若 X ~ U(a, b),则直接线性变换:

X = a + (b - a) * U

这是所有抽样的基础。例如,某零件长度公差为 10±0.2 mm,若假设其在该区间内均匀分布,则每次抽样为 9.8 + 0.4*U。均匀分布抽样简单,但要注意它并不适合描述大多数自然误差,因为自然误差往往集中在中心附近。

2. 正态分布抽样

正态分布 N(μ, σ²) 的抽样通常采用 Box-Muller 变换或逆变换法。Box-Muller 法使用两个独立均匀随机数 U₁、U₂:

Z = sqrt(-2 * ln(U1)) * cos(2 * pi * U2)
X = mu + sigma * Z

其中 Z 为标准正态随机数。若 U₁ 接近 0,ln(U₁) 会趋向负无穷,因此实现时应避免 U₁ 取 0,可令 U₁ = max(U₁, 1e-12)。例如,某轴径尺寸服从 N(20, 0.05²) mm,则每次抽样先得到 Z,再计算 20 + 0.05Z。正态分布抽样适合描述围绕均值波动的误差,但要注意其取值范围理论上是全体实数,实际使用时可根据物理限制截断。

3. 对数正态分布抽样

若 X 服从对数正态分布,则 ln(X) 服从正态分布。设 ln(X) ~ N(μ_ln, σ_ln²),抽样步骤为:

Z = 标准正态随机数
X = exp(mu_ln + sigma_ln * Z)

例如,某材料疲劳寿命服从对数正态分布,已知中位寿命为 10⁵ 次,对数标准差为 0.3,则 μ_ln = ln(10⁵) ≈ 11.513,σ_ln = 0.3。每次抽样先得到 Z,再计算 exp(11.513 + 0.3Z)。对数正态分布恒为正,且右偏,适合寿命、强度等不能为负的物理量。

4. 指数分布抽样

指数分布常用于描述恒定失效率下的寿命或等待时间。若 X ~ Exp(λ),其中 λ 为失效率,则累积分布函数为 F(x)=1-exp(-λx)。采用逆变换法:

X = -ln(1 - U) / lambda

由于 1-U 与 U 同为均匀分布,也可写成 X = -ln(U)/λ。例如,某电子元件失效率 λ = 1/5000 次/h,则平均寿命为 5000 h。每次抽样得到 X = -ln(U)*5000。指数分布具有无记忆性,适合描述随机失效阶段。

5. 威布尔分布抽样

威布尔分布是寿命分析中最常用的分布之一,其累积分布函数为 F(x)=1-exp(-(x/η)^β),其中 β 为形状参数,η 为尺度参数。采用逆变换法:

X = eta * (-ln(1 - U))^(1 / beta)

例如,某轴承寿命服从威布尔分布,β = 2.0,η = 8000 h,则每次抽样为 8000 * (-ln(1-U))^(1/2)。当 β=1 时,威布尔分布退化为指数分布;当 β>1 时,失效率随时间增大,适合磨损和疲劳;当 β<1 时,失效率随时间减小,适合早期失效。

常见概率分布抽样与验证关系图 均匀随机数 U U ~ U(0,1) 抽样变换公式 均匀分布 U(a,b) X = a + (b-a)·U 正态分布 N(μ,σ²) Z = √(-2lnU₁)·cos(2πU₂) 对数正态 LN(μ_ln,σ_ln²) X = exp(μ_ln + σ_ln·Z) 指数分布 Exp(λ) X = -ln(1-U)/λ 威布尔分布 W(β,η) X = η·(-ln(1-U))^(1/β) 抽样验证方法 直方图对比 样本频率 vs 理论PDF Q-Q 图 样本分位数 vs 理论分位数 K-S 检验 经验CDF vs 理论CDF 矩检验 均值、方差、偏度对比 收敛性检查 样本量增大时统计量稳定 验证原则:先确认均匀随机数质量,再检查变换后分布是否与目标分布一致;样本量建议不少于 10⁴ 次。

6. 抽样验证:如何判断抽样是否正确

抽样实现后必须验证,否则后续仿真结果可能完全失真。验证通常从三个层面进行。

第一,直方图对比。将大量样本(例如 10⁵ 个)绘制频率直方图,并叠加目标分布的理论概率密度曲线。若两者形状、峰值位置和尾部厚度基本一致,说明抽样方向正确。例如,正态分布抽样应呈现对称钟形;对数正态分布应呈现右偏;指数分布应在 0 附近最高并单调下降。

第二,Q-Q 图与 K-S 检验。Q-Q 图将样本分位数与理论分位数对比,若点近似落在 45° 直线上,说明分布拟合良好。K-S 检验给出最大偏差 D 和 p 值,当 p 值大于显著性水平(如 0.05)时,不能拒绝样本来自目标分布的原假设。需要注意,K-S 检验对样本量敏感,样本量过大时微小偏差也可能显著,因此应结合图形判断。

第三,矩与收敛性检查。计算样本均值、方差、偏度和峰度,与理论值对比。例如,指数分布 Exp(λ) 的理论均值为 1/λ,方差为 1/λ²;威布尔分布 W(β,η) 的均值为 η·Γ(1+1/β)。若样本矩与理论矩偏差过大,说明抽样公式或参数设置有误。此外,随着样本量从 10³ 增加到 10⁵,样本均值和方差应逐渐稳定,若出现明显漂移,则需检查随机数生成器或变换实现。

实现提示:在代码中,建议将各分布抽样封装为独立函数,输入为均匀随机数数组和分布参数,输出为样本数组。这样既便于替换分布,也便于统一验证。对于 Box-Muller 法,注意 U₁ 不能为 0;对于逆变换法,注意 1-U 与 U 的等价性,避免在 U=1 时出现 ln(0)。
常见错误:一是直接用正态分布抽样代替对数正态分布,导致出现负寿命;二是威布尔分布抽样时忘记对 -ln(1-U) 取 1/β 次幂;三是指数分布抽样时误用 -ln(U)/λ 却将 λ 当作均值;四是验证时只看均值不看尾部,导致极端事件概率被低估。

总结来说,五种分布的抽样都建立在均匀随机数之上:均匀分布直接线性变换;正态分布用 Box-Muller 或逆变换;对数正态分布先抽样正态再取指数;指数分布和威布尔分布用逆变换法。抽样完成后,必须通过直方图、Q-Q 图、K-S 检验和矩检验进行验证,确保样本统计特性与目标分布一致,才能进入后续的蒙特卡洛仿真与稳健设计分析。