de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl
Class MultiObsDistributionIndepGaussMix<T extends Copyable<?>>

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistribution<S,T>
      extended by de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistributionIndep<T,T>
          extended by de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl.MultiObsDistributionIndepGaussMix<T>
Type Parameters:
T - class type of the observations' and states' discrete variables
All Implemented Interfaces:
ConditionalDistribution<AbstractMultiState<T>>, EvaluatableDistribution<AbstractMultiState<T>>, FirstOrderMoment<AbstractMultiState<T>>, IndependentlyEvaluatableDistribution<AbstractMultiState<T>>, LogEvaluatableDistribution<AbstractMultiState<T>>, LogIndependentlyEvaluatableDistribution<AbstractMultiState<T>>, SamplingDistribution<AbstractMultiState<T>>, SecondOrderCentralMoment<Jama.Matrix[]>

@ALDMetaInfo(export=ALLOWED)
public class MultiObsDistributionIndepGaussMix<T extends Copyable<?>>
extends AbstractMultiObservationDistributionIndep<T,T>
implements SamplingDistribution<AbstractMultiState<T>>, FirstOrderMoment<AbstractMultiState<T>>, SecondOrderCentralMoment<Jama.Matrix[]>

A simple multi observation density, which assumes independent Gaussian mixtures as the underlying distributions.

Author:
Oliver Gress

Field Summary
protected  Vector<GaussMixDistribution> gaussmixtures
           
protected  Jama.Matrix H
           
 
Fields inherited from class de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistribution
condX, factoryX, factoryZ
 
Constructor Summary
MultiObsDistributionIndepGaussMix(Random rand, Jama.Matrix H, Vector<GaussMixDistribution> obsDistGaussMixtures, AbstractMultiState<T> X, AbstractMultiStateFactory<T> factoryX, AbstractMultiStateFactory<T> factoryZ)
           
 
Method Summary
 AbstractMultiState<T> drawSample()
          Generate a new sample from this density.
 Jama.Matrix[] getCovariance()
           
 GaussMixDistribution getGaussMixture(int i)
           
 AbstractMultiState<T> getMean()
           
 int getNumOfIndeps()
           
 double log_p(AbstractMultiState<T> Z)
          Evaluate natural logarithm of p(X) at location x. log(P(X=x))
 double log_p(AbstractMultiState<T> Z, int i)
          Evaluate the density independently for observation i in Z conditional on state i in X
 double log_p(AbstractMultiState<T> Z, int i, int j)
          Evaluate the density independently for observation i in Z conditional on state j in X
 double p(AbstractMultiState<T> Z)
          Evaluate p(X) at location x.
 double p(AbstractMultiState<T> Z, int i)
          Evaluate the density independently for observation i in Z conditional on state i in X
 double p(AbstractMultiState<T> Z, int i, int j)
          Evaluate the density independently for observation i in Z conditional on state j in X
 
Methods inherited from class de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistribution
getCondition, setCondition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gaussmixtures

protected Vector<GaussMixDistribution> gaussmixtures

H

protected Jama.Matrix H
Constructor Detail

MultiObsDistributionIndepGaussMix

public MultiObsDistributionIndepGaussMix(Random rand,
                                         Jama.Matrix H,
                                         Vector<GaussMixDistribution> obsDistGaussMixtures,
                                         AbstractMultiState<T> X,
                                         AbstractMultiStateFactory<T> factoryX,
                                         AbstractMultiStateFactory<T> factoryZ)
                                  throws IllegalArgumentException
Throws:
IllegalArgumentException
Method Detail

getGaussMixture

public GaussMixDistribution getGaussMixture(int i)

getCovariance

public Jama.Matrix[] getCovariance()
Specified by:
getCovariance in interface SecondOrderCentralMoment<Jama.Matrix[]>

getMean

public AbstractMultiState<T> getMean()
Specified by:
getMean in interface FirstOrderMoment<AbstractMultiState<T extends Copyable<?>>>

drawSample

public AbstractMultiState<T> drawSample()
Description copied from interface: SamplingDistribution
Generate a new sample from this density. This method should create a new object.

Specified by:
drawSample in interface SamplingDistribution<AbstractMultiState<T extends Copyable<?>>>
Returns:
new sample object

p

public double p(AbstractMultiState<T> Z,
                int i,
                int j)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state j in X

Specified by:
p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Returns:

p

public double p(AbstractMultiState<T> Z,
                int i)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state i in X

Specified by:
p in interface IndependentlyEvaluatableDistribution<AbstractMultiState<T extends Copyable<?>>>
Specified by:
p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
i - i-th element in x
Returns:
value of p_i(X_i) at x_i

p

public double p(AbstractMultiState<T> Z)
Description copied from interface: EvaluatableDistribution
Evaluate p(X) at location x. P(X=x)

Specified by:
p in interface EvaluatableDistribution<AbstractMultiState<T extends Copyable<?>>>
Specified by:
p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
Returns:
value of p(X) at x

log_p

public double log_p(AbstractMultiState<T> Z)
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<AbstractMultiState<T extends Copyable<?>>>
Specified by:
log_p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
Returns:
value of log(p(X)) at x

log_p

public double log_p(AbstractMultiState<T> Z,
                    int i)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state i in X

Specified by:
log_p in interface LogIndependentlyEvaluatableDistribution<AbstractMultiState<T extends Copyable<?>>>
Specified by:
log_p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
i - i-th element in x
Returns:
value of log(p_i(X_i)) at x_i

log_p

public double log_p(AbstractMultiState<T> Z,
                    int i,
                    int j)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state j in X

Specified by:
log_p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Returns:

getNumOfIndeps

public int getNumOfIndeps()
Specified by:
getNumOfIndeps in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>


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