Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
泊松分佈(Poisson Distribution)

#include <boost/math/distributions/poisson.hpp>

namespace boost { namespace math {

template <class RealType = double, 
          class Policy   = policies::policy<> >
class poisson_distribution;

typedef poisson_distribution<> poisson;

template <class RealType, class Policy>
class poisson_distribution
{ 
public:
  typedef RealType value_type;
  typedef Policy   policy_type;
  
  poisson_distribution(RealType mean = 1); // Constructor.
  RealType mean()const; // Accessor.
}
 
}} // namespaces boost::math

泊松分佈(Poisson distribution) 是一個著名的離散統計分佈(statistical discrete distribution)。 這用於描述在一個固定的時間段內許多事件(失敗,到達,出現......)發生的概率,假定這些事件以一個已知的平均速率(mean rate)λ (events/time)發生,並且與上一次事件發生的時間相互獨立。

這個分佈由 Sim?on-Denis Poisson (1781 to 1840)發現。

概率質量函數(Probability Mass Function)為:

對於 k 個事件,預期的事件數( expected number of events)為λ。

下面的圖像對於不同的參數λ,PDF函數是如何變化的:

[Caution] 注意

泊松分佈(Poisson distribution)是一個離散分佈(discrete distribution): 內部函數(例如cdf和pdf)被當作它們「好像是」連續函數一樣,但實際上,僅當將整數值提供給隨機變量的時候這些函數才返回有意義的值。

分位點函數將會缺省返回一個向外捨入( rounded outwards)的整數值。也就是說,下分位點(lower quantiles)(概率小於0.5)向下捨入;上分位點(upper quantiles)(概率大於0.5)向上捨入。這種行為確保如果返回一個X%分位點值,那麼至少目標的覆蓋範圍將會在中心區域顯示,不是要求的覆蓋範圍將會在尾部(tails)顯示。

這種行為可以改變,使得分位點函數可以進行不同的捨入,或者甚至使用策略來返回一個實值(real-valued)。在你使用二項分佈的分位點函數之前,強烈推薦你閱讀理解分佈的分位點參考文檔 描述了如何為這些分佈改變捨入策略。

成員函數
poisson_distribution(RealType mean = 1);

使用均值(mean)mean構造一個泊松分佈(Poisson Distribution)。

RealType mean()const;

返回分佈的均值(mean)mean。

非成員訪問函數(Non-member Accessors)

支持所有的分佈都通用的 常見的非成員訪問函數累積分佈函數(Cumulative Distribution Function)概率密度函數(Probability Density Function)分位點(Quantile)故障率函數(Hazard Function)累積危險函數(Cumulative Hazard Function)均值(mean)中位數(median)眾數(mode)方差(variance)標準差(standard deviation)偏斜(skewness)峰態(kurtosis)峰態超越(kurtosis_excess)值域(range) 以及 支持(support)

隨機變量的定義域為:[0, ∞]。

精確度

泊松分佈(Poisson distribution)使用不完全γ函數gamma_pgamma_q 來實現,並且誤差率(error rate)很低:請參考這些函數的文檔瞭解更多 信息。因此分位點(quantile)和它的補集(complement)的精度可能稍有些低:這是因為γ函數的反函數使用迭代的方法來計算並且對於過度計算(excessive computation)只有一個較低的容許度(tolerance)。

實現

在下面的表中,λ 是分佈的均值(mean),k 是隨機變量,p 是概率,且 q = 1-p

函數

實現註解

pdf

使用關係: pdf = e λk / k!

cdf

使用關係: p = Γ(k+1, λ) / k! = gamma_q(k+1, λ)

cdf 補集(complement)

使用關係: q = gamma_p(k+1, λ)

分位點(quantile)

使用關係: k = gamma_q_inva(λ, p) - 1

補集的分位點(quantile from the complement )

使用關係: k = gamma_p_inva(λ, q) - 1

均值(mean)

λ

眾數(mode)

floor (λ) or ⌊λ⌋

偏斜(skewness)

1/√λ

峰態(kurtosis)

3 + 1/λ

峰態超越(kurtosis excess)

1/λ


PrevUpHomeNext