numpy.random.Generator.logistic#
method
- random.Generator.logistic(loc=0.0, scale=1.0, size=None)#
- Draw samples from a logistic distribution. - Samples are drawn from a logistic distribution with specified parameters, loc (location or mean, also median), and scale (>0). - Parameters:
- locfloat or array_like of floats, optional
- Parameter of the distribution. Default is 0. 
- scalefloat or array_like of floats, optional
- Parameter of the distribution. Must be non-negative. Default is 1. 
- sizeint or tuple of ints, optional
- Output shape. If the given shape is, e.g., - (m, n, k), then- m * n * ksamples are drawn. If size is- None(default), a single value is returned if- locand- scaleare both scalars. Otherwise,- np.broadcast(loc, scale).sizesamples are drawn.
 
- Returns:
- outndarray or scalar
- Drawn samples from the parameterized logistic distribution. 
 
 - See also - scipy.stats.logistic
- probability density function, distribution or cumulative density function, etc. 
 - Notes - The probability density for the Logistic distribution is \[P(x) = \frac{e^{-(x-\mu)/s}}{s(1+e^{-(x-\mu)/s})^2},\]- where \(\mu\) = location and \(s\) = scale. - The Logistic distribution is used in Extreme Value problems where it can act as a mixture of Gumbel distributions, in Epidemiology, and by the World Chess Federation (FIDE) where it is used in the Elo ranking system, assuming the performance of each player is a logistically distributed random variable. - References [1]- Reiss, R.-D. and Thomas M. (2001), “Statistical Analysis of Extreme Values, from Insurance, Finance, Hydrology and Other Fields,” Birkhauser Verlag, Basel, pp 132-133. [2]- Weisstein, Eric W. “Logistic Distribution.” From MathWorld–A Wolfram Web Resource. https://mathworld.wolfram.com/LogisticDistribution.html [3]- Wikipedia, “Logistic-distribution”, https://en.wikipedia.org/wiki/Logistic_distribution - Examples - Draw samples from the distribution: - >>> loc, scale = 10, 1 >>> rng = np.random.default_rng() >>> s = rng.logistic(loc, scale, 10000) >>> import matplotlib.pyplot as plt >>> count, bins, _ = plt.hist(s, bins=50, label='Sampled data') - # plot sampled data against the exact distribution - >>> def logistic(x, loc, scale): ... return np.exp((loc-x)/scale)/(scale*(1+np.exp((loc-x)/scale))**2) >>> logistic_values = logistic(bins, loc, scale) >>> bin_spacing = np.mean(np.diff(bins)) >>> plt.plot(bins, logistic_values * bin_spacing * s.size, label='Logistic PDF') >>> plt.legend() >>> plt.show() 