|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math3.distribution.AbstractIntegerDistribution
org.apache.commons.math3.distribution.PoissonDistribution
public class PoissonDistribution
Implementation of the Poisson distribution.
Field Summary | |
---|---|
static double |
DEFAULT_EPSILON
Default convergence criterion. |
static int |
DEFAULT_MAX_ITERATIONS
Default maximum number of iterations for cumulative probability calculations. |
private double |
epsilon
Convergence criterion for cumulative probability. |
private ExponentialDistribution |
exponential
Distribution needed for the sample() method. |
private int |
maxIterations
Maximum number of iterations for cumulative probability. |
private double |
mean
Mean of the distribution. |
private NormalDistribution |
normal
Distribution used to compute normal approximation. |
private static long |
serialVersionUID
Serializable version identifier. |
Fields inherited from class org.apache.commons.math3.distribution.AbstractIntegerDistribution |
---|
random, randomData |
Constructor Summary | |
---|---|
PoissonDistribution(double p)
Creates a new Poisson distribution with specified mean. |
|
PoissonDistribution(double p,
double epsilon)
Creates a new Poisson distribution with the specified mean and convergence criterion. |
|
PoissonDistribution(double p,
double epsilon,
int maxIterations)
Creates a new Poisson distribution with specified mean, convergence criterion and maximum number of iterations. |
|
PoissonDistribution(double p,
int maxIterations)
Creates a new Poisson distribution with the specified mean and maximum number of iterations. |
|
PoissonDistribution(RandomGenerator rng,
double p,
double epsilon,
int maxIterations)
Creates a new Poisson distribution with specified mean, convergence criterion and maximum number of iterations. |
Method Summary | |
---|---|
double |
cumulativeProbability(int x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X <= x) . |
double |
getMean()
Get the mean for the distribution. |
double |
getNumericalMean()
Use this method to get the numerical value of the mean of this distribution. |
double |
getNumericalVariance()
Use this method to get the numerical value of the variance of this distribution. |
int |
getSupportLowerBound()
Access the lower bound of the support. |
int |
getSupportUpperBound()
Access the upper bound of the support. |
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected, i.e. |
private long |
nextPoisson(double meanPoisson)
|
double |
normalApproximateProbability(int x)
Calculates the Poisson distribution function using a normal approximation. |
double |
probability(int x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X = x) . |
int |
sample()
Generate a random value sampled from this distribution. |
Methods inherited from class org.apache.commons.math3.distribution.AbstractIntegerDistribution |
---|
cumulativeProbability, inverseCumulativeProbability, reseedRandomGenerator, sample, solveInverseCumulativeProbability |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_MAX_ITERATIONS
public static final double DEFAULT_EPSILON
private static final long serialVersionUID
private final NormalDistribution normal
private final ExponentialDistribution exponential
sample()
method.
private final double mean
private final int maxIterations
Gamma.regularizedGammaP(double, double, double, int)
or continued fraction approximation of
Gamma.regularizedGammaQ(double, double, double, int)
.
private final double epsilon
Constructor Detail |
---|
public PoissonDistribution(double p) throws NotStrictlyPositiveException
p
- the Poisson mean
NotStrictlyPositiveException
- if p <= 0
.public PoissonDistribution(double p, double epsilon, int maxIterations) throws NotStrictlyPositiveException
p
- Poisson mean.epsilon
- Convergence criterion for cumulative probabilities.maxIterations
- the maximum number of iterations for cumulative
probabilities.
NotStrictlyPositiveException
- if p <= 0
.public PoissonDistribution(RandomGenerator rng, double p, double epsilon, int maxIterations) throws NotStrictlyPositiveException
rng
- Random number generator.p
- Poisson mean.epsilon
- Convergence criterion for cumulative probabilities.maxIterations
- the maximum number of iterations for cumulative
probabilities.
NotStrictlyPositiveException
- if p <= 0
.public PoissonDistribution(double p, double epsilon) throws NotStrictlyPositiveException
p
- Poisson mean.epsilon
- Convergence criterion for cumulative probabilities.
NotStrictlyPositiveException
- if p <= 0
.public PoissonDistribution(double p, int maxIterations)
p
- Poisson mean.maxIterations
- Maximum number of iterations for cumulative
probabilities.Method Detail |
---|
public double getMean()
public double probability(int x)
X
whose values are distributed according
to this distribution, this method returns P(X = x)
. In other
words, this method represents the probability mass function (PMF)
for the distribution.
x
- the point at which the PMF is evaluated
x
public double cumulativeProbability(int x)
X
whose values are distributed according
to this distribution, this method returns P(X <= x)
. In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.
x
- the point at which the CDF is evaluated
x
public double normalApproximateProbability(int x)
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
).
x
- Upper bound, inclusive.
public double getNumericalMean()
p
, the mean is p
.
Double.NaN
if it is not definedpublic double getNumericalVariance()
p
, the variance is p
.
Double.POSITIVE_INFINITY
or
Double.NaN
if it is not defined)public int getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in Z | P(X <= x) > 0}
.
public int getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
Integer.MAX_VALUE
.
Integer.MAX_VALUE
for
positive infinity)public boolean isSupportConnected()
true
public int sample()
Algorithm Description:
Devroye, Luc. (1981).The Computer Generation of Poisson Random Variables Computing vol. 26 pp. 197-207.
sample
in interface IntegerDistribution
sample
in class AbstractIntegerDistribution
private long nextPoisson(double meanPoisson)
meanPoisson
- Mean of the Poisson distribution.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |