Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
非中心T分佈(Noncentral T Distribution)

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

namespace boost{ namespace math{ 

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

typedef non_central_t_distribution<> non_central_t;

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

   // 構造函數:
   non_central_t_distribution(RealType v, RealType delta);

   // 自由度參數(degrees_of_freedom parameter) v的訪問函數(Accessor):
   RealType degrees_of_freedom()const;

   // 非中心參數(non-centrality parameter) lambda訪問函數(Accessor):
   RealType non_centrality()const;
};

}} // namespaces

非中心T分佈(noncentral T distribution)是學生t分佈(Students t Distribution)的一般化。假定X 具有一個均值(mean)為 δ且方差(variance)為1的正態分佈( normal distribution),假定 S2 具有一個自由度(degree of freedom)為ν的χ方形分佈(chi-squared distribution) 。假設 X 和 S2 是相互獨立的。 分佈 tν(δ)=X/S 被稱作自由度(degree of freedom)為ν 且非中心參數(non-centrality parameter)為 δ 的非中心t分佈( noncentral t distribution)。

給出下面的PDF函數(概率分佈函數):

其中1F1(a;b;x) 是合連幾何函數( confluent hypergeometric function)。

下面的圖像顯示了對於不同的δ值,分佈是如何變化的:

成員函數
non_central_t_distribution(RealType v, RealType lambda);

使用自由度參數(degrees of freedom parameter) v 和非中心參數( non-centrality parameter) delta來構造一個非中心t分佈( non-central t distribution)。

要求 v > 0 且 delta為有限值,否則調用定義域錯誤

RealType degrees_of_freedom()const;

返回構造分佈的參數v

RealType non_centrality()const;

返回構造分佈的非中心參數( non-centrality parameter) delta。

非成員訪問函數(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)

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

精確度

下面的表顯示了在不同的平台上使用不同的浮點類型所產生的峰值誤差(peak error) (單位為epsilon(10的-5次方))。除非另外指定,任何的比這裡指定的浮點類型更窄的浮點類型的結果具有有效零誤差(effectively zero error)

Table5.非中心T分佈的CDF函數(CDF of Noncentral T Distribution)的誤差

有效數字位數

平台和編譯器

ν,δ < 600

53

Win32, Visual C++ 8

峰值=120 均值=26

64

RedHat Linux IA32, gcc-4.1.1

峰值=121 均值=26

64

Redhat Linux IA64, gcc-3.4.4

峰值=122 均值=25

113

HPUX IA64, aCC A.06.06

峰值=115 均值=24


[Caution] 注意

當前算法的複雜度依賴於δ2:因此,對於δ > 500時計算CDF函數的時間增長很快,類似地,對於非常大的δ 值,精度下降得很快。

分位點(quantile)函數和PDF函數的精度大體上應當是類似的,注意:眾數(mode) 是在數值上進行判定的( determined numerically)且在原理上不能比machine epsilon的平方根更精確。

測試

有兩種類別的測試:基本的合理性測試( basic sanity checks )將這個庫的實現與"Computing discrete mixtures of continuous distributions: noncentral chisquare, noncentral t and the distribution of the square of the sample multiple correlation coefficient." Denise Benton, K. Krishnamoorthy, Computational Statistics & Data Analysis 43 (2003) 249-267.給出的數據進行比較。 而精度測試使用這個庫和任何精度的區間算術計算的數據:這些測試數據的精度至少為50個十進制數字。

實現

函數CDF使用在"Computing discrete mixtures of continuous distributions: noncentral chisquare, noncentral t and the distribution of the square of the sample multiple correlation coefficient."Denise Benton, K. Krishnamoorthy, Computational Statistics & Data Analysis 43 (2003) 249-267中描述的算法的修改版本。

對於函數 CDF使用下面的方程:

其中 Ix(a,b) 是不完全β函數,且Φ(x) 是在點x處CDF的法線(normal).

迭代從最大的泊松權值項(largest of the Poisson weighting terms) (在 i = δ2 / 2)開始,然後在在兩個方向上進行,就像 Benton 和 Krishnamoorthy的論文中描述的那樣。

另一方面,通過考查t = ∞時產生的結果,我們得到 x = 1,因此 Ix(a,b) = 1 且:

從這一點我們可以很容易地得到:

因此,我們有一個用於計算概率或其補集(complement)的方法而不會有任何的消去錯誤(cnacellation error)。用於選擇計算CDF或其補集(complement)的交叉準則(crossover criterion)與 非中心β分佈(Noncentral Beta Distribution)

PDF函數可以通過一個非常類似的方法來計算:

其中 Ix'(a,b) 不完全β函數的導數。

分位點(quantile)使用一般的自由導數根查找技術(derivative-free root-finding techniques), 初始猜測(initial guess) 當作非中心T分佈(non-centrality distribution)的正態近似分位點(quantile of a normal approximation) 。

眾數(mode)沒有閉型(closed form),所以,眾數(mode)是通過PDF函數達到極大值來計算。

剩下的函數 (均值(mean),方差( variance)等等 )使用 Weisstein, Eric W. "Noncentral Student's t-Distribution." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html 以及 Mathematica documentation. 中給定的方程來計算。

非中心分佈(noncentral distributions)的一些解析屬性(analytic properties)(尤其是眾數(mode)的單峰分佈(unimodality),以及單翟(monotonicity))由:

Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.

概括和總結。


PrevUpHomeNext