SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.stats.hmm.mixture.distribution

Class ExponentialMixtureDistribution

• java.lang.Object
• com.numericalmethod.suanshu.stats.hmm.mixture.distribution.ExponentialMixtureDistribution
• All Implemented Interfaces:
MixtureDistribution

public class ExponentialMixtureDistribution
extends Object
implements MixtureDistribution
The HMM states use the Exponential distribution to model the observations.
• Constructor Summary

Constructors
Constructor and Description
ExponentialMixtureDistribution(Double[] rates)
Constructs an Exponential distribution for each state in the HMM model.
• Method Summary

All Methods
Modifier and Type Method and Description
Double[] getMStepParams(double[] observations, Vector[] u)
Maximize, for each state, the log-likelihood of the distribution with respect to the observations and current estimators.
Double[] getParams()
Get the parameters, for each state, of the distribution.
ProbabilityDistribution[] newDistributions()
Get the distributions (possibly differently parameterized) for all states.
MixtureDistribution newMixtureDistribution(Object[] param)
Construct a new distribution from a set of parameters, one set per state.
RandomNumberGenerator[] newRandomNumberGenerators()
Get the random number generators corresponding to the distributions (possibly differently parameterized) for all states.
• Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• Constructor Detail

• ExponentialMixtureDistribution

public ExponentialMixtureDistribution(Double[] rates)
Constructs an Exponential distribution for each state in the HMM model.
Parameters:
rates - the rates
• Method Detail

• getParams

public Double[] getParams()
Description copied from interface: MixtureDistribution
Get the parameters, for each state, of the distribution.
Specified by:
getParams in interface MixtureDistribution
Returns:
the parameters, for each state, of the distribution
• newRandomNumberGenerators

public RandomNumberGenerator[] newRandomNumberGenerators()
Description copied from interface: MixtureDistribution
Get the random number generators corresponding to the distributions (possibly differently parameterized) for all states.
Specified by:
newRandomNumberGenerators in interface MixtureDistribution
Returns:
the random number generators corresponding to the distributions
• newDistributions

public ProbabilityDistribution[] newDistributions()
Description copied from interface: MixtureDistribution
Get the distributions (possibly differently parameterized) for all states.
Specified by:
newDistributions in interface MixtureDistribution
Returns:
the distributions
• getMStepParams

public Double[] getMStepParams(double[] observations,
Vector[] u)
Description copied from interface: MixtureDistribution
Maximize, for each state, the log-likelihood of the distribution with respect to the observations and current estimators.
Specified by:
getMStepParams in interface MixtureDistribution
Parameters:
observations - the observations
u - this is in eq. (4.13) of Zucchini and MacDonald (2009), p. 65
Returns:
the MLE estimators
• newMixtureDistribution

public MixtureDistribution newMixtureDistribution(Object[] param)
Description copied from interface: MixtureDistribution
Construct a new distribution from a set of parameters, one set per state.
Specified by:
newMixtureDistribution in interface MixtureDistribution
Parameters:
param - the parameters of the distribution, one set per state
Returns:
a new HMM distribution