Class HyperExp

  • All Implemented Interfaces:
    java.io.Serializable , jline.lang.Copyable

    
    public class HyperExp
    extends Markovian implements Serializable
                        

    A hyper-exponential distribution.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
      HyperExp(double p, double lambda1, double lambda2)
      HyperExp(double p, double lambda)
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      static HyperExp fitMeanAndSCV(double mean, double scv) Fit distribution with given mean and squared coefficient of variation (SCV=variance/mean^2)
      static HyperExp fitMeanAndSCVBalanced(double mean, double scv) Fit distribution with given squared coefficient of variation and balanced means i.e.
      double evalCDF(double t) Evaluates the cumulative distribution function at the given point.
      double evalLST(double s) Evaluate the Laplace-Stieltjes Transform at s
      double getMean() Gets the mean of this Markovian distribution.
      long getNumberOfPhases() Gets the number of phases in this Markovian distribution.
      double getRate() Gets the rate of this distribution (inverse of mean).
      double getSCV() Gets the squared coefficient of variation (SCV) of this distribution.
      double getSkewness() Gets the skewness of this distribution.
      double getVar() Gets the variance of this distribution.
      Array<double> sample(int n) Gets n samples from the distribution
      Array<double> sample(int n, Random random) Generates random samples from this distribution using the specified random generator.
      String toString()
      double mean() Kotlin-style property alias for getMean()
      double rate() Kotlin-style property alias for getRate()
      double scv() Kotlin-style property alias for getSCV()
      double skewness() Kotlin-style property alias for getSkewness()
      double var() Kotlin-style property alias for getVar()
      long numberOfPhases() Kotlin-style property alias for getNumberOfPhases()
      long numPhases() Kotlin-style property alias for getNumberOfPhases()
      • Methods inherited from class jline.lang.processes.Markovian

        D, acf, embedded, embeddedProb, evalCDF, evalMeanT, evalVarT, getACF, getEmbedded, getEmbeddedProb, getIDC, getIDI, getInitProb, getMoments, getMu, getPhi, getProcess, getSubgenerator, getVariance, idc, idi, initProb, moments, mu, phi, process, setMean, setProcess, setRate, subgenerator, variance
      • Methods inherited from class jline.lang.processes.Distribution

        evalProbInterval, getName, getNumParams, getParam, getSupport, isContinuous, isDisabled, isDiscrete, isImmediate, isMarkovian, name, numParams, param, setNumParams, setParam, support
      • Methods inherited from class jline.lang.Copyable

        copy
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HyperExp

        HyperExp(double p, double lambda1, double lambda2)
      • HyperExp

        HyperExp(double p, double lambda)
    • Method Detail

      • fitMeanAndSCV

         static HyperExp fitMeanAndSCV(double mean, double scv)

        Fit distribution with given mean and squared coefficient of variation (SCV=variance/mean^2)

      • fitMeanAndSCVBalanced

         static HyperExp fitMeanAndSCVBalanced(double mean, double scv)

        Fit distribution with given squared coefficient of variation and balanced means i.e., p/mu1 = (1-p)/mu2

      • evalCDF

         double evalCDF(double t)

        Evaluates the cumulative distribution function at the given point.

        Parameters:
        t - the point at which to evaluate the CDF
        Returns:

        the CDF value at point t

      • evalLST

         double evalLST(double s)

        Evaluate the Laplace-Stieltjes Transform at s

        Parameters:
        s - the Laplace domain variable
        Returns:

        the LST value at s

      • getMean

         double getMean()

        Gets the mean of this Markovian distribution.

        Returns:

        the mean value, or NaN if the process contains NaN values

      • getNumberOfPhases

         long getNumberOfPhases()

        Gets the number of phases in this Markovian distribution.

        Returns:

        the number of phases

      • getRate

         double getRate()

        Gets the rate of this distribution (inverse of mean).

        Returns:

        the rate value (1/mean)

      • getSCV

         double getSCV()

        Gets the squared coefficient of variation (SCV) of this distribution. SCV = Var(X) / E[X]^2.

        Returns:

        the squared coefficient of variation

      • getSkewness

         double getSkewness()

        Gets the skewness of this distribution. Skewness measures the asymmetry of the probability distribution.

        Returns:

        the skewness value

      • getVar

         double getVar()

        Gets the variance of this distribution. Computed as SCV * mean^2.

        Returns:

        the variance

      • sample

         Array<double> sample(int n)

        Gets n samples from the distribution

        Parameters:
        n - - the number of samples
        Returns:

        - n samples from the distribution

      • sample

         Array<double> sample(int n, Random random)

        Generates random samples from this distribution using the specified random generator.

        Parameters:
        n - the number of samples to generate
        random - the random number generator to use
        Returns:

        array of random samples

      • mean

         double mean()

        Kotlin-style property alias for getMean()

      • rate

         double rate()

        Kotlin-style property alias for getRate()

      • scv

         double scv()

        Kotlin-style property alias for getSCV()

      • skewness

         double skewness()

        Kotlin-style property alias for getSkewness()

      • var

         double var()

        Kotlin-style property alias for getVar()

      • numberOfPhases

         long numberOfPhases()

        Kotlin-style property alias for getNumberOfPhases()

      • numPhases

         long numPhases()

        Kotlin-style property alias for getNumberOfPhases()