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
Well19937c
as 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 passnull
as 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
Well19937c
as 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 passnull
as 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.
-
-