org.apache.commons.math.distribution
Class PoissonDistributionImpl

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

public class PoissonDistributionImpl
extends AbstractIntegerDistribution
implements PoissonDistribution, Serializable

Implementation for the @link{PoissonDistribution}

Version:
$Revision: 1.2 $ $Date: 2004/11/07 20:39:15 $
See Also:
Serialized Form

Field Summary
(package private) static long serialVersionUID
          Serializable version identifier
 
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.
protected  int getDomainLowerBound(double p)
          Access the domain value lower bound, based on p, used to bracket a CDF root.
protected  int getDomainUpperBound(double p)
          Access the domain value upper bound, based on p, used to bracket a CDF root.
 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
clone, equals, finalize, 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
 

Field Detail

serialVersionUID

static final long serialVersionUID
Serializable version identifier

See Also:
Constant Field Values
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:
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:
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

getDomainLowerBound

protected int getDomainLowerBound(double p)
Access the domain value lower bound, based on p, used to bracket a CDF root. This method is used by AbstractIntegerDistribution.inverseCumulativeProbability(double) to find critical values.

Specified by:
getDomainLowerBound in class AbstractIntegerDistribution
Parameters:
p - the desired probability for the critical value
Returns:
domain lower bound

getDomainUpperBound

protected int getDomainUpperBound(double p)
Access the domain value upper bound, based on p, used to bracket a CDF root. This method is used by AbstractIntegerDistribution.inverseCumulativeProbability(double) to find critical values.

Specified by:
getDomainUpperBound in class AbstractIntegerDistribution
Parameters:
p - the desired probability for the critical value
Returns:
domain upper bound


Copyright © 2003-2004 The Apache Software Foundation. All Rights Reserved.