numpy.random.Generator.vonmises#

方法

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

从 von Mises 分布中抽取样本.

样本是从具有指定模式(mu)和分散度(kappa)的 von Mises 分布中抽取的,区间为 [-pi, pi].

von Mises 分布(也称为圆正态分布)是单位圆上的连续概率分布.它可以被认为是正态分布的圆形模拟.

参数:
mu浮点数或浮点数的类数组对象

分布的模(”center”).

kappa浮点数或浮点数的类数组对象

分布的离散度必须 >=0.

size整数或整数的元组,可选

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

返回:
outndarray 或标量

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

参见

scipy.stats.vonmises

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

备注

von Mises 分布的概率密度为

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

其中 \(\mu\) 是模式,:math:kappa 是分散,而 \(I_0(\kappa)\) 是 0 阶修正贝塞尔函数.

冯·米塞斯是以理查德·埃德勒·冯·米塞斯命名的,他出生于奥匈帝国,即现在的乌克兰.他于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 dispersion
>>> rng = np.random.default_rng()
>>> s = rng.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-Generator-vonmises-1.png