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

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.math.distributions.impl.PoissonDistribution
All Implemented Interfaces:
ConditionalDistribution<java.lang.Double>, EvaluatableDistribution<java.lang.Integer>, FirstOrderMoment<java.lang.Double>, LogEvaluatableDistribution<java.lang.Integer>, LogProbabilityMassFunction, ProbabilityMassFunction, SamplingDistribution<java.lang.Integer>, SecondOrderCentralMoment<java.lang.Double>

public class PoissonDistribution
extends java.lang.Object
implements ProbabilityMassFunction, LogProbabilityMassFunction, ConditionalDistribution<java.lang.Double>, FirstOrderMoment<java.lang.Double>, SecondOrderCentralMoment<java.lang.Double>, SamplingDistribution<java.lang.Integer>

Poisson distribution.

Author:
Oliver Gress

Field Summary
protected  double lambda
          mean=variance of the distribution
protected  java.util.Random rand
           
 
Constructor Summary
PoissonDistribution(double lambda, java.util.Random rand)
          Constructor for Poisson distribution with parameter lambda (=mean=variance)
 
Method Summary
 java.lang.Integer drawSample()
          Generate a new sample from this density.
 java.lang.Double getCondition()
          Get conditional variable
 java.lang.Double getCovariance()
           
 java.lang.Double getMean()
           
 double log_p(java.lang.Integer k)
          Evaluate natural logarithm of p(X) at location x. log(P(X=x))
 double p(java.lang.Integer k)
          Evaluate p(X) at location x.
 void setCondition(java.lang.Double lambda)
          Set the conditional variable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lambda

protected double lambda
mean=variance of the distribution


rand

protected java.util.Random rand
Constructor Detail

PoissonDistribution

public PoissonDistribution(double lambda,
                           java.util.Random rand)
Constructor for Poisson distribution with parameter lambda (=mean=variance)

Parameters:
lambda - mean/variance of the distribution
rand - random generator for sampling
Method Detail

drawSample

public java.lang.Integer 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<java.lang.Integer>
Returns:
new sample object

getCondition

public java.lang.Double getCondition()
Description copied from interface: ConditionalDistribution
Get conditional variable

Specified by:
getCondition in interface ConditionalDistribution<java.lang.Double>
Returns:
object which specifies the condition

getCovariance

public java.lang.Double getCovariance()
Specified by:
getCovariance in interface SecondOrderCentralMoment<java.lang.Double>

getMean

public java.lang.Double getMean()
Specified by:
getMean in interface FirstOrderMoment<java.lang.Double>

log_p

public double log_p(java.lang.Integer k)
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<java.lang.Integer>
Parameters:
k - realization of random variable X
Returns:
value of log(p(X)) at x

p

public double p(java.lang.Integer k)
Description copied from interface: EvaluatableDistribution
Evaluate p(X) at location x. P(X=x)

Specified by:
p in interface EvaluatableDistribution<java.lang.Integer>
Parameters:
k - realization of random variable X
Returns:
value of p(X) at x

setCondition

public void setCondition(java.lang.Double lambda)
Description copied from interface: ConditionalDistribution
Set the conditional variable

Specified by:
setCondition in interface ConditionalDistribution<java.lang.Double>
Parameters:
lambda - conditional variable