当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy Generator.vonmises用法及代码示例


本文简要介绍 python 语言中 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 int 或整数元组,可选

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

返回

out ndarray 或标量

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

注意

von Mises 分布的概率密度为

其中 是众数, 是色散, 是0阶修正贝塞尔函数。

von Mises 以 Richard Edler von Mises 的名字命名,他出生于Austria-Hungary,现在的乌克兰。 1939年逃往美国,成为哈佛大学教授。他从事概率论、空气动力学、流体力学和科学哲学方面的工作。

参考

1

Abramowitz, M. 和 Stegun, I. A. (Eds.)。 “带有公式、图表和数学表格的数学函数手册,第 9 次印刷,”纽约:多佛,1972 年。

2

von Mises, R.,“概率与统计的数学理论”,纽约:学术出版社,1964 年。

例子

从分布中抽取样本:

>>> mu, kappa = 0.0, 4.0 # mean and dispersion
>>> s = np.random.default_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()
numpy-random-Generator-vonmises-1.png

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.random.Generator.vonmises。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。