Package moa.core
Class Statistics
- java.lang.Object
-
- moa.core.Statistics
-
public class Statistics extends Object
Class implementing some distributions, tests, etc. The code is mostly adapted from the CERN Jet Java libraries: Copyright 2001 University of Waikato Copyright 1999 CERN - European Organization for Nuclear Research. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. CERN and the University of Waikato make no representations about the suitability of this software for any purpose. It is provided "as is" without expressed or implied warranty.- Version:
- $Revision: 5616 $
- Author:
- peter.gedeck@pharma.Novartis.com, wolfgang.hoschek@cern.ch, Eibe Frank (eibe@cs.waikato.ac.nz), Richard Kirkby (rkirkby@cs.waikato.ac.nz)
-
-
Field Summary
Fields Modifier and Type Field Description protected static double
big
protected static double
biginv
protected static double
LOGPI
protected static double
MACHEP
Some constantsprotected static double
MAXGAM
protected static double
MAXLOG
protected static double
MINLOG
protected static double[]
P0
COEFFICIENTS FOR METHOD normalInverse() *protected static double[]
P1
protected static double[]
P2
protected static double[]
Q0
protected static double[]
Q1
protected static double[]
Q2
protected static double
SQRTH
protected static double
SQTPI
-
Constructor Summary
Constructors Constructor Description Statistics()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double
binomialStandardError(double p, int n)
Computes standard error for observed values of a binomial random variable.static double
chiSquaredProbability(double x, double v)
Returns chi-squared probability for given value and degrees of freedom.static double
errorFunction(double x)
Returns the error function of the normal distribution.static double
errorFunctionComplemented(double a)
Returns the complementary Error function of the normal distribution.static double
FProbability(double F, int df1, int df2)
Computes probability of F-ratio.static double
gamma(double x)
Returns the Gamma function of the argument.static double
incompleteBeta(double aa, double bb, double xx)
Returns the Incomplete Beta Function evaluated from zero to xx.static double
incompleteBetaFraction1(double a, double b, double x)
Continued fraction expansion #1 for incomplete beta integral.static double
incompleteBetaFraction2(double a, double b, double x)
Continued fraction expansion #2 for incomplete beta integral.static double
incompleteGamma(double a, double x)
Returns the Incomplete Gamma function.static double
incompleteGammaComplement(double a, double x)
Returns the Complemented Incomplete Gamma function.static double
lnGamma(double x)
Returns natural logarithm of gamma function.static double
normalInverse(double y0)
Returns the value, x, for which the area under the Normal (Gaussian) probability density function (integrated from minus infinity to x) is equal to the argument y (assumes mean is zero, variance is one).static double
normalProbability(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
p1evl(double x, double[] coef, int N)
Evaluates the given polynomial of degree N at x.static double
polevl(double x, double[] coef, int N)
Evaluates the given polynomial of degree N at x.static double
powerSeries(double a, double b, double x)
Power series for incomplete beta integral.static double
stirlingFormula(double x)
Returns the Gamma function computed by Stirling's formula.
-
-
-
Field Detail
-
MACHEP
protected static final double MACHEP
Some constants- See Also:
- Constant Field Values
-
MAXLOG
protected static final double MAXLOG
- See Also:
- Constant Field Values
-
MINLOG
protected static final double MINLOG
- See Also:
- Constant Field Values
-
MAXGAM
protected static final double MAXGAM
- See Also:
- Constant Field Values
-
SQTPI
protected static final double SQTPI
- See Also:
- Constant Field Values
-
SQRTH
protected static final double SQRTH
- See Also:
- Constant Field Values
-
LOGPI
protected static final double LOGPI
- See Also:
- Constant Field Values
-
big
protected static final double big
- See Also:
- Constant Field Values
-
biginv
protected static final double biginv
- See Also:
- Constant Field Values
-
P0
protected static final double[] P0
COEFFICIENTS FOR METHOD normalInverse() *
-
Q0
protected static final double[] Q0
-
P1
protected static final double[] P1
-
Q1
protected static final double[] Q1
-
P2
protected static final double[] P2
-
Q2
protected static final double[] Q2
-
-
Method Detail
-
binomialStandardError
public static double binomialStandardError(double p, int n)
Computes standard error for observed values of a binomial random variable.- Parameters:
p
- the probability of successn
- the size of the sample- Returns:
- the standard error
-
chiSquaredProbability
public static double chiSquaredProbability(double x, double v)
Returns chi-squared probability for given value and degrees of freedom. (The probability that the chi-squared variate will be greater than x for the given degrees of freedom.)- Parameters:
x
- the valuev
- the number of degrees of freedom- Returns:
- the chi-squared probability
-
FProbability
public static double FProbability(double F, int df1, int df2)
Computes probability of F-ratio.- Parameters:
F
- the F-ratiodf1
- the first number of degrees of freedomdf2
- the second number of degrees of freedom- Returns:
- the probability of the F-ratio.
-
normalProbability
public static double normalProbability(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).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.- Parameters:
a
- the z-value- Returns:
- the probability of the z value according to the normal pdf
-
normalInverse
public static double normalInverse(double y0)
Returns the value, x, for which the area under the Normal (Gaussian) probability density function (integrated from minus infinity to x) is equal to the argument y (assumes mean is zero, variance is one).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)).
- Parameters:
y0
- the area under the normal pdf- Returns:
- the z-value
-
lnGamma
public static double lnGamma(double x)
Returns natural logarithm of gamma function.- Parameters:
x
- the value- Returns:
- natural logarithm of gamma function
-
errorFunction
public static double errorFunction(double x)
Returns the error function of the normal distribution. The integral isx - 2 | | 2 erf(x) = -------- | exp( - t ) dt. sqrt(pi) | | - 0
Implementation: 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).
- Parameters:
x
- the argument to the function.
-
errorFunctionComplemented
public static double errorFunctionComplemented(double a)
Returns the complementary Error function of the normal distribution.1 - erf(x) = inf. - 2 | | 2 erfc(x) = -------- | exp( - t ) dt sqrt(pi) | | - x
Implementation: 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).
- Parameters:
a
- the argument to the function.
-
p1evl
public static double p1evl(double x, double[] coef, int N)
Evaluates the given polynomial of degree N at x. Evaluates polynomial when coefficient of N is 1.0. Otherwise same as polevl().2 N y = C + C x + C x +...+ C x 0 1 2 N Coefficients are stored in reverse order: coef[0] = C , ..., coef[N] = C . N 0
The function p1evl() assumes that coef[N] = 1.0 and is omitted from the array. Its calling arguments are otherwise the same as polevl().In the interest of speed, there are no checks for out of bounds arithmetic.
- Parameters:
x
- argument to the polynomial.coef
- the coefficients of the polynomial.N
- the degree of the polynomial.
-
polevl
public static double polevl(double x, double[] coef, int N)
Evaluates the given polynomial of degree N at x.2 N y = C + C x + C x +...+ C x 0 1 2 N Coefficients are stored in reverse order: coef[0] = C , ..., coef[N] = C . N 0
In the interest of speed, there are no checks for out of bounds arithmetic.- Parameters:
x
- argument to the polynomial.coef
- the coefficients of the polynomial.N
- the degree of the polynomial.
-
incompleteGamma
public static double incompleteGamma(double a, double x)
Returns the Incomplete Gamma function.- Parameters:
a
- the parameter of the gamma distribution.x
- the integration end point.
-
incompleteGammaComplement
public static double incompleteGammaComplement(double a, double x)
Returns the Complemented Incomplete Gamma function.- Parameters:
a
- the parameter of the gamma distribution.x
- the integration start point.
-
gamma
public static double gamma(double x)
Returns the Gamma function of the argument.
-
stirlingFormula
public static double stirlingFormula(double x)
Returns the Gamma function computed by Stirling's formula. The polynomial STIR is valid for 33 <= x <= 172.
-
incompleteBeta
public static double incompleteBeta(double aa, double bb, double xx)
Returns the Incomplete Beta Function evaluated from zero to xx.- Parameters:
aa
- the alpha parameter of the beta distribution.bb
- the beta parameter of the beta distribution.xx
- the integration end point.
-
incompleteBetaFraction1
public static double incompleteBetaFraction1(double a, double b, double x)
Continued fraction expansion #1 for incomplete beta integral.
-
incompleteBetaFraction2
public static double incompleteBetaFraction2(double a, double b, double x)
Continued fraction expansion #2 for incomplete beta integral.
-
powerSeries
public static double powerSeries(double a, double b, double x)
Power series for incomplete beta integral. Use when b*x is small and x not too close to 1.
-
-