Class Coxian

All Implemented Interfaces:
Serializable, Copyable
Direct Known Subclasses:
Cox2

public class Coxian extends Markovian
A general Coxian distribution with n phases.
See Also:
  • Constructor Details

  • Method Details

    • fitCentral

      public static Coxian fitCentral(double mean, double var, double skew)
    • fitMeanAndSCV

      public static Coxian fitMeanAndSCV(double mean, double var, double skew)
    • fitMeanAndSCV

      public static Coxian fitMeanAndSCV(double mean, double SCV)
    • evalCDF

      public double evalCDF(double t)
      Description copied from class: Markovian
      Evaluates the cumulative distribution function at the given point.
      Overrides:
      evalCDF in class Markovian
      Parameters:
      t - the point at which to evaluate the CDF
      Returns:
      the CDF value at point t
    • evalLST

      public double evalLST(double s)
      Description copied from class: Distribution
      Evaluate the Laplace-Stieltjes Transform at s
      Overrides:
      evalLST in class Markovian
      Parameters:
      s - the Laplace domain variable
      Returns:
      the LST value at s
    • getMean

      public double getMean()
      Description copied from class: Markovian
      Gets the mean of this Markovian distribution.
      Overrides:
      getMean in class Markovian
      Returns:
      the mean value, or NaN if the process contains NaN values
    • getMu

      public Matrix getMu()
      Description copied from class: Markovian
      Gets the diagonal rate matrix containing the negative diagonal elements of D0.
      Overrides:
      getMu in class Markovian
      Returns:
      column vector of rates
    • getNumberOfPhases

      public long getNumberOfPhases()
      Description copied from class: Markovian
      Gets the number of phases in this Markovian distribution.
      Overrides:
      getNumberOfPhases in class Markovian
      Returns:
      the number of phases
    • getFeatureName

      public String getFeatureName()
      "Cox2" at two phases, "Coxian" otherwise. The registry carries both names, and the Cox2 entry can only mean the two-phase Coxian: MATLAB has no Cox2 OBJECT to mark, since Cox2 there is a static factory returning a Coxian, and the C++ port already gives every two-phase Coxian ProcessType::COX2. Reading the entry off the phase count is therefore the one reading all four codebases can share, and the only one under which the name is reachable at all. The FeatureSet generalization table keeps a solver that declares just "Coxian" accepting.
      Overrides:
      getFeatureName in class Distribution
      Returns:
      the FeatureSet entry naming this distribution
    • getPhi

      public Matrix getPhi()
      Description copied from class: Markovian
      Gets the exit probability vector (phi).
      Overrides:
      getPhi in class Markovian
      Returns:
      column vector of exit probabilities for each phase
    • getRate

      public double getRate()
      Description copied from class: Distribution
      Gets the rate of this distribution (inverse of mean).
      Overrides:
      getRate in class Markovian
      Returns:
      the rate value (1/mean)
    • getSCV

      public double getSCV()
      Description copied from class: Distribution
      Gets the squared coefficient of variation (SCV) of this distribution. SCV = Var(X) / E[X]^2.
      Overrides:
      getSCV in class Markovian
      Returns:
      the squared coefficient of variation
    • getSkewness

      public double getSkewness()
      Description copied from class: Distribution
      Gets the skewness of this distribution. Skewness measures the asymmetry of the probability distribution.
      Overrides:
      getSkewness in class Markovian
      Returns:
      the skewness value
    • getVar

      public double getVar()
      Description copied from class: Distribution
      Gets the variance of this distribution. Computed as SCV * mean^2.
      Overrides:
      getVar in class Markovian
      Returns:
      the variance
    • sample

      public double[] sample(int n)
      Description copied from class: Distribution
      Generates random samples from this distribution using default random generator.
      Overrides:
      sample in class Markovian
      Parameters:
      n - the number of samples to generate
      Returns:
      array of random samples
    • sample

      public double[] sample(int n, Random random)
      Description copied from class: Distribution
      Generates random samples from this distribution using the specified random generator.
      Overrides:
      sample in class Markovian
      Parameters:
      n - the number of samples to generate
      random - the random number generator to use
      Returns:
      array of random samples
    • mean

      public double mean()
      Property alias for getMean
      Overrides:
      mean in class Markovian
    • rate

      public double rate()
      Property alias for getRate
      Overrides:
      rate in class Markovian
    • scv

      public double scv()
      Property alias for getSCV
      Overrides:
      scv in class Markovian
    • skewness

      public double skewness()
      Property alias for getSkewness
      Overrides:
      skewness in class Markovian
    • var

      public double var()
      Property alias for getVar
      Overrides:
      var in class Markovian
    • mu

      public Matrix mu()
      Property alias for getMu
      Overrides:
      mu in class Markovian
    • phi

      public Matrix phi()
      Property alias for getPhi
      Overrides:
      phi in class Markovian
    • numberOfPhases

      public long numberOfPhases()
      Property alias for getNumberOfPhases
      Overrides:
      numberOfPhases in class Markovian
    • numPhases

      public long numPhases()
      Property alias for getNumberOfPhases
      Overrides:
      numPhases in class Markovian