org.apache.commons.math.distribution
Class PoissonDistributionImpl

java.lang.Object
  extended by org.apache.commons.math.distribution.AbstractDistribution
      extended by org.apache.commons.math.distribution.AbstractIntegerDistribution
          extended by org.apache.commons.math.distribution.PoissonDistributionImpl
All Implemented Interfaces:
java.io.Serializable, DiscreteDistribution, Distribution, IntegerDistribution, PoissonDistribution

public class PoissonDistributionImpl
extends AbstractIntegerDistribution
implements PoissonDistribution, java.io.Serializable

Implementation for the PoissonDistribution.

See Also:
Serialized Form

Constructor Summary
PoissonDistributionImpl(double p)
          Create a new Poisson distribution with the given the mean.
 
Method Summary
 double cumulativeProbability(int x)
          The probability distribution function P(X <= x) for a Poisson distribution.
 double getMean()
          Get the Poisson mean for the distribution.
 double normalApproximateProbability(int x)
          Calculates the Poisson distribution function using a normal approximation.
 double probability(int x)
          The probability mass function P(X = x) for a Poisson distribution.
 void setMean(double p)
          Set the Poisson mean for the distribution.
 
Methods inherited from class org.apache.commons.math.distribution.AbstractIntegerDistribution
cumulativeProbability, cumulativeProbability, inverseCumulativeProbability, probability
 
Methods inherited from class org.apache.commons.math.distribution.AbstractDistribution
cumulativeProbability
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.math.distribution.IntegerDistribution
cumulativeProbability, inverseCumulativeProbability
 
Methods inherited from interface org.apache.commons.math.distribution.DiscreteDistribution
probability
 
Methods inherited from interface org.apache.commons.math.distribution.Distribution
cumulativeProbability, cumulativeProbability
 

Constructor Detail

PoissonDistributionImpl

public PoissonDistributionImpl(double p)
Create a new Poisson distribution with the given the mean. The mean value must be positive; otherwise an IllegalArgument is thrown.

Parameters:
p - the Poisson mean
Throws:
java.lang.IllegalArgumentException - if p ≤ 0
Method Detail

getMean

public double getMean()
Get the Poisson mean for the distribution.

Specified by:
getMean in interface PoissonDistribution
Returns:
the Poisson mean for the distribution.

setMean

public void setMean(double p)
Set the Poisson mean for the distribution. The mean value must be positive; otherwise an IllegalArgument is thrown.

Specified by:
setMean in interface PoissonDistribution
Parameters:
p - the Poisson mean value
Throws:
java.lang.IllegalArgumentException - if p ≤ 0

probability

public double probability(int x)
The probability mass function P(X = x) for a Poisson distribution.

Specified by:
probability in interface IntegerDistribution
Parameters:
x - the value at which the probability density function is evaluated.
Returns:
the value of the probability mass function at x

cumulativeProbability

public double cumulativeProbability(int x)
                             throws MathException
The probability distribution function P(X <= x) for a Poisson distribution.

Specified by:
cumulativeProbability in interface IntegerDistribution
Specified by:
cumulativeProbability in class AbstractIntegerDistribution
Parameters:
x - the value at which the PDF is evaluated.
Returns:
Poisson distribution function evaluated at x
Throws:
MathException - if the cumulative probability can not be computed due to convergence or other numerical errors.

normalApproximateProbability

public double normalApproximateProbability(int x)
                                    throws MathException
Calculates the Poisson distribution function using a normal approximation. The N(mean, sqrt(mean)) distribution is used to approximate the Poisson distribution.

The computation uses "half-correction" -- evaluating the normal distribution function at x + 0.5

Specified by:
normalApproximateProbability in interface PoissonDistribution
Parameters:
x - the upper bound, inclusive
Returns:
the distribution function value calculated using a normal approximation
Throws:
MathException - if an error occurs computing the normal approximation


jHepWork 1.1 (C) Chekanov