numpy.random.standard_cauchy#

random.standard_cauchy(size=None)#

从模式为 0 的标准柯西分布中抽取样本。

也称为洛伦兹分布。

注意

新代码应该使用 standard_cauchy 方法,该方法是 Generator 实例的方法;请参阅 快速入门

参数:
sizeint 或 ints 的元组,可选

输出形状。如果给定的形状是,例如,(m, n, k),那么将抽取 m * n * k 个样本。默认为 None,在这种情况下,返回单个值。

返回:
samplesndarray 或标量

抽取的样本。

另请参阅

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 统计方法电子手册,“柯西分布”,https://www.itl.nist.gov/div898/handbook/eda/section3/eda3663.htm

[2]

Weisstein, Eric W.“柯西分布”。来自 MathWorld – Wolfram Web 资源。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()
../../../_images/numpy-random-standard_cauchy-1.png