edu.northwestern.at.utils.math.distributions
Class Normal

java.lang.Object
  extended by edu.northwestern.at.utils.math.distributions.Normal

public class Normal
extends java.lang.Object

Normal distribution functions.


Constructor Summary
protected Normal()
          Make class non-instantiable but inheritable.
 
Method Summary
static double normal(double z)
          Compute probability for normal distribution.
static double normalInverse(double p)
          Compute percentage point for normal distribution.
static double normalInverseBad(double p)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Normal

protected Normal()
Make class non-instantiable but inheritable.

Method Detail

normal

public static double normal(double z)
Compute probability for normal distribution.

Parameters:
z - Percentage point of normal distribution.
Returns:
The corresponding probabiity for the Student t distribution.

Uses the relationship between the Normal and Gaussian Error distributions.


normalInverse

public static double normalInverse(double p)
                            throws java.lang.IllegalArgumentException
Compute percentage point for normal distribution.

Parameters:
p - Probability value.
Returns:
The corresponding approximate percentage point for the normal distribution.

See Wichura, M. J. (1988) Algorithm AS 241: The Percentage Points of the Normal Distribution. Applied Statistics, 37, 477-484. The result is generally accurate to about 10-12 decimal digits. We improve the result from Wichura's estimate using two iterations of a Taylor series, generally resulting in about 15 decimal digits of accuracy. See Kennedy, W. J. and Gentle, James E. _Statistical Computing_, Marcel Dekker, 1980, pp. 94 for a discussion of the Taylor series improvement.

Throws:
java.lang.IllegalArgumentException

normalInverseBad

public static double normalInverseBad(double p)