Math::CDF - Generate statistical probabilities and quantiles
use Math::CDF;
$prob = &Math::CDF::pnorm(1.96)
;
if( not defined($z = &Math::CDF::qnorm(0.975)) )
{
die ``qnorm()
failed''; }
or
use Math::CDF qw(:all)
;
$prob = pnorm(1.96)
;
This module provides a perl interface to the DCDFLIB. See the section on DCDFLIB for more information.
Functions are available for 7 continuous distributions (Beta, Chi-square, F, Gamma, Normal, Poisson and T-distribution) and for two discrete distributions (Binomial and Negative Binomial). Optional non-centrality parameters are available for the Chi-square, F and T-distributions. Cumulative probabilities are available for all 9 distributions and quantile functions are available for the 7 continuous distributions.
All cumulative probability function names begin with the character ``p''.
They give the probability of being less than or equal to the given value
[ P(X <= x)
]
All quantile function names begin with the character q. They give a value
of x such that P(X <= x)
= p where the value of p is provided to the function.
Non-centrality parameters are always the last function argument when available. You do not need to supply the non-centrality parameter in which case it will be assumed to be 0.
All functions will return an undefined value if the function fails
(probably due to parameters being out of allowed range) but will not otherwise
generate an error message. The user should check for valid output from the
Math::CDF functions with the defined()
function as demonstrated in the
SYNOPSIS section.
In all, 16 functions are available via Math::CDF:
pbeta(), qbeta() [Beta Distribution] pchisq(), qchisq() [Chi-square Distribution] pf(), qf() [F Distribution] pgamma(), qgamma() [Gamma Distribution] pnorm(), qnorm() [Standard Normal Dist] ppois(), qpois() [Poisson Distribution] pt(), qt() [T-distribution] pbinom() [Binomial Distribution] pnbinom() [Negative Binomial Distribution]
pbeta($x, $a, $b), qbeta($p, $a, $b)
pchisq($x, $df, $ncp), qbeta($p, $df, $ncp)
pchisq(5, 5, 0.0)
and pchisq(5, 5)
will return identical values.
pf($x, $dfn, $dfd, $ncp), qf($p, $dfn, $dfd, $ncp)
pgamma($x, $shape, $scale), qgamma($p, $shape, $scale)
pnorm($x), qnorm($p)
ppois($x, $lambda), qpois($p, $lambda)
pt($x, $df, $ncp), qt($p, $df, $ncp)
pbinom($x, $n, $p)
pnbinom($x, $n, $p)
DCDFLIB is a library of C routines for cumulative distribution functions, inverses, and other parameters written by Barry W. Brown, James Lovato and Kathy Russell of the Department of Biomathematics at The University of Texas M.D. Anderson Cancer Center in Houston Texas.
Version 1.1 of DCDFLIB is included with this distribution and can be downloaded via ftp from odin.mda.uth.tmc.edu as /pub/src/dcdflib.c-1.1.tar.gz. The library is also available in Fortran source.
Documentation for DCDFLIB is found in the cdflib/doc/ directory of the source distribution of Math::CDF
DCDFLIB has been put in the public domain. However, some of the Algorithms are from the ACM publication and is under their copyright. Generally this means that those algorithms can be distributed and used freely for non-commercial purposes. See the file cdflib/doc/README in the source distribution of Math::CDF for more information.
Math::CDF was put together by Ed Callahan, edcallahan.com
DCDFLIB was written by Barry W. Brown (bwb@odin.mdacc.tmc.edu), James Lovato and Kathy Russell
Department of Biomathematics, Box 237 The University of Texas, M.D. Anderson Cancer Center 1515 Holcombe Boulevard Houston, TX 77030
Math::Random, Statistics::ChiSquare manpage, Statistics::OLS manpage