Class HyperExp
-
- All Implemented Interfaces:
-
java.io.Serializable,jline.lang.Copyable
public class HyperExp extends Markovian implements Serializable
A hyper-exponential distribution.
-
-
Method Summary
Modifier and Type Method Description static HyperExpfitMeanAndSCV(double mean, double scv)Fit distribution with given mean and squared coefficient of variation (SCV=variance/mean^2) static HyperExpfitMeanAndSCVBalanced(double mean, double scv)Fit distribution with given squared coefficient of variation and balanced means i.e. doubleevalCDF(double t)Evaluates the cumulative distribution function at the given point. doubleevalLST(double s)Evaluate the Laplace-Stieltjes Transform at s doublegetMean()Gets the mean of this Markovian distribution. longgetNumberOfPhases()Gets the number of phases in this Markovian distribution. doublegetRate()Gets the rate of this distribution (inverse of mean). doublegetSCV()Gets the squared coefficient of variation (SCV) of this distribution. doublegetSkewness()Gets the skewness of this distribution. doublegetVar()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. StringtoString()doublemean()Kotlin-style property alias for getMean() doublerate()Kotlin-style property alias for getRate() doublescv()Kotlin-style property alias for getSCV() doubleskewness()Kotlin-style property alias for getSkewness() doublevar()Kotlin-style property alias for getVar() longnumberOfPhases()Kotlin-style property alias for getNumberOfPhases() longnumPhases()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
-
-
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 generaterandom- 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()
-
-
-
-