# 均匀分布(连续)
# 概述
均匀分布(也称为矩形分布)是一个包含两个参数的曲线族,这是值得注意的,因为它在两个边界参数之间具有恒定的概率分布函数 (pdf)。 此分布适用于以表格形式表示特定小数位数的值的舍入误差分布。 均匀分布用于随机数生成技术,例如反演方法。
统计工具箱 提供了几种使用均匀分布的方法。
通过指定参数值 (Uniform) 创建概率分布对象 UniformDistribution。 然后,使用对象函数来评估分布、生成随机数等。
使用具有指定分布参数的分布特定函数(unifcdf、unifpdf、unifinv、unifit、unifstat、unifrnd)。 特定于分布的函数可以接受多个均匀分布的参数。
# 参数
均匀分布使用以下参数。
| 参数 | 说明 | 范围 |
|---|---|---|
| a | 下端点 | -∞ < a < b |
| b | 上端点 | a < b < ∞ |
标准均匀分布有
# 参数估计
最大似然估计 (MLE) 是最大化似然函数的参数估计。 均匀分布的 a 和 b 的最大似然估计量分别是样本最小值和最大值。
要将均匀分布拟合到数据并找到参数估计值,请使用 unifit
# 概率密度函数
均匀分布的pdf为
pdf 在 a 和 b 之间是常数。
有关示例,请参阅计算连续均匀分布 pdf。
# 累积分布函数
均匀分布的累积分布函数(cdf)为
结果 p 是来自具有参数 a 和 b 的均匀分布的单个观测值落入区间 [a x] 的概率。
有关示例,请参阅计算连续均匀分布 cdf。
# 描述性统计量
均匀分布的平均值为
均匀分布的方差为
# 随机数生成
随机数生成您可以使用标准均匀分布通过反演方法为任何其他连续分布生成随机数。 反演方法依赖于连续累积分布函数 (cdfs) 在开区间 (0, 1) 上均匀分布的原理。 如果 u 是 (0, 1) 上的均匀随机数,则
有关示例,请参阅使用均匀分布反转生成随机数。
# 示例
# 计算连续均匀分布 pdf
创建三个具有不同参数的均匀分布对象。
using TyPlot
using TyStatistics
pd1 = Uniform();
pd2 = Uniform(-2, 2);
pd3 = Uniform(-2, 1);
计算三个均匀分布的 pdf。
x = -3:.01:3;
pdf1 = pdf.(pd1,x);
pdf2 = pdf.(pd2,x);
pdf3 = pdf.(pd3,x);
在同一轴上绘制 pdf。
figure()
plot(x,pdf1,"r",linewidth = 2);
hold("on")
plot(x,pdf2,"k:",linewidth = 2);
plot(x,pdf3,"b-.",linewidth = 2);
legend(["a = 0, b = 1","a = -2, b = 2","a = -2, b = 1"],loc = "northwest");
xlabel("Observation")
ylabel("Probability Density")
hold("off");
随着区间 (a,b) 的宽度增加,每个 pdf 的高度减小。
# 计算连续均匀分布 cdf
创建三个具有不同参数的均匀分布对象。
using TyPlot
using TyStatistics
pd1 = Uniform();
pd2 = Uniform(-2, 2);
pd3 = Uniform(-2, 1);
计算三个均匀分布的 cdfs。
x = -3:.01:3;
cdf1 = cdf.(pd1,x);
cdf2 = cdf.(pd2,x);
cdf3 = cdf.(pd3,x);
在同一轴上绘制 cdfs。
figure()
plot(x,cdf1,"r",linewidth = 2);
hold("on")
plot(x,cdf2,"k:",linewidth = 2);
plot(x,cdf3,"b-.",linewidth = 2);
legend(["a = 0, b = 1","a = -2, b = 2","a = -2, b = 1"],loc = "northwest");
xlabel("Observation")
ylabel("Cumulative Probability")
hold("off");
随着区间 (a,b) 的宽度增加,每个 cdf 的斜率减小。
# 另请参阅
UniformDistribution | unifcdf | unifpdf | unifinv | unifit | unifstat | unifrnd