Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.core
Class RandomVariates

    java.lang.Object
      java.util.Random
          weka.core.RandomVariates

All Implemented Interfaces:
  java.io.Serializable

    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)
See Also:
  Serialized Form

Constructor Summary
`RandomVariates()` Simply the constructor of super class
`RandomVariates(long seed)` Simply the constructor of super class

Method Summary
`static void` | `main(java.lang.String[] ops)` Main method for testing this class.
`double` | `nextErlang(int a)` Generate a value of a variate following standard Erlang distribution.
`double` | `nextExponential()` Generate a value of a variate following standard exponential distribution using simple inverse method.
`double` | `nextGamma(double a)` Generate a value of a variate following standard Gamma distribution with shape parameter a.

Methods inherited from class java.util.Random
`nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong, setSeed`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RandomVariates

    public RandomVariates()

  Simply the constructor of super class

### RandomVariates

    public RandomVariates(long seed)

  Simply the constructor of super class

  Parameters:
    `seed` - the seed in this random object

Method Detail

### 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

### 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
    `java.lang.Exception`

### 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
    `java.lang.Exception`

### main

    public static void main(java.lang.String[] ops)

  Main method for testing this class.

  Parameters:
    `ops` - # of variates/seed, default is 10/45

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD