numpy.random.RandomState.vonmises#

方法

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

從 von Mises 分佈中抽取樣本。

樣本是從 von Mises 分佈中抽取的,該分佈在區間 [-pi, pi] 上具有指定的眾數 (mu) 和集中度 (kappa)。

von Mises 分佈(也稱為圓形常態分佈)是單位圓上的連續機率分佈。它可以被認為是常態分佈的圓形類比。

注意

新程式碼應使用 vonmises 方法,此方法屬於 Generator 實例;請參閱快速開始

參數:
mufloat 或 float 的 array_like

分佈的眾數(“中心”)。

kappafloat 或 float 的 array_like

分佈的集中度,必須 >=0。

sizeint 或 int 的 tuple,選用

輸出形狀。如果給定的形狀是例如 (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. and 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()
../../../_images/numpy-random-RandomState-vonmises-1.png