jphase.fit
Class EMHyperExpoFit

java.lang.Object
  extended by jphase.fit.ContPhaseFitter
      extended by jphase.fit.MLContPhaseFitter
          extended by 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 matches the likelilihood of heavy tailed distributions to the class of Hyper-Exponential distributions.

Author:
Juan Fernando Perez

Field Summary
static double precision
          Precision for the convergence criterion in the algorithm
static double precisionParam
          Precision for the convergence criterion in the coefficient of variance
 
Fields inherited from class jphase.fit.ContPhaseFitter
data, var
 
Constructor Summary
EMHyperExpoFit(double[] data)
           
 
Method Summary
 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
clone, equals, finalize, 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)
Parameters:
data -
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