scipy.stats.poisson

scipy.stats.poisson()

A Poisson discrete random variable.

Discrete random variables are defined from a standard form and may require some shape parameters to complete its specification. Any optional keyword parameters can be passed to the methods of the RV object as given below:

Methods:

poisson.rvs(mu,loc=0,size=1) :

  • random variates

poisson.pmf(x,mu,loc=0) :

  • probability mass function

poisson.cdf(x,mu,loc=0) :

  • cumulative density function

poisson.sf(x,mu,loc=0) :

  • survival function (1-cdf — sometimes more accurate)

poisson.ppf(q,mu,loc=0) :

  • percent point function (inverse of cdf — percentiles)

poisson.isf(q,mu,loc=0) :

  • inverse survival function (inverse of sf)

poisson.stats(mu,loc=0,moments=’mv’) :

  • mean(‘m’,axis=0), variance(‘v’), skew(‘s’), and/or kurtosis(‘k’)

poisson.entropy(mu,loc=0) :

  • entropy of the RV

Alternatively, the object may be called (as a function) to fix :

the shape and location parameters returning a :

“frozen” discrete RV object: :

myrv = poisson(mu,loc=0) :

  • frozen RV object with the same methods but holding the given shape and location fixed.

You can construct an aribtrary discrete rv where P{X=xk} = pk :

by passing to the rv_discrete initialization method (through the values= :

keyword) a tuple of sequences (xk,pk) which describes only those values of :

X (xk) that occur with nonzero probability (pk). :

Examples

>>> import matplotlib.pyplot as plt
>>> numargs = poisson.numargs
>>> [ mu ] = ['Replace with resonable value',]*numargs

Display frozen pmf:

>>> rv = poisson(mu)
>>> x = np.arange(0,np.min(rv.dist.b,3)+1)
>>> h = plt.plot(x,rv.pmf(x))

Check accuracy of cdf and ppf:

>>> prb = poisson.cdf(x,mu)
>>> h = plt.semilogy(np.abs(x-poisson.ppf(prb,mu))+1e-20)

Random number generation:

>>> R = poisson.rvs(mu,size=100)

Custom made discrete distribution:

>>> vals = [arange(7),(0.1,0.2,0.3,0.1,0.1,0.1,0.1)]
>>> custm = rv_discrete(name='custm',values=vals)
>>> h = plt.plot(vals[0],custm.pmf(vals[0]))

Poisson distribution

poisson.pmf(k, mu) = exp(-mu) * mu**k / k! for k >= 0

Previous topic

scipy.stats.logser

Next topic

scipy.stats.planck

This Page

Quick search