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, randi
inverseTransformSampling, quantile, quantile, rejection
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
likelihood, logLikelihood, rand
public PoissonDistribution(double lambda)
lambda
- the average number of events per interval.public static PoissonDistribution fit(int[] data)
public int length()
Distribution
length
in interface Distribution
public double mean()
Distribution
mean
in interface Distribution
public double variance()
Distribution
variance
in interface Distribution
public double sd()
Distribution
sd
in interface Distribution
public double entropy()
Distribution
entropy
in interface Distribution
public java.lang.String toString()
toString
in class java.lang.Object
public double p(int k)
DiscreteDistribution
p
in class DiscreteDistribution
public double logp(int k)
DiscreteDistribution
logp
in class DiscreteDistribution
public double cdf(double k)
Distribution
cdf
in interface Distribution
public double quantile(double p)
Distribution
quantile
in interface Distribution
public DiscreteMixture.Component M(int[] x, double[] posteriori)
DiscreteExponentialFamily
M
in interface DiscreteExponentialFamily
x
- 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