org.apache.commons.math3.distribution
Class MixtureMultivariateRealDistribution<T extends MultivariateRealDistribution>

java.lang.Object
  extended by org.apache.commons.math3.distribution.AbstractMultivariateRealDistribution
      extended by org.apache.commons.math3.distribution.MixtureMultivariateRealDistribution<T>
Type Parameters:
T - Type of the mixture components.
All Implemented Interfaces:
MultivariateRealDistribution

public class MixtureMultivariateRealDistribution<T extends MultivariateRealDistribution>
extends AbstractMultivariateRealDistribution

Class for representing mixture model distributions.

Since:
3.1
Version:
$Id: MixtureMultivariateRealDistribution.java 7721 2013-02-14 14:07:13Z CardosoP $

Field Summary
 
Fields inherited from class org.apache.commons.math3.distribution.AbstractMultivariateRealDistribution
random
 
Constructor Summary
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.
 
Method Summary
 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.
 
Methods inherited from class org.apache.commons.math3.distribution.AbstractMultivariateRealDistribution
getDimension, sample
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MixtureMultivariateRealDistribution

public MixtureMultivariateRealDistribution(List<Pair<Double,T>> components)
Creates a mixture model from a list of distributions and their associated weights.

Parameters:
components - List of (weight, distribution) pairs from which to sample.

MixtureMultivariateRealDistribution

public MixtureMultivariateRealDistribution(RandomGenerator rng,
                                           List<Pair<Double,T>> components)
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

density

public double density(double[] values)
Returns the probability density function (PDF) of this distribution evaluated at the specified point 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.

Parameters:
values - Point at which the PDF is evaluated.
Returns:
the value of the probability density function at point x.

sample

public double[] sample()
Generates a random value vector sampled from this distribution.

Specified by:
sample in interface MultivariateRealDistribution
Specified by:
sample in class AbstractMultivariateRealDistribution
Returns:
a random value vector.

reseedRandomGenerator

public void reseedRandomGenerator(long seed)
Reseeds the random generator used to generate samples.

Specified by:
reseedRandomGenerator in interface MultivariateRealDistribution
Overrides:
reseedRandomGenerator in class AbstractMultivariateRealDistribution
Parameters:
seed - Seed with which to initialize the random number generator.

getComponents

public List<Pair<Double,T>> getComponents()
Gets the distributions that make up the mixture model.

Returns:
the component distributions and associated weights.


Copyright © 2017 CNES. All Rights Reserved.