Class MultivariateGaussianMixture

All Implemented Interfaces:
Serializable, MultivariateDistribution

public class MultivariateGaussianMixture extends MultivariateExponentialFamilyMixture
Finite multivariate Gaussian mixture. The EM algorithm is provided to learn the mixture model from data. The BIC score is employed to estimate the number of components.
See Also:
  • Constructor Details

    • MultivariateGaussianMixture

      public MultivariateGaussianMixture(MultivariateMixture.Component... components)
      Constructor.
      Parameters:
      components - a list of multivariate Gaussian distributions.
  • Method Details

    • fit

      public static MultivariateGaussianMixture fit(int k, double[][] data)
      Fits the Gaussian mixture model with the EM algorithm.
      Parameters:
      k - the number of components.
      data - the training data.
      Returns:
      the distribution.
    • fit

      public static MultivariateGaussianMixture fit(int k, double[][] data, boolean diagonal)
      Fits the Gaussian mixture model with the EM algorithm.
      Parameters:
      k - the number of components.
      data - the training data.
      diagonal - true if the components have diagonal covariance matrix.
      Returns:
      the distribution.
    • fit

      public static MultivariateGaussianMixture fit(double[][] data)
      Fits the Gaussian mixture model with the EM algorithm. The number of components will be selected by BIC.
      Parameters:
      data - the training data.
      Returns:
      the distribution.
    • fit

      public static MultivariateGaussianMixture fit(double[][] data, boolean diagonal)
      Fits the Gaussian mixture model with the EM algorithm. The number of components will be selected by BIC.
      Parameters:
      data - the training data.
      diagonal - true if the components have diagonal covariance matrix.
      Returns:
      the distribution.