Class MixtureMultivariateNormalDistribution
- java.lang.Object
-
- org.apache.commons.math3.distribution.AbstractMultivariateRealDistribution
-
- org.apache.commons.math3.distribution.MixtureMultivariateRealDistribution<MultivariateNormalDistribution>
-
- org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution
-
- All Implemented Interfaces:
MultivariateRealDistribution
public class MixtureMultivariateNormalDistribution extends MixtureMultivariateRealDistribution<MultivariateNormalDistribution>
Multivariate normal mixture distribution. This class is mainly syntactic sugar.- Since:
- 3.2
- See Also:
MixtureMultivariateRealDistribution
-
-
Field Summary
-
Fields inherited from class org.apache.commons.math3.distribution.AbstractMultivariateRealDistribution
random
-
-
Constructor Summary
Constructors Constructor Description MixtureMultivariateNormalDistribution(double[] weights, double[][] means, double[][][] covariances)Creates a multivariate normal mixture distribution.MixtureMultivariateNormalDistribution(java.util.List<Pair<java.lang.Double,MultivariateNormalDistribution>> components)Creates a mixture model from a list of distributions and their associated weights.MixtureMultivariateNormalDistribution(RandomGenerator rng, java.util.List<Pair<java.lang.Double,MultivariateNormalDistribution>> components)Creates a mixture model from a list of distributions and their associated weights.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static java.util.List<Pair<java.lang.Double,MultivariateNormalDistribution>>createComponents(double[] weights, double[][] means, double[][][] covariances)-
Methods inherited from class org.apache.commons.math3.distribution.MixtureMultivariateRealDistribution
density, getComponents, reseedRandomGenerator, sample
-
Methods inherited from class org.apache.commons.math3.distribution.AbstractMultivariateRealDistribution
getDimension, sample
-
-
-
-
Constructor Detail
-
MixtureMultivariateNormalDistribution
public MixtureMultivariateNormalDistribution(double[] weights, double[][] means, double[][][] covariances)Creates a multivariate normal mixture distribution.Note: this constructor will implicitly create an instance of
Well19937cas random generator to be used for sampling only (seeMixtureMultivariateRealDistribution.sample()andAbstractMultivariateRealDistribution.sample(int)). In case no sampling is needed for the created distribution, it is advised to passnullas random generator via the appropriate constructors to avoid the additional initialisation overhead.- Parameters:
weights- Weights of each component.means- Mean vector for each component.covariances- Covariance matrix for each component.
-
MixtureMultivariateNormalDistribution
public MixtureMultivariateNormalDistribution(java.util.List<Pair<java.lang.Double,MultivariateNormalDistribution>> components)
Creates a mixture model from a list of distributions and their associated weights.Note: this constructor will implicitly create an instance of
Well19937cas random generator to be used for sampling only (seeMixtureMultivariateRealDistribution.sample()andAbstractMultivariateRealDistribution.sample(int)). In case no sampling is needed for the created distribution, it is advised to passnullas random generator via the appropriate constructors to avoid the additional initialisation overhead.- Parameters:
components- List of (weight, distribution) pairs from which to sample.
-
MixtureMultivariateNormalDistribution
public MixtureMultivariateNormalDistribution(RandomGenerator rng, java.util.List<Pair<java.lang.Double,MultivariateNormalDistribution>> components) throws NotPositiveException, DimensionMismatchException
Creates a mixture model from a list of distributions and their associated weights.- Parameters:
rng- Random number generator.components- Distributions from which to sample.- Throws:
NotPositiveException- if any of the weights is negative.DimensionMismatchException- if not all components have the same number of variables.
-
-
Method Detail
-
createComponents
private static java.util.List<Pair<java.lang.Double,MultivariateNormalDistribution>> createComponents(double[] weights, double[][] means, double[][][] covariances)
- Parameters:
weights- Weights of each component.means- Mean vector for each component.covariances- Covariance matrix for each component.- Returns:
- the list of components.
-
-