|
JMSLTM Numerical Library 3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.imsl.stat.Cdf
Cumulative distribution functions.
| Method Summary | |
static double |
beta(double x,
double pin,
double qin)
Evaluates the beta probability distribution function. |
static double |
binomial(int k,
int n,
double p)
Evaluates the binomial distribution function. |
static double |
binomialProb(int k,
int n,
double p)
Evaluates the binomial probability function. |
static double |
chi(double chsq,
double df)
Evaluates the chi-squared distribution function. |
static double |
F(double x,
double dfn,
double dfd)
Evaluates the F distribution function. |
static double |
gamma(double x,
double a)
Evaluates the gamma distribution function. |
static double |
hypergeometric(int k,
int sampleSize,
int defectivesInLot,
int lotSize)
Evaluates the hypergeometric distribution function. |
static double |
hypergeometricProb(int k,
int sampleSize,
int defectivesInLot,
int lotSize)
Evaluates the hypergeometric probability function. |
static double |
inverseBeta(double p,
double pin,
double qin)
Evaluates the inverse of the beta probability distribution function. |
static double |
inverseChi(double p,
double df)
Evaluates the inverse of the chi-squared distribution function. |
static double |
inverseF(double p,
double dfn,
double dfd)
Returns inverse of the F probability distribution function. |
static double |
inverseGamma(double p,
double a)
Evaluates the inverse of the gamma distribution function. |
static double |
inverseNormal(double p)
Evaluates the inverse of the normal (Gaussian) distribution function. |
static double |
inverseStudentsT(double p,
double df)
Returns inverse of the Student's t distribution function. |
static double |
normal(double x)
Evaluates the normal (Gaussian) distribution function. |
static double |
poisson(int k,
double theta)
Evaluates the Poisson distribution function. |
static double |
poissonProb(int k,
double theta)
Evaluates the Poisson probability function. |
static double |
studentsT(double t,
double df)
Evaluates the Student's t distribution function. |
static double |
Weibull(double x,
double gamma,
double alpha)
Evaluates the Weibull distribution function. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
public static double binomial(int k,
int n,
double p)
Method binomial evaluates the distribution function of
a binomial random variable with parameters n and
p. It does this by summing probabilities of the
random variable taking on the specific values in its range. These
probabilities are computed by the recursive relationship
![]()
To avoid the possibility of underflow, the probabilities are computed
forward from 0, if k is not
greater than n times p, and
are computed backward from n, otherwise. The
smallest positive machine number,
,
is used as the starting value for summing the probabilities, which are
rescaled by
if forward
computation is performed and by
if
backward computation is done. For the special case of
p = 0, binomial is set to
1; and for the case p = 1,
binomial is set to 1 if
k = n and to 0 otherwise.
k - the int argument for which the binomial distribution function
is to be evaluated.n - the int number of Bernoulli trials.p - a double scalar value representing the
probability of success on each trial.
double scalar value representing the probability
that a binomial random variable takes a value less than or
equal to k. This value is the probability that k or fewer successes
occur in n independent Bernoulli trials, each of which
has a p probability of success.
public static double binomialProb(int k,
int n,
double p)
Method binomialProb evaluates the probability that a
binomial random variable with parameters n and
p takes on the value k. It
does this by computing probabilities of the random variable taking on
the values in its range less than (or the values greater than)
k. These probabilities are computed by the
recursive relationship
![]()
To avoid the possibility of underflow, the probabilities are computed
forward from 0, if k is not
greater than
, and are computed backward
from n, otherwise. The smallest positive machine
number,
, is used as the starting value
for computing the probabilities, which are rescaled by
if forward computation is
performed and by
if backward
computation is done.
For the special case of p = 0,
binomialProb is set to 0 if
k is greater than 0 and to
1 otherwise; and for the case p = 1,
binomialProb is set to 0 if
k is less than n and to
1 otherwise.

