public class Probability extends Constants
Implementation:
| Modifier and Type | Field and Description | 
|---|---|
| protected static double[] | P0COEFFICIENTS FOR METHOD  normalInverse()   * | 
| protected static double[] | P1 | 
| protected static double[] | P2 | 
| protected static double[] | Q0 | 
| protected static double[] | Q1 | 
| protected static double[] | Q2 | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | Probability()Makes this class non instantiable, but still let's others inherit from it. | 
| 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 | betaComplemented(double a,
                double b,
                double x)Returns the area under the right hand tail (from x to
 infinity) of the beta density function. | 
| static double | binomial(int k,
        int n,
        double p)Returns the sum of the terms 0 through k of the Binomial
 probability density. | 
| static double | binomialComplemented(int k,
                    int n,
                    double p)Returns the sum of the terms k+1 through n of the Binomial
 probability density. | 
| static double | chiSquare(double v,
         double x)Returns the area under the left hand tail (from 0 to x)
 of the Chi square probability density function with
 v degrees of freedom. | 
| static double | chiSquareComplemented(double v,
                     double x)Returns the area under the right hand tail (from x to
 infinity) of the Chi square probability density function
 with v degrees of freedom. | 
| static double | errorFunction(double x)Returns the error function of the normal distribution; formerly named erf. | 
| static double | errorFunctionComplemented(double a)Returns the complementary Error function of the normal distribution; formerly named erfc. | 
| static double | gamma(double a,
     double b,
     double x)Returns the integral from zero to x of the gamma probability
 density function. | 
| static double | gammaComplemented(double a,
                 double b,
                 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)Returns the sum of the terms k+1 to infinity 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 | 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); formerly named ndtri. | 
| 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)Returns the sum of the terms k+1 to Infinity of the Poisson distribution. | 
| static double | studentT(double k,
        double t)Returns the integral from minus infinity to t of the Student-t 
 distribution with k > 0 degrees of freedom. | 
| static double | studentTInverse(double alpha,
               int size)Returns the value, t, for which the area under the
 Student-t probability density function (integrated from
 minus infinity to t) is equal to 1-alpha/2. | 
protected static final double[] P0
protected static final double[] Q0
protected static final double[] P1
protected static final double[] Q1
protected static final double[] P2
protected static final double[] Q2
protected Probability()
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)   -
                         0
 
 This 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 betaComplemented(double a,
                      double b,
                      double x)
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)).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)).public static double chiSquare(double v,
               double x)
                        throws ArithmeticException
                                  inf.
                                    -
                        1          | |  v/2-1  -t/2
  P( x | v )   =   -----------     |   t      e     dt
                    v/2  -       | |
                   2    | (v/2)   -
                                   x
 
 where 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.ArithmeticExceptionpublic static double chiSquareComplemented(double v,
                           double x)
                                    throws ArithmeticException
                                  inf.
                                    -
                        1          | |  v/2-1  -t/2
  P( x | v )   =   -----------     |   t      e     dt
                    v/2  -       | |
                   2    | (v/2)   -
                                   x
 
 where 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.ArithmeticExceptionpublic static double errorFunction(double x)
                            throws ArithmeticException
                           x 
                            -
                 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).
a - the argument to the function.ArithmeticExceptionpublic static double errorFunctionComplemented(double a)
                                        throws ArithmeticException
  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).
a - the argument to the function.ArithmeticExceptionpublic static double gamma(double a,
           double b,
           double x)
                x
        b       -
       a       | |   b-1  -at
 y =  -----    |    t    e    dt
       -     | |
      | (b)   -
               0
 
 The incomplete gamma integral is used, according to the
 relation
 y = Gamma.incompleteGamma( b, a*x ).a - the paramater a (alpha) of the gamma distribution.b - the paramater b (beta, lambda) of the gamma distribution.x - integration end point.public static double gammaComplemented(double a,
                       double b,
                       double x)
               inf.
        b       -
       a       | |   b-1  -at
 y =  -----    |    t    e    dt
       -     | |
      | (b)   -
               x
 
 The incomplete gamma integral is used, according to the
 relation
 y = Gamma.incompleteGammaComplement( b, a*x ).
a - the paramater a (alpha) of the gamma distribution.b - the paramater b (beta, lambda) 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)).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)
                     throws ArithmeticException
                            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.ArithmeticExceptionpublic static double normal(double mean,
            double variance,
            double x)
                     throws ArithmeticException
                            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.ArithmeticExceptionpublic static double normalInverse(double y0)
                            throws ArithmeticException
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)).
ArithmeticExceptionpublic static double poisson(int k,
             double mean)
                      throws ArithmeticException
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.ArithmeticExceptionpublic static double poissonComplemented(int k,
                         double mean)
                                  throws ArithmeticException
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.ArithmeticExceptionpublic static double studentT(double k,
              double t)
                       throws ArithmeticException
                                      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.ArithmeticExceptionpublic static double studentTInverse(double alpha,
                     int size)
The function uses the studentT function to determine the return value iteratively.
alpha - probabilitysize - size of data setCopyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.