Package weka.core

Class RandomVariates

    • 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 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:
        Exception - if parameter less than 1
      • nextGamma

        public double nextGamma​(double a)
                         throws 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:
        Exception - if parameter not greater than 1
      • main

        public static void main​(String[] ops)
        Main method for testing this class.
        Parameters:
        ops - # of variates/seed, default is 10/45