k - the int argument for which the binomial distribution function
is to be evaluated.n - the int number of Bernoulli trials.p - a double scalar value representing the
probability of success on each trial.
double scalar value representing the probability that
a binomial random variable takes a value equal to k.
public static double poisson(int k,
double theta)
poisson evaluates the distribution function of a Poisson
random variable with parameter theta. theta,
which is the mean of the Poisson random variable, must be positive. The
probability function (with
) is
![]()
The individual terms are calculated from the tails of the
distribution to the mode of the distribution and summed.
poisson uses the recursive relationship
![]()
with
.
k - the int argument for which the Poisson distribution function
is to be evaluated.theta - a double scalar value representing the mean of the Poisson distribution.
double scalar value representing the probability that a Poisson random
variable takes a value less than or equal to k.
public static double poissonProb(int k,
double theta)
Method poissonProb evaluates the probability function of
a Poisson random variable with parameter theta.
theta, which is the mean of the Poisson random variable,
must be positive. The probability function (with
) is
![]()
poissonProb evaluates this function directly, taking
logarithms and using the log gamma function.

k - the int argument for which the Poisson
probability function is to be evaluated.theta - a double scalar value representing the
mean of the Poisson distribution.
double scalar value representing the
probability that a Poisson random variable takes a
value equal to k.
public static double beta(double x,
double pin,
double qin)
Method beta evaluates the distribution function of a
beta random variable with parameters pin and qin.
This function is sometimes called the incomplete beta ratio and,
with p = pin and q = qin, is
denoted by
. It is given by
![]()
where
is the gamma function. The
value of the distribution function
is the
probability that the random variable takes a value less than or equal to
x.
The integral in the expression above is called the incomplete beta
function and is denoted by
. The
constant in the expression is the reciprocal of the beta function
(the incomplete function evaluated at one) and is denoted by
.
beta uses the method of Bosten and Battiste (1974).

x - a double, the argument at which the function is to be evaluated.pin - a double, the first beta distribution parameter.qin - a double, the second beta distribution parameter.
double, the probability that a beta random variable takes
on a value less than or equal to x.
public static double inverseBeta(double p,
double pin,
double qin)
Method inverseBeta evaluates the inverse distribution
function of a beta random variable with parameters pin and
qin, that is, with P = p,
p = pin, and q = qin, it
determines x (equal to
inverseBeta (p, pin, qin)), such that
![]()
where
is the gamma function. The
probability that the random variable takes a value less than or equal to
x is P.
p - a double, the probability for which the inverse of the
beta CDF is to be evaluated.pin - a double, the first beta distribution parameter.qin - a double, the second beta distribution parameter.
double, the probability that a beta random
variable takes a value less than or equal to this value is p.
public static double F(double x,
double dfn,
double dfd)
F evaluates the distribution function of a Snedecor's F
random variable with dfn numerator degrees of freedom and
dfd denominator degrees of freedom. The function is
evaluated by making a transformation to a beta random variable and then
using the function beta. If X is an
F variate with
and
degrees of freedom and
, then Y
is a beta variate with parameters
and
. F also uses a relationship
between F random variables that can be expressed as
follows:
![]()

