![]() | ![]() |
Suppose one wishes to find the Poisson probability of seeing exactly k occurrences of some event within some well-defined interval, where the mean number of occurrences in that interval is expected to be λ. That is to say, we seek
P(k)=e−λλkk!To do this one should ...
R: use the function
dpois(x=k, lambda=λ)
As an example, the probability of seeing exactly 3 blemishes on a randomly selected piece of sheet metal, when on average one expects 1.2 blemishes, can be found with::
> dpois(x=3, lambda=1.2) [1] 0.2734375
Excel: use the function
POISSON.DIST(k, λ, FALSE)The last argument for this function, when FALSE, indicates that the probability returned should not be cumulative (i.e., it only returns P(k), not P(0)+P(1)+⋯+P(k)).
TI-83: use the function
poissonpdf(λ,k)This function can be found by making the following menu selections:
:
poissonpdf(
Suppose one wishes to fine the cumulative Poisson probability of seeing k or fewer occurrences of some event within some well-defined interval or range, where the mean number of occurrences in that interval is expected to be λ. That is to say, we seek P(X≤k)=P(0)+P(1)+P(2)+⋯+P(k)=∑0≤i≤ke−λλkk! To do this, one should ...
R: use the function
ppois(x=k, lambda=λ)
As an example, suppose that in a given call center that gets on average 13 calls every hour, one can calculate the probability that in a given 15 minute period the call center will receive less than 6 calls with the following:
> ppois(5, lambda = 13/4) [1] 0.8888132
Excel: use the function
POISSON.DIST(k, λ, TRUE)The last argument for this function, when TRUE, indicates the probability returned should be cumulative. That is to say, it gives the sum P(0)+P(1)+⋯+P(k).
TI-83: use the function
poissoncdf(λ,k)This function can be found by making the following menu selections:
:
poissoncdf(
R: use the function
rpois(x=n, lambda=λ)
As an example, suppose over the course of 15 weeks, every Saturday -- at the same time -- an individual stands by the side of a road and tallies the number of cars going by within a 120-minute window. To simulate a set of observations for this situation under the assumption that the mean number of cars that go by per hour is actually 52, one can use:
> rpois(15, lambda=104) [1] 96 113 106 104 101 96 96 114 109 91 94 95 108 113 113
generate.poisson.value = function(lambda) { L = exp(-lambda) k = 0 p = 1 repeat { k = k + 1 p = p * runif(1) if (p <= L) { break } } return(k-1) }
Excel: There is no built-in Poisson analog to BINOM.INV(), so Poisson-distributed numbers can't be generated in the same way. If one absolutely has to generate Poisson-distributed numbers in Excel, one should look up how to create a VBA (i.e., Visual Basic) script to execute Donald Knuth's algorithm described above.