From ca25f35eefc530fc8dfee8c531b3e2ea376306f5 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 6 Feb 2008 12:46:52 +0000 Subject: [PATCH] Added non-central F docs, plus updated nc beta docs. [SVN r43124] --- doc/sf_and_dist/dist_reference.qbk | 1 + doc/sf_and_dist/distributions/nc_beta.qbk | 4 +- doc/sf_and_dist/distributions/nc_f.qbk | 188 +++++++++++++ doc/sf_and_dist/equations/generate.sh | 3 +- doc/sf_and_dist/equations/nc_f_ref1.mml | 314 ++++++++++++++++++++++ doc/sf_and_dist/equations/nc_f_ref1.png | Bin 0 -> 16235 bytes doc/sf_and_dist/equations/nc_f_ref1.svg | 2 + doc/sf_and_dist/equations/nc_f_ref2.mml | 202 ++++++++++++++ doc/sf_and_dist/equations/nc_f_ref2.png | Bin 0 -> 11666 bytes doc/sf_and_dist/equations/nc_f_ref2.svg | 2 + 10 files changed, 713 insertions(+), 3 deletions(-) create mode 100644 doc/sf_and_dist/distributions/nc_f.qbk create mode 100644 doc/sf_and_dist/equations/nc_f_ref1.mml create mode 100644 doc/sf_and_dist/equations/nc_f_ref1.png create mode 100644 doc/sf_and_dist/equations/nc_f_ref1.svg create mode 100644 doc/sf_and_dist/equations/nc_f_ref2.mml create mode 100644 doc/sf_and_dist/equations/nc_f_ref2.png create mode 100644 doc/sf_and_dist/equations/nc_f_ref2.svg diff --git a/doc/sf_and_dist/dist_reference.qbk b/doc/sf_and_dist/dist_reference.qbk index 62f6cb362..623dbf65f 100644 --- a/doc/sf_and_dist/dist_reference.qbk +++ b/doc/sf_and_dist/dist_reference.qbk @@ -17,6 +17,7 @@ [include distributions/negative_binomial.qbk] [include distributions/nc_beta.qbk] [include distributions/nc_chi_squared.qbk] +[include distributions/nc_f.qbk] [include distributions/normal.qbk] [include distributions/pareto.qbk] [include distributions/poisson.qbk] diff --git a/doc/sf_and_dist/distributions/nc_beta.qbk b/doc/sf_and_dist/distributions/nc_beta.qbk index 50920fdb0..5a8c9e644 100644 --- a/doc/sf_and_dist/distributions/nc_beta.qbk +++ b/doc/sf_and_dist/distributions/nc_beta.qbk @@ -80,10 +80,10 @@ Returns the parameter /lambda/ from which this object was constructed. Most of the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] are supported: __cdf, __pdf, __quantile, -__hazard, __chf, __range and __support. +__median, __mode, __hazard, __chf, __range and __support. However, the following are not currently implemented: -__mean, __median, __mode, __variance, __sd, __skewness, +__mean, __variance, __sd, __skewness, __kurtosis and __kurtosis_excess. The domain of the random variable is \[0, 1\]. diff --git a/doc/sf_and_dist/distributions/nc_f.qbk b/doc/sf_and_dist/distributions/nc_f.qbk new file mode 100644 index 000000000..137a5eb9a --- /dev/null +++ b/doc/sf_and_dist/distributions/nc_f.qbk @@ -0,0 +1,188 @@ +[section:nc_f_dist Non Central F Distribution] + +``#include `` + + namespace boost{ namespace math{ + + template + class non_central_f_distribution; + + typedef non_central_f_distribution<> non_central_f; + + template + class non_central_f_distribution + { + public: + typedef RealType value_type; + typedef Policy policy_type; + + // Constructor: + non_central_f_distribution(RealType v1, RealType v2, RealType lambda); + + // Accessor to parameters: + RealType degrees_of_freedom1()const; + RealType degrees_of_freedom2()const; + + // Accessor to non centrality parameter: + RealType non_centrality()const; + }; + + }} // namespaces + +The non-central F distribution is a generalization of the +[link math_toolkit.dist.dist_ref.dists.f_dist Fisher F distribution]. +It is defined as the ratio + + F = (X/v1) / (Y/v2) + +where X is a non-central [chi][super 2] +random variable with /v1/ degrees of freedom and non centrality parameter [lambda], +and Y is a central [chi][super 2] random variable with /v2/ degrees of freedom. + +This gives the following PDF: + +[equation nc_f_ref1] + +where L[sub a][super b](c) is a generalised Laguerre polynomial and B(a,b) is the +beta function, or + +[equation nc_f_ref2] + +The following graph illustrates how the distribution changes +for different values of [lambda]: + +[$../graphs/nc_f_pdf.png] + +[h4 Member Functions] + + non_central_f_distribution(RealType v1, RealType v2, RealType lambda); + +Constructs a non-central beta distribution with parameters /v1/ and /v2/ +and non-centrality parameter /lambda/. + +Requires v1 > 0, v2 > 0 and lambda >= 0, otherwise calls __domain_error. + + RealType degrees_of_freedom1()const; + +Returns the parameter /v1/ from which this object was constructed. + + RealType degrees_of_freedom2()const; + +Returns the parameter /v2/ from which this object was constructed. + + RealType non_centrality()const; + +Returns the parameter /lambda/ from which this object was constructed. + +[h4 Non-member Accessors] + +All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] +that are generic to all distributions are supported: __usual_accessors. + +The domain of the random variable is \[0, +[infin]\]. + +[h4 Accuracy] + +This distribution is implemented in terms of the +[link math_toolkit.dist.dist_ref.dists.nc_beta_dist non-central beta distribution]: +refer to that distribution for accuracy data. + +[h4 Tests] + +Since this distribution is implemented by adapting another distribution, +the tests consist of basic sanity checks computed by the R statistical +package and the pbeta and dbeta functions. + +[h4 Implementation] + +In the following table /v1/ and /v2/ are the first and second +degrees of freedom parameters of the distribution, [lambda] +is the non-centrality parameter, +/x/ is the random variate, /p/ is the probability, and /q = 1-p/. + +[table +[[Function][Implementation Notes]] +[[pdf][Implemented in terms of the non-central beta PDF using the relation: + +f(x;v1,v2;[lambda]) = (v1\/v2) / ((1+y)*(1+y)) * g(y\/(1+y);v1\/2,v2\/2;[lambda]) + +where g(x; a, b; [lambda]) is the non central beta PDF, and: + +y = x * v1 \/ v2 +]] +[[cdf][Using the relation: + +p = B[sub y](v1\/2, v2\/2; [lambda]) + +where B[sub x](a, b; [lambda]) is the non-central beta distribution CDF and + +y = x * v1 \/ v2 + +]] + +[[cdf complement][Using the relation: + +q = 1 - B[sub y](v1\/2, v2\/2; [lambda]) + +where 1 - B[sub x](a, b; [lambda]) is the complement of the +non-central beta distribution CDF and + +y = x * v1 \/ v2 + +]] +[[quantile][Using the relation: + +x = (bx \/ (1-bx)) * (v1 \/ v2) + +where + +bx = Q[sub p][super -1](v1\/2, v2\/2; [lambda]) + +and + +Q[sub p][super -1](v1\/2, v2\/2; [lambda]) + +is the non-central beta quantile. + +]] +[[quantile + +from the complement][ +Using the relation: + +x = (bx \/ (1-bx)) * (v1 \/ v2) + +where + +bx = QC[sub q][super -1](v1\/2, v2\/2; [lambda]) + +and + +QC[sub q][super -1](v1\/2, v2\/2; [lambda]) + +is the non-central beta quantile from the complement.]] +[[mean][v2 * (v1 + l) \/ (v1 * (v2 - 2))]] +[[mode][By numeric maximalisation of the PDF.]] +[[variance][Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html + Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.] ]] +[[skewness][Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html + Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.], + and to the [@http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html + Mathematica documentation] ]] +[[kurtosis and kurtosis excess] + [Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html + Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.], + and to the [@http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html + Mathematica documentation] ]] +] + +[endsect][/section:nc_beta_dist] + +[/ nc_beta.qbk + Copyright 2006 John Maddock and Paul A. Bristow. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + diff --git a/doc/sf_and_dist/equations/generate.sh b/doc/sf_and_dist/equations/generate.sh index a8f497cc5..be6e7b9fc 100755 --- a/doc/sf_and_dist/equations/generate.sh +++ b/doc/sf_and_dist/equations/generate.sh @@ -14,7 +14,7 @@ for mmlfile in $*; do pngfile=$(basename $svgfile .svg).png tempfile=temp.mml # strip html wrappers put in by MathCast: - cat $svgfile | tr -d "\r\n" | sed -e 's/.*\(]*>.*<\/math>\).*/\1/' > $tempfile + cat $mmlfile | tr -d "\r\n" | sed -e 's/.*\(]*>.*<\/math>\).*/\1/' > $tempfile echo Generating $svgfile $python $math2svg $tempfile > $svgfile @@ -24,3 +24,4 @@ for mmlfile in $*; do done + diff --git a/doc/sf_and_dist/equations/nc_f_ref1.mml b/doc/sf_and_dist/equations/nc_f_ref1.mml new file mode 100644 index 000000000..1fd749e84 --- /dev/null +++ b/doc/sf_and_dist/equations/nc_f_ref1.mml @@ -0,0 +1,314 @@ + +]> + +nc_f_ref1 + + + + + + f + + + x + ; + + ν + 1 + + , + + ν + 2 + + ; + λ + + + + = + + + e + + + + + λ + 2 + + + + + + + + λ + + ν + 1 + + x + + + + + 2 + + + + ν + 2 + + + + + ν + 1 + + x + + + + + + + + + + + ν + 1 + + + + + + + ν + 1 + + + 2 + + + + + + + ν + 2 + + + + + + + ν + 2 + + + 2 + + + + + x + + + + + ν + 1 + + + 2 + + + 1 + + + + + + + ν + 2 + + + + + ν + 1 + + x + + + + + + + + + ν + 1 + + + + + ν + 2 + + + + 2 + + + + + + Γ + + + + 1 + 2 + + + ν + 1 + + + + Γ + + + 1 + + + + 1 + 2 + + + ν + 2 + + + + + L + + + + + ν + 2 + + + 2 + + + + + + + ν + 1 + + + 2 + + + 1 + + + + + + + + λ + + ν + 1 + + x + + + 2 + + + + ν + 2 + + + + + ν + 1 + + x + + + + + + + + + B + + + + 1 + 2 + + + + ν + 1 + + + , + + 1 + 2 + + + + ν + 2 + + + + + Γ + + + + 1 + 2 + + + + + + ν + 1 + + + + + + + ν + 2 + + + + + + + + + + + + diff --git a/doc/sf_and_dist/equations/nc_f_ref1.png b/doc/sf_and_dist/equations/nc_f_ref1.png new file mode 100644 index 0000000000000000000000000000000000000000..114f31d597f061bb04aa8f605b4af135d0b19df8 GIT binary patch literal 16235 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 T6dYt=U|{fc^>bP0l+XkKk5QXB literal 0 HcmV?d00001 diff --git a/doc/sf_and_dist/equations/nc_f_ref1.svg b/doc/sf_and_dist/equations/nc_f_ref1.svg new file mode 100644 index 000000000..c08ee1c3e --- /dev/null +++ b/doc/sf_and_dist/equations/nc_f_ref1.svg @@ -0,0 +1,2 @@ + +f(x;ν1,ν2;λ)=eλ2+(λν1x)(2(ν2+ν1x))ν1ν12ν2ν22xν121(ν2+ν1x)(ν1+ν2)2Γ(12ν1)Γ(1+12ν2)Lν22ν121(λν1x2(ν2+ν1x))B(12ν1,12ν2)Γ(12(ν1+ν2)) \ No newline at end of file diff --git a/doc/sf_and_dist/equations/nc_f_ref2.mml b/doc/sf_and_dist/equations/nc_f_ref2.mml new file mode 100644 index 000000000..b470fd619 --- /dev/null +++ b/doc/sf_and_dist/equations/nc_f_ref2.mml @@ -0,0 +1,202 @@ + +]> + +nc_f_ref2 + + + + + + f + + + x + ; + + ν + 1 + + , + + ν + 2 + + ; + λ + + + + = + + + + + k + = + 0 + + + + + + + e + + + + λ + 2 + + + + + + + + λ + 2 + + + + k + + + + B + + + + + + ν + 2 + + + 2, + + + + + ν + 1 + + + 2 + + + + k + + + k + ! + + + + + + + + + ν + 1 + + + + + ν + 2 + + + + + + + + + + ν + 1 + + + 2 + + + + k + + + + + + + + + ν + 2 + + + + + + ν + 2 + + + + + + + ν + 1 + + + x + + + + + + + + + + ν + 1 + + + + + + + ν + 2 + + + + 2 + + + + k + + + + x + + + + + ν + 1 + + + 2 + + + + k + + 1 + + + + + + diff --git a/doc/sf_and_dist/equations/nc_f_ref2.png b/doc/sf_and_dist/equations/nc_f_ref2.png new file mode 100644 index 0000000000000000000000000000000000000000..b7d6721cd5e1317bea083b923d866153e0a23fef GIT binary patch literal 11666 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 OFnGH9xvX +f(x;ν1,ν2;λ)=k=0eλ2(λ2)kB(ν22,ν12+k)k!(ν1ν2)ν12+k(ν2ν2+ν1x)ν1+ν22+kxν12+k1 \ No newline at end of file