public final class Probability extends Object
Modifier and Type | Method and Description |
---|---|
static double |
beta(double a,
double b,
double x)
Returns the area from zero to x under the beta density function.
|
static double |
gamma(double alpha,
double beta,
double x)
Returns the integral from zero to x of the gamma probability density function.
|
static double |
negativeBinomial(int k,
int n,
double p)
Returns the sum of the terms 0 through k of the Negative Binomial Distribution.
|
static double |
normal(double a)
Returns the area under the Normal (Gaussian) probability density function, integrated from minus infinity to
x (assumes mean is zero, variance is one).
|
static double |
normal(double mean,
double variance,
double x)
Returns the area under the Normal (Gaussian) probability density function, integrated from minus infinity to
x.
|
static double |
poisson(int k,
double mean)
Returns the sum of the first k terms of the Poisson distribution.
|
public static double beta(double a, double b, double x)
x - - | (a+b) | | a-1 b-1 P(x) = ---------- | t (1-t) dt - - | | | (a) | (b) - 0This function is identical to the incomplete beta integral function Gamma.incompleteBeta(a, b, x). The complemented function is 1 - P(1-x) = Gamma.incompleteBeta( b, a, x );
public static double gamma(double alpha, double beta, double x)
alpha - x beta | alpha-1 -beta t y = --------- | t e dt - | | (alpha) - 0The incomplete gamma integral is used, according to the relation y = Gamma.incompleteGamma( alpha, beta*x ). See http://en.wikipedia.org/wiki/Gamma_distribution#Probability_density_function
alpha
- the shape parameter of the gamma distribution.beta
- the rate parameter of the gamma distribution.x
- integration end point.public static double negativeBinomial(int k, int n, double p)
k
-- ( n+j-1 ) n j
> ( ) p (1-p)
-- ( j )
j=0
In a sequence of Bernoulli trials, this is the probability that k or fewer failures precede the
n-th success. The terms are not computed individually; instead the incomplete beta integral is employed, according to the formula
y = negativeBinomial( k, n, p ) = Gamma.incompleteBeta( n, k+1, p ). All arguments must be positive,
k
- end term.n
- the number of trials.p
- the probability of success (must be in (0.0,1.0)).public static double normal(double a)
x
-
1 | | 2
normal(x) = --------- | exp( - t /2 ) dt
sqrt(2pi) | |
-
-inf.
= ( 1 + erf(z) ) / 2
= erfc(z) / 2
where z = x/sqrt(2). Computation is via the functions errorFunction and
errorFunctionComplement.
Computed using method 26.2.17 from Abramovitz and Stegun (see http://www.math.sfu.ca/~cbm/aands/page_932.htm and http://en.wikipedia.org/wiki/Normal_distribution#Numerical_approximations_of_the_normal_cdf
public static double normal(double mean, double variance, double x)
x
-
1 | | 2
normal(x) = --------- | exp( - (t-mean) / 2v ) dt
sqrt(2pi*v)| |
-
-inf.
where v = variance. Computation is via the functions errorFunction.mean
- the mean of the normal distribution.variance
- the variance of the normal distribution.x
- the integration limit.public static double poisson(int k, double mean)
k j -- -m m > e -- -- j! j=0The terms are not summed directly; instead the incomplete gamma integral is employed, according to the relation
y = poisson( k, m ) = Gamma.incompleteGammaComplement( k+1, m ). The arguments must both be positive.
k
- number of terms.mean
- the mean of the poisson distribution.Copyright © 2008–2017 The Apache Software Foundation. All rights reserved.