3. 概率分布与随机数生成

在统计建模中,概率分布是描述随机变量取值规律的数学工具。MATLAB 的 Statistics and Machine Learning Toolbox 为常见分布提供了统一的“函数族”接口:以分布名称为前缀,后接 pdf、cdf、icdf、random、fit 等后缀,即可完成密度计算、累积概率、分位数、随机抽样与参数拟合。掌握这套命名规律,比死记单个函数更有效。

离散分布与连续分布

离散分布描述可数取值的概率,常用对象包括二项分布 binopdf、泊松分布 poisspdf、几何分布 geopdf 与离散均匀分布 unidpdf。连续分布描述区间上的密度,常用对象包括正态分布 normpdf、均匀分布 unifpdf、指数分布 、伽马分布 gampdf 与威布尔分布 wblpdf。选择分布时,先看数据取值是否可数、是否对称、是否有明显偏斜与尾部特征,再决定候选分布。

以正态分布为例,若某零件长度服从 N(50, 0.2²),则 normpdf(50,50,0.2) 给出峰值密度,normcdf(50.3,50,0.2) 给出不超过 50.3 的累积概率,norminv(0.975,50,0.2) 给出 97.5% 分位点。三者分别对应“点密度”“区间概率”“反向查分位”,是后续区间估计与假设检验的基础。

概率密度与累积分布函数

连续随机变量的概率密度函数 f(x) 本身不是概率,而是概率密度;区间概率由积分给出,即 P(a<X≤b)=F(b)-F(a)。累积分布函数 F(x) 单调不减,取值在 0 到 1 之间。MATLAB 中 pdf 与 cdf 正是这一对关系的直接实现。绘制分布曲线时,通常用 linspace 生成横轴网格,再分别计算 pdf 与 cdf,可直观看到密度峰值位置与累积曲线的陡缓变化。

概率密度与累积分布:同一正态分布 N(50, 0.2²) 的两种视角 概率密度函数 pdf x f(x) 峰值 ≈ 1.995 μ=50 区间概率 = 面积 累积分布函数 cdf x F(x) F=0.975 x≈50.392 F(x) 单调不减,值域 [0,1]

随机数种子与可重复性

随机数生成器本质是伪随机序列,给定相同种子即可复现相同序列。MATLAB 推荐使用 rng(seed) 控制全局随机流。例如 rng(2024); x = randn(1,5); 每次运行都会得到同一组数。若需要独立控制多个随机流,可使用 RandStream 创建独立对象,避免不同模块之间相互干扰。在蒙特卡洛实验中,固定种子是结果可复现、可审计的前提;但正式评估时,应报告种子值并说明是否做了多次独立重复。

rng(2024);                 % 固定种子
x = randn(1,5);            % 生成 5 个标准正态随机数
rng(2024);                 % 重置同一粒种子
y = randn(1,5);            % y 与 x 完全相同
isequal(x,y)               % 返回 true

蒙特卡洛抽样初步

蒙特卡洛方法的核心是“用随机抽样估计确定性量”。以估计圆周率为例:在单位正方形内均匀投点,统计落入四分之一圆内的比例,乘以 4 即得 π 的估计。MATLAB 实现如下:

rng(7);
N = 1e6;
u = rand(N,1); v = rand(N,1);
inside = (u.^2 + v.^2) <= 1;
pi_est = 4 * mean(inside);   % 约 3.141x
err = abs(pi_est - pi);

该例中,rand 产生 [0,1] 均匀随机数,mean(inside) 是落入圆内频率,乘以 4 得到面积估计。样本量 N 越大,估计标准误约按 1/√N 下降。实际建模中,蒙特卡洛常用于传播输入不确定性:先为每个输入指定分布,再抽样、代入模型、统计输出分布,从而得到均值、分位数与置信区间。

分布拟合与拟合优度检验

拿到一组样本后,可用 fitdist 估计分布参数,再用拟合优度检验判断该分布是否合理。常用检验包括卡方检验 chi2gof、Kolmogorov-Smirnov 检验 kstest 与 Anderson-Darling 检验 adtest。原假设通常为“样本来自指定分布”,p 值小于显著性水平(如 0.05)时拒绝原假设。

data = wblrnd(2, 1.5, 500, 1);      % 示例:生成威布尔样本
pd = fitdist(data, 'Weibull');       % 拟合威布尔分布
[h,p] = kstest(data, 'CDF', pd);     % K-S 检验
% h=0 表示不拒绝原假设,p 为对应 p 值

需要注意:拟合优度检验不显著并不等于“分布正确”,只说明当前样本没有足够证据拒绝它。样本量很大时,微小偏差也可能导致拒绝;样本量很小时,检验功效不足。因此应结合直方图、Q-Q 图、经验 CDF 与领域知识综合判断,而不是只看一个 p 值。

实践建议:先用 histfit 或 qqplot 做视觉初筛,再用 fitdist 估计参数,最后用 kstest 或 adtest 做正式检验;固定 rng 种子,保证整个流程可复现。
常见误区:把 pdf 值当作概率;用 rand 生成正态分布;忽略随机种子导致结果不可复现;只凭 p 值判断分布是否“正确”。这些都会影响后续建模与不确定性分析的可靠性。