x - a double, the argument at which
the function is to be evaluated.dfn - a double, the numerator degrees
of freedom. It must be positive.dfd - a double, the denominator degrees
of freedom. It must be positive.
double, the probability that an
F random variable takes on a value less than or
equal to x.
public static double inverseF(double p,
double dfn,
double dfd)
Method inverseF evaluates the inverse distribution
function of a Snedecor's F random variable with
dfn numerator degrees of freedom and dfd
denominator degrees of freedom. The function is evaluated by making a
transformation to a beta random variable and then using
inverseBeta. If X is an
F variate with
and
degrees of freedom and
, then Y
is a beta variate with parameters
and
. If
,
inverseF uses this relationship directly, otherwise, it
also uses a relationship between X random variables
that can be expressed as follows, using f, which is the
F cumulative distribution function:
![]()
p - a double, the probability for which the
inverse of the F distribution function is to
be evaluated. Argument p must be in the open
interval (0.0, 1.0).dfn - a double, the numerator degrees of
freedom. It must be positive.dfd - a double, the denominator degrees of
freedom. It must be positive.
double, the probability that an F
random variable takes a value less than or equal
to this value is p.
public static double hypergeometricProb(int k,
int sampleSize,
int defectivesInLot,
int lotSize)
Method hypergeometricProb evaluates the probability
function of a hypergeometric random variable with parameters
n, l, and m.
The hypergeometric random variable X can be thought
of as the number of items of a given type in a random sample of size
n that is drawn without replacement from a
population of size l containing m
items of this type. The probability function is:
![]()
where i = max(0, n - l + m).
hypergeometricProb evaluates the expression using log
gamma functions.
k - an int, the argument at which
the function is to be evaluated.sampleSize - an int, the sample size, n.defectivesInLot - an int, the number of defectives
in the lot, m.lotSize - an int, the lot size, l.
double, the probability that a
hypergeometric random variable takes on a value
equal to k.
public static double hypergeometric(int k,
int sampleSize,
int defectivesInLot,
int lotSize)
Method hypergeometric evaluates the distribution
function of a hypergeometric random variable with parameters
n, l, and m.
The hypergeometric random variable X can be thought
of as the number of items of a given type in a random sample of size
n that is drawn without replacement from a
population of size l containing m
items of this type. The probability function is
![]()
where
.
If k is greater than or equal to
i and less than or equal to
,
hypergeometric sums the terms in this expression for
j going from i up to
k. Otherwise, hypergeometric returns
0 or 1, as appropriate. So, as
to avoid rounding in the accumulation, hypergeometric
performs the summation differently depending on whether or not
k is greater than the mode of the distribution,
which is the greatest integer less than or equal to
.
k - an int, the argument at which
the function is to be evaluated.sampleSize - an int, the sample size, n.defectivesInLot - an int, the number of defectives
in the lot, m.lotSize - an int, the lot size, l.
double, the probability that a
hypergeometric random variable takes a value
less than or equal to k.
public static double gamma(double x,
double a)
Method gamma evaluates the distribution function,
F, of a gamma random variable with shape parameter
a; that is,
![]()
where
is the gamma function.
(The gamma function is the integral from
0 to
of the same integrand as
above). The value of the distribution function at the point
x is the probability that the random variable takes
a value less than or equal to x.
The gamma distribution is often defined as a two-parameter
distribution with a scale parameter b (which must
be positive), or even as a three-parameter distribution in which the
third parameter c is a location parameter. In the
most general case, the probability density function over
is
![]()
If T is such a random variable with parameters
a, b, and c,
the probability that
can be obtained from
gamma by setting
.
If X is less than a or if
X is less than or equal to 1.0,
gamma uses a series expansion. Otherwise, a continued
fraction expansion is used. (See Abramowitz and Stegun, 1964.)

x - a double scalar value representing the
argument at which the function is to be evaluated.a - a double scalar value representing the
shape parameter. This must be positive.
double scalar value representing the
probability that a gamma random variable takes
on a value less than or equal to x.
public static double inverseGamma(double p,
double a)
Method inverseGamma evaluates the inverse distribution
function of a gamma random variable with shape parameter
a, that is, it determines
, such that
![]()
where
is the gamma function. The
probability that the random variable takes a value less than or equal to
x is P. See the documentation
for routine gamma for further discussion of the gamma
distribution.
inverseGamma uses bisection and modified regula falsi
to invert the distribution function, which is evaluated using method
gamma.
p - a double scalar value representing the
probability at which the function is to be evaluated.a - a double scalar value representing the
shape parameter. This must be positive.
double scalar value representing the
probability that a gamma random variable takes a value
less than or equal to this value is p.public static double normal(double x)
Method normal evaluates the distribution function,
, of a standard normal (Gaussian) random
variable, that is,
![]()
The value of the distribution function at the point x is the probability that the random variable takes a value less than or equal to x.
The standard normal distribution (for which normal is
the distribution function) has mean of 0 and
variance of 1. The probability that a normal
random variable with mean
and variance
is less than y
is given by normal evaluated at
.
is evaluated by use of the complementary
error function, erfc. The relationship is:
![]()

