numpy.random.RandomState.vonmises#
method
- random.RandomState.vonmises(mu, kappa, size=None)#
从 von Mises 分布中抽取样本.
样本从具有指定模式 (mu) 和集中度 (kappa) 的 von Mises 分布中抽取,区间为 [-pi, pi].
von Mises 分布(也称为圆形正态分布)是单位圆上的连续概率分布.它可以被认为是正态分布的圆形模拟.
- 参数:
- mufloat 或 floats 的类数组对象
分布的模式(“中心”).
- kappafloat 或 floats 的类数组对象
分布的集中度,必须 >=0.
- sizeint 或 int 的元组,可选.
输出形状.如果给定的形状是,例如
(m, n, k),则抽取m * n * k个样本.如果 size 是None(默认),如果mu和kappa都是标量,则返回单个值.否则,将抽取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. (Eds.). “Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables, 9th printing,” New York: Dover, 1972.
[2]von Mises, R., “Mathematical Theory of Probability and Statistics”, New York: 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()