Class MixtureMultivariateNormalDistribution
- All Implemented Interfaces:
MultivariateRealDistribution
- See Also:
-
Field Summary
Fields inherited from class org.hipparchus.distribution.multivariate.AbstractMultivariateRealDistribution
random
-
Constructor Summary
ConstructorDescriptionMixtureMultivariateNormalDistribution
(double[] weights, double[][] means, double[][][] covariances) Creates a multivariate normal mixture distribution.Creates a mixture model from a list of distributions and their associated weights.MixtureMultivariateNormalDistribution
(RandomGenerator rng, List<Pair<Double, MultivariateNormalDistribution>> components) Creates a mixture model from a list of distributions and their associated weights. -
Method Summary
Methods inherited from class org.hipparchus.distribution.multivariate.MixtureMultivariateRealDistribution
density, getComponents, reseedRandomGenerator, sample
Methods inherited from class org.hipparchus.distribution.multivariate.AbstractMultivariateRealDistribution
getDimension, sample
-
Constructor Details
-
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(List<Pair<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, List<Pair<Double, MultivariateNormalDistribution>> components) throws MathIllegalArgumentExceptionCreates a mixture model from a list of distributions and their associated weights.- Parameters:
rng
- Random number generator.components
- Distributions from which to sample.- Throws:
MathIllegalArgumentException
- if any of the weights is negative.MathIllegalArgumentException
- if not all components have the same number of variables.
-