x - a double scalar value representing the argument
at which the function is to be evaluated.
double scalar value representing the probability
that a normal variable takes a value less than or equal to x.public static double inverseNormal(double p)
Method inverseNormal evaluates the inverse of the
distribution function,
, of a standard normal
(Gaussian) random variable, that is, inverseNormal
, where
![]()
The value of the distribution function at the point x is the probability that the random variable takes a value less than or equal to x. The standard normal distribution has a mean of 0 and a variance of 1.
p - a double scalar value representing the probability
at which the function is to be evaluated.
double scalar value representing the probability
that a standard normal random variable takes a value
less than or equal to this value is p.
public static double chi(double chsq,
double df)
Method chi evaluates the distribution function,
F, of a chi-squared random variable with
df degrees of freedom, that is, with
, and
,
![]()
where
is the gamma function. The
value of the distribution function at the point x is
the probability that the random variable takes a value less than or
equal to x.
For
, chi uses the
Wilson-Hilferty approximation (Abramowitz and Stegun 1964, equation
26.4.17) to the normal distribution, and method normal
is used to evaluate the normal distribution function.
For
, chi uses series
expansions to evaluate the distribution function. If
, chi uses the
series 6.5.29 in Abramowitz and Stegun (1964), otherwise, it uses the
asymptotic expansion 6.5.32 in Abramowitz and Stegun.

chsq - a double scalar value representing the argument
at which the function is to be evaluated.df - a double scalar value representing the number
of degrees of freedom. This must be at least 0.5.
double scalar value representing the
probability that a chi-squared random variable
takes a value less than or equal to chsq.
public static double inverseChi(double p,
double df)
Method inverseChi evaluates the inverse distribution
function of a chi-squared random variable with df degrees
of freedom, that is, with P = p and
v = df, it determines x (equal
to inverseChi(p, df)), such that
![]()
where
is the gamma function. The
probability that the random variable takes a value less than or equal to
x is P.
For
, inverseChi uses
bisection, if
or
, or regula falsi to find the point at
which the chi-squared distribution function is equal to P.
The distribution function is evaluated using chi.
For
, a modified Wilson-Hilferty
approximation (Abramowitz and Stegun 1964, equation 26.4.18) to the
normal distribution is used, and inverseNormal is used to
evaluate the inverse of the normal distribution function. For
, the ordinary Wilson-Hilferty
approximation (Abramowitz and Stegun 1964, equation 26.4.17) is used.
p - a double scalar value representing the probability
for which the inverse chi-squared function is to be evaluated.df - a double scalar value representing the number of
degrees of freedom. This must be at least 0.5.
double scalar value representing the probability
that a chi-squared random variable takes a value less than or
equal to this value is p.
public static double studentsT(double t,
double df)
Method studentsT evaluates the distribution function of
a Student's t random variable with df
degrees of freedom. If the square of t is greater
than or equal to df, the relationship of a
t to an f random variable (and
subsequently, to a beta random variable) is exploited, and routine
beta is used. Otherwise, the method described by Hill
(1970) is used. If df is not an integer, if df
is greater than 19, or if df is greater than 200, a
Cornish-Fisher expansion is used to evaluate the distribution function.
If df is less than 20 and
is less than
2.0, a trigonometric series (see Abramowitz and
Stegun 1964, equations 26.7.3 and 26.7.4, with some rearrangement) is
used. For the remaining cases, a series given by Hill (1970) that
converges well for large values of t is used.

t - a double scalar value representing the argument
at which the function is to be evaluateddf - a double scalar value representing the number of
degrees of freedom. This must be at least one.
double scalar value representing the probability
that a Student's t random variable takes a value less than or
equal to t
public static double inverseStudentsT(double p,
double df)
inverseStudentsT evaluates the inverse distribution
function of a Student's t random variable with
df degrees of freedom. Let v = df. If
v equals 1 or
2, the inverse can be obtained in closed form, if
v is between 1 and 2, the relationship of a
t to a beta random variable is exploited and
inverseBeta is used to evaluate the inverse; otherwise the
algorithm of Hill (1970) is used. For small values of v
greater than 2, Hill's algorithm inverts an integrated expansion in
of the t density.
For larger values, an asymptotic inverse Cornish-Fisher type expansion
about normal deviates is used.
p - a double scalar value representing the probability
for which the inverse Student's t function is to be evaluated.df - a double scalar value representing the number of
degrees of freedom. This must be at least one.
double scalar value representing the probability
that a Student's t random variable takes a value less than or
equal to this value is p.
public static double Weibull(double x,
double gamma,
double alpha)
x - a double scalar value representing the argument
at which the function is to be evaluated. It must be non-negative.gamma - a double scalar value representing the shape parameter.alpha - a double scalar value representing the scale parameter.
double scalar value representing the probability
that a Weibull random variable takes a value less than or
equal to x
|
JMSLTM Numerical Library 3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||