numpy.random.RandomState.standard_cauchy
метод
- random.RandomState.standard_cauchy(size=None)
-
Генерирует выборки из стандартного распределения Коши с модой = 0.
Также известно как распределение Лоренца.
Примечание
Новый код должен использовать метод
standard_cauchyэкземпляраdefault_rng(); см. Быстрый старт.- Параметры
-
- sizeint или кортеж из целых чисел, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), то генерируетсяm * n * kвыборок. По умолчанию None, в этом случае возвращается одно значение.
- Возвращает
-
- samplesndarray или скаляр
-
Сгенерированные выборки.
См. также
Generator.standard_cauchy-
который следует использовать в новом коде.
Примечания
Функция плотности вероятности для полного распределения Коши:
\[P(x; x_0, \gamma) = \frac{1}{\pi \gamma \bigl[ 1+ (\frac{x-x_0}{\gamma})^2 \bigr] }\]и стандартное распределение Коши просто устанавливает \(x_0=0\) и \(\gamma=1\)
Распределение Коши возникает при решении задачи о вынужденном гармоническом осцилляторе, а также описывает уширение спектральных линий. Оно также описывает распределение значений, в которых прямая, наклоненная под случайным углом, пересекает ось x.
При изучении гипотетических тестов, предполагающих нормальность, наблюдение за тем, как тесты работают на данных из распределения Коши, является хорошим показателем их чувствительности к распределению с тяжелыми хвостами, так как распределение Коши очень похоже на распределение Гаусса, но с более тяжелыми хвостами.
Ссылки
- 1
-
NIST/SEMATECH e-Handbook of Statistical Methods, “Cauchy Distribution”, https://www.itl.nist.gov/div898/handbook/eda/section3/eda3663.htm
- 2
-
Weisstein, Eric W. “Cauchy Distribution.” From MathWorld–A Wolfram Web Resource. http://mathworld.wolfram.com/CauchyDistribution.html
- 3
-
Wikipedia, “Cauchy distribution” https://en.wikipedia.org/wiki/Cauchy_distribution
Примеры
Генерируем выборки и строим распределение:
>>> import matplotlib.pyplot as plt >>> s = np.random.standard_cauchy(1000000) >>> s = s[(s>-25) & (s<25)] # truncate distribution so it plots well >>> plt.hist(s, bins=100) >>> plt.show()
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.RandomState.standard_cauchy.html