All Packages  Class Hierarchy  This Package  Previous  Next  Index  WEKA's home

Class weka.core.RandomVariates

java.lang.Object
    |
    +----java.util.Random
            |
            +----weka.core.RandomVariates

public final class RandomVariates
extends java.util.Random
Class implementing some simple random variates generator.

Version:
$Revision: 1.1 $
Author:
Xin Xu (xx5@cs.waikato.ac.nz)

Constructor Index

 o RandomVariates()
Simply the constructor of super class
 o RandomVariates(long)
Simply the constructor of super class

Method Index

 o main(String[])
Main method for testing this class.
 o nextErlang(int)
Generate a value of a variate following standard Erlang distribution.
 o nextExponential()
Generate a value of a variate following standard exponential distribution using simple inverse method.

Variates related to standard Exponential can be generated using simple transformations.

 o nextGamma(double)
Generate a value of a variate following standard Gamma distribution with shape parameter a.

If a>1, it uses a rejection method developed by Minh(1988)"Generating Gamma Variates", ACM Trans.

Constructor Detail

 o RandomVariates
public RandomVariates()
          Simply the constructor of super class
 o RandomVariates
public RandomVariates(long seed)
          Simply the constructor of super class
Parameters:
seed - the seed in this random object

Method Detail

 o nextExponential
public double nextExponential()
          Generate a value of a variate following standard exponential distribution using simple inverse method.

Variates related to standard Exponential can be generated using simple transformations.

Returns:
a value of the variate
 o nextErlang
public double nextErlang(int a) throws java.lang.Exception
          Generate a value of a variate following standard Erlang distribution. It can be used when the shape parameter is an integer and not too large, say, <100. When the parameter is not an integer (which is often named Gamma distribution) or is large, use nextGamma(double a) instead.
Parameters:
a - the shape parameter, must be no less than 1
Returns:
a value of the variate
Throws:
if - parameter less than 1
 o nextGamma
public double nextGamma(double a) throws java.lang.Exception
          Generate a value of a variate following standard Gamma distribution with shape parameter a.

If a>1, it uses a rejection method developed by Minh(1988)"Generating Gamma Variates", ACM Trans. on Math. Software, Vol.14, No.3, pp261-266.
If a<1, it uses the algorithm "GS" developed by Ahrens and Dieter(1974) "COMPUTER METHODS FOR SAMPLING FROM GAMMA, BETA, POISSON AND BINOMIAL DISTRIBUTIONS", COMPUTING, 12 (1974), pp223-246, and further implemented in Fortran by Ahrens, Kohrt and Dieter(1983) "Algorithm 599: sampling from Gamma and Poisson distributions", ACM Trans. on Math. Software, Vol.9 No.2, pp255-257.

Variates related to standard Gamma can be generated using simple transformations.

Parameters:
a - the shape parameter, must be greater than 1
Returns:
a value of the variate
Throws:
if - parameter not greater than 1
 o main
public static void main(java.lang.String ops[])
          Main method for testing this class.
Parameters:
ops - # of variates/seed, default is 10/45

All Packages  Class Hierarchy  This Package  Previous  Next  Index  WEKA's home