de.unihalle.informatik.MiToBo.math.distributions.impl
Class MixtureDistribution

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.math.distributions.impl.MixtureDistribution
All Implemented Interfaces:
EvaluatableDistribution<Jama.Matrix>, LogEvaluatableDistribution<Jama.Matrix>, LogProbabilityDensityFunction, ProbabilityDensityFunction
Direct Known Subclasses:
GaussMixDistribution

@ALDMetaInfo(export=ALLOWED)
public class MixtureDistribution
extends Object
implements ProbabilityDensityFunction, LogProbabilityDensityFunction

A distribution represented by a mixture of distributions

Author:
Oliver Gress

Field Summary
protected  ProbabilityDensityFunction[] pdfs
           
 double[] weights
           
 
Constructor Summary
MixtureDistribution(ProbabilityDensityFunction[] pdfs)
           
MixtureDistribution(ProbabilityDensityFunction[] pdfs, double[] weights)
          Constructor
 
Method Summary
 int getNumOfComponents()
           
 ProbabilityDensityFunction getPdf(int idx)
           
 double getWeight(int idx)
           
 double[] getWeights()
           
 double log_p(Jama.Matrix x)
          Evaluate natural logarithm of p(X) at location x. log(P(X=x))
 void normalizeWeights()
          Normalize weights
 double p(Jama.Matrix x)
          Evaluate p(X) at location x.
 void setPdf(int idx, ProbabilityDensityFunction pdf)
           
 void setWeight(int idx, double weight)
           
 void setWeights(double[] weights)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pdfs

protected ProbabilityDensityFunction[] pdfs

weights

public double[] weights
Constructor Detail

MixtureDistribution

public MixtureDistribution(ProbabilityDensityFunction[] pdfs)

MixtureDistribution

public MixtureDistribution(ProbabilityDensityFunction[] pdfs,
                           double[] weights)
                    throws IllegalArgumentException
Constructor

Parameters:
pdfs - individual distributions in the mixture
weights - weights of the individual distributions
Throws:
IllegalArgumentException - if pdf- and weight-array have different length
Method Detail

p

public double p(Jama.Matrix x)
Description copied from interface: EvaluatableDistribution
Evaluate p(X) at location x. P(X=x)

Specified by:
p in interface EvaluatableDistribution<Jama.Matrix>
Parameters:
x - realization of random variable X
Returns:
value of p(X) at x

log_p

public double log_p(Jama.Matrix x)
Description copied from interface: LogEvaluatableDistribution
Evaluate natural logarithm of p(X) at location x. log(P(X=x))

Specified by:
log_p in interface LogEvaluatableDistribution<Jama.Matrix>
Parameters:
x - realization of random variable X
Returns:
value of log(p(X)) at x

normalizeWeights

public void normalizeWeights()
Normalize weights


getNumOfComponents

public int getNumOfComponents()

getWeight

public double getWeight(int idx)

setWeight

public void setWeight(int idx,
                      double weight)

getWeights

public double[] getWeights()

setWeights

public void setWeights(double[] weights)

getPdf

public ProbabilityDensityFunction getPdf(int idx)

setPdf

public void setPdf(int idx,
                   ProbabilityDensityFunction pdf)


Copyright © 2010–2015 Martin Luther University Halle-Wittenberg. All rights reserved.