Class MixtureMultivariateRealDistribution<T extends MultivariateRealDistribution>

java.lang.Object
org.apache.commons.math4.distribution.AbstractMultivariateRealDistribution
org.apache.commons.math4.distribution.MixtureMultivariateRealDistribution<T>
Type Parameters:
T - Type of the mixture components.
All Implemented Interfaces:
MultivariateRealDistribution
Direct Known Subclasses:
MixtureMultivariateNormalDistribution

public class MixtureMultivariateRealDistribution<T extends MultivariateRealDistribution>
extends AbstractMultivariateRealDistribution
Class for representing mixture model distributions.
Since:
3.1
  • Constructor Details

    • MixtureMultivariateRealDistribution

      public MixtureMultivariateRealDistribution​(java.util.List<Pair<java.lang.Double,​T>> components)
      Creates a mixture model from a list of distributions and their associated weights.
      Parameters:
      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 Details

    • 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.
    • getComponents

      public java.util.List<Pair<java.lang.Double,​T>> getComponents()
      Gets the distributions that make up the mixture model.
      Returns:
      the component distributions and associated weights.
    • createSampler

      Creates a sampler.
      Specified by:
      createSampler in interface MultivariateRealDistribution
      Specified by:
      createSampler in class AbstractMultivariateRealDistribution
      Parameters:
      rng - Generator of uniformly distributed numbers.
      Returns:
      a sampler that produces random numbers according this distribution.