numpy.random.standard_cauchy#
- random.standard_cauchy(размер=None)#
Извлеките выборки из стандартного распределения Коши с модой = 0.
Также известное как распределение Лоренца.
Примечание
Новый код должен использовать
standard_cauchyметодGeneratorэкземпляр вместо; пожалуйста, смотрите Быстрый старт.- Параметры:
- размерint или кортеж ints, опционально
Форма вывода. Если заданная форма, например,
(m, n, k), затемm * n * kвыбираются образцы. По умолчанию None, в этом случае возвращается одно значение.
- Возвращает:
- образцыndarray или скаляр
Извлеченные выборки.
Смотрите также
random.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, "Распределение Коши", https://www.itl.nist.gov/div898/handbook/eda/section3/eda3663.htm
[2]Вайсштейн, Эрик В. "Распределение Коши." Из MathWorld — веб-ресурс Wolfram. https://mathworld.wolfram.com/CauchyDistribution.html
[3]Википедия, "Распределение Коши" 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()