numpy.random.Generator.logistic
метод
- random.Generator.logistic(loc=0.0, scale=1.0, size=None)
-
Генерирует выборки из лог-нормального распределения.
Выборка производится из лог-нормального распределения со значениями параметров loc (положение или среднее, также медиана) и scale (>0).
- Параметры:
-
- locfloat или array_like чисел с плавающей точкой, необязательно
-
Параметр распределения. По умолчанию 0.
- scalefloat или array_like чисел с плавающей точкой, необязательно
-
Параметр распределения. Должен быть неотрицательным. По умолчанию 1.
- sizeцелое число или кортеж целых чисел, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборки генерируются. Если размер равенNone(по умолчанию), возвращается одно значение, еслиlocиscaleявляются скалярами. В противном случаеnp.broadcast(loc, scale).sizeвыборок генерируется.
- Возвращаемое значение:
-
- outndarray или скаляр
-
Сгенерированные выборки из лог-нормального распределения.
См. также
scipy.stats.logistic-
функция плотности вероятности, распределение или функция кумулятивной плотности и т. д.
Примечания
Плотность вероятности для лог-нормального распределения:
\[P(x) = \frac{e^{-(x-\mu)/s}}{s(1+e^{-(x-\mu)/s})^2},\]где \(\mu\) = положение и \(s\) = масштаб.
Лог-нормальное распределение используется в задачах экстремальных значений, где оно может выступать в качестве смеси распределений Гумбеля, в эпидемиологии и в системе рейтинга Эло (FIDE), предполагая, что производительность каждого игрока является случайной величиной, распределенной лог-нормально.
Ссылки
[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
Примеры
Генерация выборок из распределения:
>>> 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')
# построение сгенерированных данных против точного распределения
>>> 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()
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.Generator.logistic.html