POISSON_DIST
Updated: 31 July 2015
Use POISSON_DIST to calculate the probability mass function or the lower cumulative probability of a Poisson distribution for a given number of events occurring in a fixed interval given the rate.
Syntax
SELECT [wct].[POISSON_DIST](
<@X, float,>
,<@Mean, float,>
,<@Cumulative, bit,>)
Arguments
@X
the number of events. @X must be of a type float or of type that intrinsically converts to float.
@Mean
the rate at which events occur during the interval. @Mean must be of a type float or of a type that intrinsically converts to float.
@Cumulative
A bit value indicating whether the probability density function ('False') or the cumulative distribution function ('True') should be returned.
Return Type
float
Remarks
· @X is truncated and the integer value is used.
· 0 < @X
· 0 < @Mean
Examples
A phone support center averages 43 calls per hour. In this example we calculate the likelihood that it will receive exactly 47 calls in an hour.
SELECT
wct.POISSON(
47 --@X
,43 --@Mean
,'False' --@Cumulative
) as pmf
This produces the following result
If we wanted to know the likelihood that it would receive up to 47 calls in an hour, we would use the left-tailed cumulative probability.
SELECT
wct.POISSON(
47 --@X
,43 --@Mean
,'True' --@Cumulative
) as cdf
This produces the following result.
Since the Poisson distribution is a discrete distribution the cumulative distribution function, in this case, is the sum of the probabilities for each value from 0 to 47. We can use the XLeratorDB SeriesInt table-valued function to generate all the integer values from 0 to 47.
SELECT SUM(wct.POISSON_DIST(SeriesValue,43,'False')) as cdf
FROM wct.SeriesInt(0,47,NULL,NULL,NULL)
This produces the following result
The Poisson distribution is a special case of the gamma distribution
SELECT
wct.POISSON_DIST(x,lambda,'True') as POISSON_DIST
,wct.GAMMAQ(x+1,lambda) as GAMMAQ
FROM (VALUES (5,3))n(x,lambda)
This produces the following result.
See Also