jphase.fit

## Class EMHyperExpoFit

- java.lang.Object
- - jphase.fit.ContPhaseFitter
  - - jphase.fit.MLContPhaseFitter
    - - jphase.fit.EMHyperExpoFit

- All Implemented Interfaces:
    PhaseFitter

      public class EMHyperExpoFit
      extends MLContPhaseFitter

  This class implements the Maximum Likelihood method proposed by Khayari, Sadre and Haverkort in "Fitting world-wide web request traces with the EM algorithm", 2003. The method returns a Hyper-Exponential distribution, a subclass of Phase-type distributions.
  Version:
    1.0
  Author:
    Juan F. Pérez

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static double` | `precision` Precision for the convergence criterion in the algorithm
    `static double` | `precisionParam` Precision for the convergence criterion in the coefficient of variance

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EMHyperExpoFit(double[] data)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `doFitN(double[] data)` This method implements the EM algorithm from the data, with the specified number of exponential phases
    `DenseContPhaseVar` | `fit()` Executes the fitting procedure to find the parameter set

    - ### Methods inherited from class jphase.fit.MLContPhaseFitter

      `getLogLikelihood`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### precision

          public static double precision

      Precision for the convergence criterion in the algorithm

    - #### precisionParam

          public static double precisionParam

      Precision for the convergence criterion in the coefficient of variance

  - ### Constructor Detail

    - #### EMHyperExpoFit

          public EMHyperExpoFit(double[] data)

      See Also:
        `MLContPhaseFitter.MLContPhaseFitter(double[])`

  - ### Method Detail

    - #### fit

          public DenseContPhaseVar fit()

      Description copied from interface: `PhaseFitter`
      Executes the fitting procedure to find the parameter set
      Specified by:
        `fit` in interface `PhaseFitter`
      Specified by:
        `fit` in class `ContPhaseFitter`
      Returns:
        HyperExponential variable with the best fit
      See Also:
        `PhaseFitter.fit()`

    - #### doFitN

          public double doFitN(double[] data)

      This method implements the EM algorithm from the data, with the specified number of exponential phases
      Parameters:
        `data` - non-negative data trace from independent experiments
      Returns:
        The loglikelihood of the solution found. The values of the parameters are stored in the attributes probs and rates