T
- Type of the mixture components.public class MixtureMultivariateRealDistribution<T extends MultivariateRealDistribution> extends AbstractMultivariateRealDistribution
random
Constructor and Description |
---|
MixtureMultivariateRealDistribution(List<Pair<Double,T>> components)
Creates a mixture model from a list of distributions and their
associated weights.
|
MixtureMultivariateRealDistribution(RandomGenerator rng,
List<Pair<Double,T>> components)
Creates a mixture model from a list of distributions and their
associated weights.
|
Modifier and Type | Method and Description |
---|---|
double |
density(double[] values)
Returns the probability density function (PDF) of this distribution
evaluated at the specified point
x . |
List<Pair<Double,T>> |
getComponents()
Gets the distributions that make up the mixture model.
|
void |
reseedRandomGenerator(long seed)
Reseeds the random generator used to generate samples.
|
double[] |
sample()
Generates a random value vector sampled from this distribution.
|
getDimension, sample
public MixtureMultivariateRealDistribution(List<Pair<Double,T>> components)
Note: this constructor will implicitly create an instance of
Well19937c
as random generator to be used for sampling only (see
sample()
and AbstractMultivariateRealDistribution.sample(int)
). In case no sampling is
needed for the created distribution, it is advised to pass null
as random generator via the appropriate constructors to avoid the
additional initialisation overhead.
components
- List of (weight, distribution) pairs from which to sample.public MixtureMultivariateRealDistribution(RandomGenerator rng, List<Pair<Double,T>> components)
rng
- Random number generator.components
- Distributions from which to sample.MathIllegalArgumentException
- if any of the weights is negative.MathIllegalArgumentException
- if not all components have the same
number of variables.public double density(double[] values)
x
. In general, the PDF is the
derivative of the cumulative distribution function. If the derivative
does not exist at x
, then an appropriate replacement should be
returned, e.g. Double.POSITIVE_INFINITY
, Double.NaN
, or
the limit inferior or limit superior of the difference quotient.values
- Point at which the PDF is evaluated.x
.public double[] sample()
sample
in interface MultivariateRealDistribution
sample
in class AbstractMultivariateRealDistribution
public void reseedRandomGenerator(long seed)
reseedRandomGenerator
in interface MultivariateRealDistribution
reseedRandomGenerator
in class AbstractMultivariateRealDistribution
seed
- Seed with which to initialize the random number generator.Copyright © 2016-2022 CS GROUP. All rights reserved.