Class Markovian

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Markovian(String name, int numParam) Creates a new Markovian distribution with the specified name and parameter count.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      Matrix D(int i) Gets the i-th matrix of the Markovian arrival process representation.
      double evalCDF(double t) Evaluates the cumulative distribution function at the given point.
      Array<double> evalCDF(Array<double> tset) Evaluates the cumulative distribution function at multiple points.
      double evalLST(double s) Evaluate the Laplace-Stieltjes Transform at s
      double evalMeanT(double t) Evaluates the mean count at time t.
      double evalVarT(double t) Evaluates the variance count at time t.
      Matrix getACF(Matrix lags) Gets the autocorrelation function at the specified lags.
      Matrix getEmbedded() Gets the embedded Markov chain transition matrix.
      Matrix getEmbeddedProb() Gets the stationary probability vector of the embedded Markov chain.
      double getIDC() Gets the index of dispersion for counts (IDC).
      double getIDI() Gets the index of dispersion for intervals (IDI).
      Matrix getInitProb() Gets the initial probability vector.
      double getMean() Gets the mean of this Markovian distribution.
      void setMean(double newMean) Sets the mean of this Markovian distribution by scaling the process.
      List<Double> getMoments() Gets the first three moments of this distribution.
      Matrix getMu() Gets the diagonal rate matrix containing the negative diagonal elements of D0.
      long getNumberOfPhases() Gets the number of phases in this Markovian distribution.
      Matrix getPhi() Gets the exit probability vector (phi).
      MatrixCell getProcess() Gets the matrix representation of this Markovian process.
      void setProcess(MatrixCell D) Sets the matrix representation of this Markovian process.
      double getRate() Gets the rate of this distribution (inverse of mean).
      void setRate(double newRate) Sets the rate of this Markovian distribution by scaling the process.
      double getSCV() Gets the squared coefficient of variation (SCV) of this distribution.
      double getSkewness() Gets the skewness of this distribution.
      Matrix getSubgenerator()
      double getVar() Gets the variance of this distribution.
      double getVariance()
      Array<double> sample(int n) Generates random samples from this distribution using default random generator.
      Array<double> sample(int n, Random random) Generates random samples from this distribution using the specified random generator.
      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()
      double variance() Kotlin-style property alias for getVariance()
      Matrix acf(int maxLag) Kotlin-style property alias for getACF()
      Matrix embedded() Kotlin-style property alias for getEmbedded()
      Matrix embeddedProb() Kotlin-style property alias for getEmbeddedProb()
      double idc() Kotlin-style property alias for getIDC()
      double idi() Kotlin-style property alias for getIDI()
      Matrix initProb() Kotlin-style property alias for getInitProb()
      List<Double> moments() Kotlin-style property alias for getMoments()
      Matrix mu() Kotlin-style property alias for getMu()
      long numberOfPhases() Kotlin-style property alias for getNumberOfPhases()
      long numPhases() Kotlin-style property alias for getNumberOfPhases()
      Matrix phi() Kotlin-style property alias for getPhi()
      MatrixCell process() Kotlin-style property alias for getProcess()
      Matrix subgenerator() Kotlin-style property alias for getSubgenerator()
      • 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

      • Markovian

        Markovian(String name, int numParam)
        Creates a new Markovian distribution with the specified name and parameter count.
        Parameters:
        name - the name of this distribution type
        numParam - the number of parameters
    • Method Detail

      • D

         Matrix D(int i)

        Gets the i-th matrix of the Markovian arrival process representation.

        Parameters:
        i - the matrix index (0 for D0, 1 for D1, etc.
        Returns:

        the matrix at index i

      • 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

      • evalCDF

         Array<double> evalCDF(Array<double> tset)

        Evaluates the cumulative distribution function at multiple points.

        Parameters:
        tset - array of points at which to evaluate the CDF
        Returns:

        array of CDF values

      • evalLST

         double evalLST(double s)

        Evaluate the Laplace-Stieltjes Transform at s

        Parameters:
        s - the Laplace domain variable
        Returns:

        the LST value at s

      • evalMeanT

         double evalMeanT(double t)

        Evaluates the mean count at time t.

        Parameters:
        t - the time point
        Returns:

        the mean count at time t

      • evalVarT

         double evalVarT(double t)

        Evaluates the variance count at time t.

        Parameters:
        t - the time point
        Returns:

        the variance count at time t

      • getACF

         Matrix getACF(Matrix lags)

        Gets the autocorrelation function at the specified lags.

        Parameters:
        lags - matrix of lag values
        Returns:

        matrix of autocorrelation values

      • getEmbedded

         Matrix getEmbedded()

        Gets the embedded Markov chain transition matrix.

        Returns:

        the embedded chain matrix

      • getEmbeddedProb

         Matrix getEmbeddedProb()

        Gets the stationary probability vector of the embedded Markov chain.

        Returns:

        the embedded chain stationary probabilities

      • getIDC

         double getIDC()

        Gets the index of dispersion for counts (IDC).

        Returns:

        the IDC value

      • getIDI

         double getIDI()

        Gets the index of dispersion for intervals (IDI). For renewal processes, IDI = IDC.

        Returns:

        the IDI value

      • getInitProb

         Matrix getInitProb()

        Gets the initial probability vector.

        Returns:

        the initial probabilities

      • getMean

         double getMean()

        Gets the mean of this Markovian distribution.

        Returns:

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

      • setMean

         void setMean(double newMean)

        Sets the mean of this Markovian distribution by scaling the process.

        Parameters:
        newMean - the new mean value
      • getMoments

         List<Double> getMoments()

        Gets the first three moments of this distribution.

        Returns:

        list containing the first, second, and third moments

      • getMu

         Matrix getMu()

        Gets the diagonal rate matrix containing the negative diagonal elements of D0.

        Returns:

        column vector of rates

      • getNumberOfPhases

         long getNumberOfPhases()

        Gets the number of phases in this Markovian distribution.

        Returns:

        the number of phases

      • getPhi

         Matrix getPhi()

        Gets the exit probability vector (phi).

        Returns:

        column vector of exit probabilities for each phase

      • getProcess

         MatrixCell getProcess()

        Gets the matrix representation of this Markovian process.

        Returns:

        MatrixCell containing D0, D1, ... matrices

      • setProcess

         void setProcess(MatrixCell D)

        Sets the matrix representation of this Markovian process.

        Parameters:
        D - MatrixCell containing D0, D1, ...
      • getRate

         double getRate()

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

        Returns:

        the rate value (1/mean)

      • setRate

         void setRate(double newRate)

        Sets the rate of this Markovian distribution by scaling the process.

        Parameters:
        newRate - the new rate value
      • 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)

        Generates random samples from this distribution using default random generator.

        Parameters:
        n - the number of samples to generate
        Returns:

        array of random samples

      • 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()

      • variance

         double variance()

        Kotlin-style property alias for getVariance()

      • acf

         Matrix acf(int maxLag)

        Kotlin-style property alias for getACF()

      • embedded

         Matrix embedded()

        Kotlin-style property alias for getEmbedded()

      • idc

         double idc()

        Kotlin-style property alias for getIDC()

      • idi

         double idi()

        Kotlin-style property alias for getIDI()

      • initProb

         Matrix initProb()

        Kotlin-style property alias for getInitProb()

      • mu

         Matrix mu()

        Kotlin-style property alias for getMu()

      • numberOfPhases

         long numberOfPhases()

        Kotlin-style property alias for getNumberOfPhases()

      • numPhases

         long numPhases()

        Kotlin-style property alias for getNumberOfPhases()

      • phi

         Matrix phi()

        Kotlin-style property alias for getPhi()