numpy.random.RandomState.vonmises#
方法
- random.RandomState.vonmises(mu, kappa, size=None)#
从冯·米塞斯分布中抽取样本。
样本是从指定模式 (mu) 和分散 (kappa) 的冯·米塞斯分布中抽取的,范围为 [-pi, pi]。
冯·米塞斯分布(也称为圆形正态分布)是单位圆上的一种连续概率分布。可以将其视为正态分布的圆形模拟。
- 参数:
- mufloat 或类似数组的浮点数
分布的模式(“中心”)。
- kappafloat 或类似数组的浮点数
分布的分散度,必须 >=0。
- sizeint 或 int 元组,可选
输出形状。如果给定的形状为,例如,
(m, n, k)
,则抽取m * n * k
个样本。如果 size 为None
(默认),则如果mu
和kappa
都是标量,则返回单个值。否则,将抽取np.broadcast(mu, kappa).size
个样本。
- 返回:
- outndarray 或标量
从参数化的冯·米塞斯分布中抽取的样本。
参见
scipy.stats.vonmises
概率密度函数、分布或累积分布函数等。
random.Generator.vonmises
应该用于新代码。
注意
冯·米塞斯分布的概率密度为
\[p(x) = \frac{e^{\kappa cos(x-\mu)}}{2\pi I_0(\kappa)},\]其中 \(\mu\) 是模式,\(\kappa\) 是分散度,\(I_0(\kappa)\) 是 0 阶修正贝塞尔函数。
冯·米塞斯是以理查德·冯·米塞斯命名的,他出生于奥匈帝国,现在属于乌克兰。他于 1939 年逃往美国,并在哈佛大学任教。他在概率论、空气动力学、流体力学和科学哲学方面都有所建树。
参考
[1]Abramowitz, M. 和 Stegun, I. A. (编)。“带公式、图表和数学表格的数学函数手册,第九版印刷”,纽约:多佛,1972 年。
[2]von Mises, R.,“概率与统计数学理论”,纽约:学术出版社,1964 年。
示例
从分布中抽取样本
>>> mu, kappa = 0.0, 4.0 # mean and dispersion >>> 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()