numpy.random.vonmises#

random.vonmises(mu, kappa, size=None)#

从 von Mises 分布中抽取样本。

从具有指定众数 (mu) 和集中度 (kappa) 的 von Mises 分布中抽取样本,区间为 [-pi, pi]。

von Mises 分布(也称为圆形正态分布)是单位圆上的连续概率分布。它可以被视为正态分布的圆形对应物。

注意

新代码应使用 Generator 实例的 vonmises 方法;请参阅快速开始

参数:
mu浮点数或浮点数数组

分布的众数(“中心”)。

kappa浮点数或浮点数数组

分布的集中度,必须 >=0。

size整数或整数元组,可选

输出形状。如果给定的形状是例如 (m, n, k),则会抽取 m * n * k 个样本。如果 size 为 None(默认),则在 mukappa 都是标量时返回单个值。否则,将抽取 np.broadcast(mu, kappa).size 个样本。

返回:
outndarray 或标量

从参数化的 von Mises 分布中抽取的样本。

另请参阅

scipy.stats.vonmises

概率密度函数、分布或累积密度函数等。

random.Generator.vonmises

新代码应使用此方法。

注释

von Mises 分布的概率密度为

\[p(x) = \frac{e^{\kappa cos(x-\mu)}}{2\pi I_0(\kappa)},\]

其中 \(\mu\) 是众数,\(\kappa\) 是集中度,\(I_0(\kappa)\) 是 0 阶修正贝塞尔函数。

von Mises 以 Richard Edler von Mises 命名,他出生于奥匈帝国(现乌克兰)。他于 1939 年逃往美国,并成为哈佛大学教授。他致力于概率论、空气动力学、流体力学和科学哲学领域的研究。

参考文献

[1]

Abramowitz, M. 和 Stegun, I. A. (编)。《数学函数手册:公式、图表和数学表格,第 9 版》,纽约:Dover,1972。

[2]

von Mises, R.,《概率与统计数学理论》,纽约:Academic Press,1964。

示例

从分布中抽取样本

>>> mu, kappa = 0.0, 4.0 # mean and concentration
>>> s = np.random.vonmises(mu, kappa, 1000)

显示样本的直方图以及概率密度函数

>>> import matplotlib.pyplot as plt
>>> from scipy.special import i0  
>>> plt.hist(s, 50, density=True)
>>> x = np.linspace(-np.pi, np.pi, num=51)
>>> y = np.exp(kappa*np.cos(x-mu))/(2*np.pi*i0(kappa))  
>>> plt.plot(x, y, linewidth=2, color='r')  
>>> plt.show()
../../../_images/numpy-random-vonmises-1.png