![]() |
Home | Libraries | People | FAQ | More |
#include <boost/math/distributions/uniform.hpp>
namespace boost{ namespace math{ template <class RealType = double, class Policy = policies::policy<> > class uniform_distribution; typedef uniform_distribution<> uniform; template <class RealType, class Policy> class uniform_distribution { public: typedef RealType value_type; uniform_distribution(RealType lower = 0, RealType upper = 1); // 構造函數. : m_lower(lower), m_upper(upper) // 缺省為標準均勻分佈(standard uniform distribution). // 訪問函數(Accessor functions). RealType lower()const; RealType upper()const; }; // 類 uniform_distribution }} // namespaces
均勻分佈(uniform distribution),也稱作矩形分佈(rectangular distribution),是概率為常量的概率分佈。
連續均勻分佈(continuous uniform distribution) 的概率分佈函數(probability density function)為:
f(x) =
在這個庫的實現中:
之所以選擇 x = lower 或 x = upper 是因為這個分佈的統計使用(statistical use) 判定這是最可能的情況: 最大似然法(method of maximum likelihood)使用這個定義。
同樣也有一個離散 均勻分佈。
參數 lower 和 upper 可以是任何有限值。
隨機變量(random variate) x 必須也是有限值,並且滿足 lower <= x <= upper。
lower 參數也稱作位置參數(location parameter),那就是 origin of a plot 的位置 ,且(upper - lower) 被稱作 尺度參數(scale parameter)。
下面的圖像顯示了當形狀參數(shape parameter)發生變化時概率密度函數(probability density function) PDF 是如何變化的:
類似的,對於函數 CDF:
uniform_distribution(RealType lower = 0, RealType upper = 1);
使用下限(lower) lower (a) 和上限(upper) upper (b)構造一個均勻分佈(uniform distribution) 。
要求:參數 lower 和 upper 都是有限值;否則如果參數是無限值或 NaN(Not a Number),那麼就會調用定義域錯誤。
RealType lower()const;
返回分佈的lower 參數。
RealType upper()const;
返回分佈的upper參數。
支持所有的分佈都通用的 常見的非成員訪問函數 : 累積分佈函數(Cumulative Distribution Function),概率密度函數(Probability Density Function),分位點(Quantile), 故障率函數(Hazard Function), 累積危險函數(Cumulative Hazard Function), 均值(mean), 中位數(median), 眾數(mode), 方差(variance), 標準差(standard deviation), 偏斜(skewness), 峰態(kurtosis), 峰態超越(kurtosis_excess), 值域(range) 以及 支持(support)。
隨機變量的定義域是任何有限值,但支持的範圍僅是:lower <= x <= upper。
均勻分佈(uniform distribution)使用簡單的算術運算來實現, 因此誤差在1到2個epsilon(10的-5次方)。
在下面的表中: a 是分佈的 lower 參數, b 是 upper 參數,x 是隨機變量,p 是概率,且q = 1-p。
|
函數 |
實現註解 |
|---|---|
|
|
使用關係: pdf = 0 對於 x < a, 1 / (b - a) 對於 a <= x <= b, 0 對於 x > b |
|
cdf |
使用關係: cdf = 0 對於 x < a, (x - a) / (b - a) 對於 a <= x <= b, 1 對於 x > b |
|
cdf 補集(complement) |
使用關係: q = 1 - p, (b - x) / (b - a) |
|
分位點(quantile) |
使用關係: x = p * (b - a) + a; |
|
補集的分位點(quantile from the complement) |
x = -q * (b - a) + b |
|
均值(mean) |
(a + b) / 2 |
|
方差(variance) |
(b - a) 2 / 12 |
|
眾數(mode) |
區間中除了a的任何值[a, b]。 ( NaN be better?) |
|
偏斜(skewness) |
0 |
|
峰態超越(kurtosis excess) |
-6/5 = -1.2 exactly. (kurtosis - 3) |
|
峰態(kurtosis) |
9/5 |