Class MultivariateExponentialFamilyMixture

java.lang.Object
smile.stat.distribution.MultivariateMixture
smile.stat.distribution.MultivariateExponentialFamilyMixture
All Implemented Interfaces:
Serializable, MultivariateDistribution
Direct Known Subclasses:
MultivariateGaussianMixture

public class MultivariateExponentialFamilyMixture extends MultivariateMixture
The finite mixture of distributions from multivariate exponential family. The EM algorithm can be used to learn the mixture model from data.
See Also:
  • Field Details

    • L

      public final double L
      The log-likelihood when the distribution is fit on a sample data.
    • bic

      public final double bic
      The BIC score when the distribution is fit on a sample data.
  • Constructor Details

    • MultivariateExponentialFamilyMixture

      public MultivariateExponentialFamilyMixture(MultivariateMixture.Component... components)
      Constructor.
      Parameters:
      components - a list of multivariate exponential family distributions.
  • Method Details

    • fit

      public static MultivariateExponentialFamilyMixture fit(double[][] x, MultivariateMixture.Component... components)
      Fits the mixture model with the EM algorithm.
      Parameters:
      x - the training data.
      components - the initial configuration of mixture. Components may have different distribution form.
      Returns:
      the distribution.
    • fit

      public static MultivariateExponentialFamilyMixture fit(double[][] x, MultivariateMixture.Component[] components, double gamma, int maxIter, double tol)
      Fits the mixture model with the EM algorithm.
      Parameters:
      x - the training data.
      components - the initial configuration of mixture. Components may have different distribution form.
      gamma - the regularization parameter.
      maxIter - the maximum number of iterations.
      tol - the tolerance of convergence test.
      Returns:
      the distribution.