Class MultivariateGaussianMixture

All Implemented Interfaces:
Serializable, MultivariateDistribution

public class MultivariateGaussianMixture extends MultivariateExponentialFamilyMixture
Finite multivariate Gaussian mixture. The EM algorithm is provide to learned 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:
      data - the training data.
      k - the number of components.
      Returns:
      the distribution.
    • fit

      public static MultivariateGaussianMixture fit(int k, double[][] data, boolean diagonal)
      Fits the Gaussian mixture model with the EM algorithm.
      Parameters:
      data - the training data.
      k - the number of components.
      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.