public class PoissonDistribution extends DiscreteDistribution implements DiscreteExponentialFamily
λn e-λ
f(n; λ) = ---------
n!
For sufficiently large values of λ, (say λ > 1000), the normal
distribution with mean λ and variance λ, is an excellent
approximation to the Poisson distribution. If λ is greater than about
10, then the normal distribution is a good approximation if an appropriate
continuity correction is performed, i.e., P(X ≤ x), where (lower-case) x
is a non-negative integer, is replaced by P(X ≤ x + 0.5).
When a variable is Poisson distributed, its square root is approximately normally distributed with expected value of about λ1/2 and variance of about 1/4.
| Modifier and Type | Field and Description |
|---|---|
double |
lambda
The average number of events per interval.
|
| Constructor and Description |
|---|
PoissonDistribution(double lambda)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
double |
cdf(double k)
Cumulative distribution function.
|
double |
entropy()
Shannon entropy of the distribution.
|
static PoissonDistribution |
fit(int[] data)
Estimates the distribution parameters by MLE.
|
int |
length()
The number of parameters of the distribution.
|
double |
logp(int k)
The probability mass function in log scale.
|
DiscreteMixture.Component |
M(int[] x,
double[] posteriori)
The M step in the EM algorithm, which depends the specific distribution.
|
double |
mean()
The mean of distribution.
|
double |
p(int k)
The probability mass function.
|
double |
quantile(double p)
The quantile, the probability to the left of quantile is p.
|
double |
rand()
This function generates a random variate with the poisson distribution.
|
double |
sd()
The standard deviation of distribution.
|
java.lang.String |
toString() |
double |
variance()
The variance of distribution.
|
likelihood, logLikelihood, logp, p, quantile, randi, randiinverseTransformSampling, quantile, quantile, rejectionclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitlikelihood, logLikelihood, randpublic PoissonDistribution(double lambda)
lambda - the average number of events per interval.public static PoissonDistribution fit(int[] data)
public int length()
Distributionlength in interface Distributionpublic double mean()
Distributionmean in interface Distributionpublic double variance()
Distributionvariance in interface Distributionpublic double sd()
Distributionsd in interface Distributionpublic double entropy()
Distributionentropy in interface Distributionpublic java.lang.String toString()
toString in class java.lang.Objectpublic double p(int k)
DiscreteDistributionp in class DiscreteDistributionpublic double logp(int k)
DiscreteDistributionlogp in class DiscreteDistributionpublic double cdf(double k)
Distributioncdf in interface Distributionpublic double quantile(double p)
Distributionquantile in interface Distributionpublic DiscreteMixture.Component M(int[] x, double[] posteriori)
DiscreteExponentialFamilyM in interface DiscreteExponentialFamilyx - the input data for estimationposteriori - the posteriori probability.public double rand()
Uses down/up search from the mode by chop-down technique for λ < 20, and patchwork rejection method for λ ≥ 20.
For λ < 1.E-6 numerical inaccuracy is avoided by direct calculation.
rand in interface Distribution