Zero-truncated Poisson distribution

In probability theory, the zero-truncated Poisson (ZTP) distribution is a certain discrete probability distribution whose support is the set of positive integers. This distribution is also known as the conditional Poisson distribution[1] or the positive Poisson distribution.[2] It is the conditional probability distribution of a Poisson-distributed random variable, given that the value of the random variable is not zero. Thus it is impossible for a ZTP random variable to be zero. Consider for example the random variable of the number of items in a shopper's basket at a supermarket checkout line. Presumably a shopper does not stand in line with nothing to buy (i.e., the minimum purchase is 1 item), so this phenomenon may follow a ZTP distribution.[3]

Since the ZTP is a truncated distribution with the truncation stipulated as k > 0, one can derive the probability mass function g(k;λ) from a standard Poisson distribution f(k;λ) as follows: [4]

The mean is

and the variance is

Parameter estimation

The method of moments estimator for the parameter is obtained by solving

where is the sample mean.[1]

This equation does not have a closed-form solution. In practice, a solution may be found using numerical methods.

Generating zero-truncated Poisson-distributed random variables

Random variables sampled from the Zero-truncated Poisson distribution may be achieved using algorithms derived from Poisson distributing sampling algorithms.[5]

    init:
         Let k ← 1, t ← e−λ / (1 - e−λ) * λ, s ← t.
         Generate uniform random number u in [0,1].
    while s < u do:
         k ← k + 1.
         t ← t * λ / k.
         s ← s + t.
    return k.

The cost of the procedure above is linear in k, which may be large for large values of . Given access to an efficient sampler for non-truncated Poisson random variates, a non-iterative approach involves sampling from a truncated exponential distribution representing the time of the first event in a Poisson point process, conditional on such an event existing.[6] A simple NumPy implementation is:

    def sample_zero_truncated_poisson(rate):
        u = np.random.uniform(np.exp(-rate), 1)
        t = -np.log(u)
        return 1 + np.random.poisson(rate - t)

References

  1. Cohen, A. Clifford (1960). "Estimating parameters in a conditional Poisson distribution". Biometrics. 16 (2): 203–211. doi:10.2307/2527552. JSTOR 2527552.
  2. Singh, Jagbir (1978). "A characterization of positive Poisson distribution and its application". SIAM Journal on Applied Mathematics. 34: 545–548. doi:10.1137/0134043.
  3. "Stata Data Analysis Examples: Zero-Truncated Poisson Regression". UCLA Institute for Digital Research and Education. Retrieved 7 August 2013.
  4. Johnson, Norman L.; Kemp, Adrianne W.; Kotz, Samuel (2005). Univariate Discrete Distributions (third ed.). Hoboken, NJ: Wiley-Interscience.
  5. Borje, Gio (2016-06-01). "Zero-Truncated Poisson Distribution Sampling Algorithm". Archived from the original on 2018-08-26.
  6. Hardie, Ted (1 May 2005). "[R] simulate zero-truncated Poisson distribution". r-help (Mailing list). Retrieved 27 May 2022.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.