Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
指數分佈(Exponential Distribution)

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

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

typedef exponential_distribution<> exponential;

template <class RealType, class Policy>
class exponential_distribution
{
public:
   typedef RealType value_type;
   typedef Policy   policy_type;

   exponential_distribution(RealType lambda = 1);

   RealType lambda()const;
};

指數分佈(exponential distribution) 是一個連續概率分佈(continuous probability distribution) ,函數PDF(概率分佈函數):

指數分佈經常用來對以常量平均速率發生的相互獨立事件之間的時間進行建模。

下面的圖像顯示了對於不同的速度參數lambda,分佈的圖像是如何變化的:

成員函數
exponential_distribution(RealType lambda = 1);

使用參數lambda來構造一個 指數分佈(Exponential distribution) 。Lambda 定義為尺度參數(scale parameter)的倒數(reciprocal)。

要求 lambda > 0,否則調用定義域錯誤

RealType lambda()const;

返回構造這個指數分佈的參數 lambda 。

非成員訪問函數(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, +∞]。

精確度

指數分佈使用標準庫函數exploglog1pexpm1來實現,並且誤差率很低。

實現

在下面的表中,λ 是指數分佈的參數lambda,x 是隨機變量,p 是概率且q = 1-p

函數

實現註解

pdf

使用關係: pdf = λ * exp(-λ * x)

cdf

使用關係:p = 1 - exp(-x * λ) = -expm1(-x * λ)

cdf 補集(complement)

使用關係:q = exp(-x * λ)

分位點(quantile)

使用關係: x = -log(1-p) / λ = -log1p(-p) / λ

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

使用關係:x = -log(q) / λ

均值(mean)

1/λ

標準差(standard deviation)

1/λ

眾數(mode)

0

偏斜(skewness)

2

峰態(kurtosis)

9

峰態超越(kurtosis excess)

6

參考資料

(參見引用文檔瞭解相關的極值分佈(Extreme Distributions).)


PrevUpHomeNext