{ } Raw JSON

bundles / numpy 2.4.4 / numpy / random / RandomState / logseries

cython_function_or_method

numpy.random:RandomState.logseries

Signature

def   logseries ( p size = None )

Summary

Draw samples from a logarithmic series distribution.

Extended Summary

Samples are drawn from a log series distribution with specified shape parameter, 0 <= p < 1.

Parameters

p : float or array_like of floats

Shape parameter for the distribution. Must be in the range [0, 1).

size : int or tuple of ints, optional

Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. If size is None (default), a single value is returned if p is a scalar. Otherwise, np.array(p).size samples are drawn.

Returns

out : ndarray or scalar

Drawn samples from the parameterized logarithmic series distribution.

Notes

The probability density for the Log Series distribution is

where p = probability.

The log series distribution is frequently used to represent species richness and occurrence, first proposed by Fisher, Corbet, and Williams in 1943 [2]. It may also be used to model the numbers of occupants seen in cars [3].

Examples

Draw samples from the distribution:
a = .6
s = np.random.logseries(a, 10000)
import matplotlib.pyplot as plt
count, bins, ignored = plt.hist(s)
# plot against distribution
def logseries(k, p):
    return -p**k/(k*np.log(1-p))
plt.plot(bins, logseries(bins, a)*count.max()/
         logseries(bins, a).max(), 'r')
plt.show()
fig-ac24e5e6d60027b7.png

See also

random.Generator.logseries

which should be used for new code.

scipy.stats.logser

probability density function, distribution or cumulative density function, etc.

Aliases

  • numpy.random.logseries
  • numpy.random.RandomState.logseries