smile.stat.distribution
Class ExponentialFamilyMixture
- java.lang.Object
-
- smile.stat.distribution.AbstractDistribution
-
- smile.stat.distribution.Mixture
-
- smile.stat.distribution.ExponentialFamilyMixture
-
- All Implemented Interfaces:
- Distribution
- Direct Known Subclasses:
- GaussianMixture
public class ExponentialFamilyMixture extends Mixture
The finite mixture of distributions from exponential family. The EM algorithm can be used to learn the mixture model from data. EM is particularly useful when the likelihood is an exponential family: the E-step becomes the sum of expectations of sufficient statistics, and the M-step involves maximizing a linear function. In such a case, it is usually possible to derive closed form updates for each step.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class smile.stat.distribution.Mixture
Mixture.Component
-
-
Constructor Summary
Constructors Constructor and Description ExponentialFamilyMixture(java.util.List<Mixture.Component> mixture)Constructor.ExponentialFamilyMixture(java.util.List<Mixture.Component> mixture, double[] data)Constructor.
-
Method Summary
-
Methods inherited from class smile.stat.distribution.Mixture
bic, cdf, entropy, getComponents, logp, mean, npara, p, quantile, rand, sd, size, toString, var
-
Methods inherited from class smile.stat.distribution.AbstractDistribution
likelihood, logLikelihood
-
-
-
-
Constructor Detail
-
ExponentialFamilyMixture
public ExponentialFamilyMixture(java.util.List<Mixture.Component> mixture)
Constructor.- Parameters:
mixture- a list of exponential family distributions.
-
ExponentialFamilyMixture
public ExponentialFamilyMixture(java.util.List<Mixture.Component> mixture, double[] data)
Constructor. The mixture model will be learned from the given data with the EM algorithm.- Parameters:
mixture- the initial guess of mixture. Components may have different distribution form.data- the training data.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG