Class LogNormalMixtureDistribution
- java.lang.Object
-
- dev.nm.stat.hmm.mixture.distribution.LogNormalMixtureDistribution
-
- All Implemented Interfaces:
MixtureDistribution
public class LogNormalMixtureDistribution extends Object implements MixtureDistribution
The HMM states use the Log-Normal distribution to model the observations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLogNormalMixtureDistribution.Lambdathe log-normal distribution parameters
-
Constructor Summary
Constructors Constructor Description LogNormalMixtureDistribution(LogNormalMixtureDistribution.Lambda[] lambda)Constructs a log-normal distribution for each state in the HMM model.LogNormalMixtureDistribution(LogNormalMixtureDistribution.Lambda[] lambda, boolean isMuEstimated, boolean isSigmaEstimated)Constructs a log-normal distribution for each state in the HMM model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LogNormalMixtureDistribution.Lambda[]getMStepParams(double[] observations, Vector[] u)Maximize, for each state, the log-likelihood of the distribution with respect to the observations and current estimators.LogNormalMixtureDistribution.Lambda[]getParams()Get the parameters, for each state, of the distribution.ProbabilityDistribution[]newDistributions()Get the distributions (possibly differently parameterized) for all states.MixtureDistributionnewMixtureDistribution(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.
-
-
-
Constructor Detail
-
LogNormalMixtureDistribution
public LogNormalMixtureDistribution(LogNormalMixtureDistribution.Lambda[] lambda, boolean isMuEstimated, boolean isSigmaEstimated)
Constructs a log-normal distribution for each state in the HMM model.- Parameters:
lambda- the distribution parametersisMuEstimated- indicate whether parametermuis to be estimatedisSigmaEstimated- indicate whether parametersigmais to be estimated
-
LogNormalMixtureDistribution
public LogNormalMixtureDistribution(LogNormalMixtureDistribution.Lambda[] lambda)
Constructs a log-normal distribution for each state in the HMM model.- Parameters:
lambda- the distribution parameters
-
-
Method Detail
-
getParams
public LogNormalMixtureDistribution.Lambda[] getParams()
Description copied from interface:MixtureDistributionGet the parameters, for each state, of the distribution.- Specified by:
getParamsin interfaceMixtureDistribution- Returns:
- the parameters, for each state, of the distribution
-
newRandomNumberGenerators
public RandomNumberGenerator[] newRandomNumberGenerators()
Description copied from interface:MixtureDistributionGet the random number generators corresponding to the distributions (possibly differently parameterized) for all states.- Specified by:
newRandomNumberGeneratorsin interfaceMixtureDistribution- Returns:
- the random number generators corresponding to the distributions
-
newDistributions
public ProbabilityDistribution[] newDistributions()
Description copied from interface:MixtureDistributionGet the distributions (possibly differently parameterized) for all states.- Specified by:
newDistributionsin interfaceMixtureDistribution- Returns:
- the distributions
-
getMStepParams
public LogNormalMixtureDistribution.Lambda[] getMStepParams(double[] observations, Vector[] u)
Description copied from interface:MixtureDistributionMaximize, for each state, the log-likelihood of the distribution with respect to the observations and current estimators.- Specified by:
getMStepParamsin interfaceMixtureDistribution- Parameters:
observations- the observationsu- 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:MixtureDistributionConstruct a new distribution from a set of parameters, one set per state.- Specified by:
newMixtureDistributionin interfaceMixtureDistribution- Parameters:
param- the parameters of the distribution, one set per state- Returns:
- a new HMM distribution
-
-