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()