|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.mahout.math.jet.math.Constants
org.apache.mahout.math.jet.stat.Probability
public class Probability
Partially deprecated until unit tests are in place. Until this time, this class/interface is unsupported.
Field Summary |
---|
Fields inherited from class org.apache.mahout.math.jet.math.Constants |
---|
BIG, BIG_INVERSE, LOGPI, MACHEP, MAXGAM, MAXLOG, MINLOG, SQRTH, SQTPI |
Constructor Summary | |
---|---|
protected |
Probability()
Makes this class non instantiable, but still let's others inherit from it. |
Method Summary | |
---|---|
static double |
beta(double a,
double b,
double x)
Returns the area from zero to x under the beta density function. |
static double |
betaComplemented(double a,
double b,
double x)
Deprecated. |
static double |
binomial(int k,
int n,
double p)
Deprecated. |
static double |
binomialComplemented(int k,
int n,
double p)
Deprecated. |
static double |
chiSquare(double v,
double x)
Deprecated. |
static double |
chiSquareComplemented(double v,
double x)
Deprecated. |
static double |
errorFunction(double x)
Deprecated. |
static double |
errorFunctionComplemented(double a)
Deprecated. |
static double |
gamma(double alpha,
double beta,
double x)
Returns the integral from zero to x of the gamma probability density function. |
static double |
gammaComplemented(double alpha,
double beta,
double x)
Returns the integral from x to infinity 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 |
negativeBinomialComplemented(int k,
int n,
double p)
Deprecated. |
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 |
normalInverse(double y0)
Deprecated. |
static double |
poisson(int k,
double mean)
Returns the sum of the first k terms of the Poisson distribution. |
static double |
poissonComplemented(int k,
double mean)
Deprecated. |
static double |
studentT(double k,
double t)
Deprecated. |
static double |
studentTInverse(double alpha,
int size)
Deprecated. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected Probability()
Method Detail |
---|
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 );
@Deprecated public static double betaComplemented(double a, double b, double x)
@Deprecated public static double binomial(int k, int n, double p)
k -- ( n ) j n-j > ( ) p (1-p) -- ( j ) j=0The terms are not summed directly; instead the incomplete beta integral is employed, according to the formula
y = binomial( k, n, p ) = Gamma.incompleteBeta( n-k, k+1, 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)).@Deprecated public static double binomialComplemented(int k, int n, double p)
n -- ( n ) j n-j > ( ) p (1-p) -- ( j ) j=k+1The terms are not summed directly; instead the incomplete beta integral is employed, according to the formula
y = binomialComplemented( k, n, p ) = Gamma.incompleteBeta( k+1, n-k, 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)).@Deprecated public static double chiSquare(double v, double x)
inf. - 1 | | v/2-1 -t/2 P( x | v ) = ----------- | t e dt v/2 - | | 2 | (v/2) - xwhere x is the Chi-square variable.
The incomplete gamma integral is used, according to the formula
y = chiSquare( v, x ) = incompleteGamma( v/2.0, x/2.0 ).
The arguments must both be positive.
v
- degrees of freedom.x
- integration end point.@Deprecated public static double chiSquareComplemented(double v, double x)
inf. - 1 | | v/2-1 -t/2 P( x | v ) = ----------- | t e dt v/2 - | | 2 | (v/2) - xwhere x is the Chi-square variable. The incomplete gamma integral is used, according to the formula y = chiSquareComplemented( v, x ) = incompleteGammaComplement( v/2.0, x/2.0 ). The arguments must both be positive.
v
- degrees of freedom.@Deprecated public static double errorFunction(double x)
x - 2 | | 2 erf(x) = -------- | exp( - t ) dt. sqrt(pi) | | - 0Implementation: For 0 <= |x| < 1, erf(x) = x * P4(x**2)/Q5(x**2); otherwise erf(x) = 1 - erfc(x).
Code adapted from the Java 2D Graph Package 2.4, which in turn is a port from the Cephes 2.2 Math Library (C).
x
- the argument to the function.@Deprecated public static double errorFunctionComplemented(double a)
1 - erf(x) = inf. - 2 | | 2 erfc(x) = -------- | exp( - t ) dt sqrt(pi) | | - xImplementation: For small x, erfc(x) = 1 - erf(x); otherwise rational approximations are computed.
Code adapted from the Java 2D Graph Package 2.4, which in turn is a port from the Cephes 2.2 Math Library (C).
a
- the argument to the function.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 gammaComplemented(double alpha, double beta, double x)
alpha - infinity beta | alpha-1 -beta t y = --------- | t e dt - | | (alpha) - xThe incomplete gamma integral is used, according to the relation
y = Gamma.incompleteGammaComplement( b, a*x ). TODO this method is inconsistent with gamma(alpha, beta, x)
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=0In 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)).@Deprecated public static double negativeBinomialComplemented(int k, int n, double p)
inf -- ( n+j-1 ) n j > ( ) p (1-p) -- ( j ) j=k+1The terms are not computed individually; instead the incomplete beta integral is employed, according to the formula
y = negativeBinomialComplemented( k, n, p ) = Gamma.incompleteBeta( k+1, n, 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) / 2where 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.@Deprecated public static double normalInverse(double y0)
For small arguments 0 < y < exp(-2), the program computes z = sqrt( -2.0 * log(y) ); then the approximation is x = z - log(z)/z - (1/z) P(1/z) / Q(1/z). There are two rational functions P/Q, one for 0 < y < exp(-32) and the other for y up to exp(-2). For larger arguments, w = y - 0.5, and x/sqrt(2pi) = w + w**3 R(w**2)/S(w**2)).
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.@Deprecated public static double poissonComplemented(int k, double mean)
inf. j -- -m m > e -- -- j! j=k+1The terms are not summed directly; instead the incomplete gamma integral is employed, according to the formula
y = poissonComplemented( k, m ) = Gamma.incompleteGamma( k+1, m ). The arguments must both be positive.
k
- start term.mean
- the mean of the poisson distribution.@Deprecated public static double studentT(double k, double t)
t - | | - | 2 -(k+1)/2 | ( (k+1)/2 ) | ( x ) ---------------------- | ( 1 + --- ) dx - | ( k ) sqrt( k pi ) | ( k/2 ) | | | - -inf.Relation to incomplete beta integral:
1 - studentT(k,t) = 0.5 * Gamma.incompleteBeta( k/2, 1/2, z ) where z = k/(k + t**2).
Since the function is symmetric about t=0, the area under the right tail of the density is found by calling the function with -t instead of t.
k
- degrees of freedom.t
- integration end point.@Deprecated public static double studentTInverse(double alpha, int size)
The function uses the studentT function to determine the return value iteratively.
alpha
- probabilitysize
- size of data set
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |