numpy.random.Generator.vonmises#
方法
- random.Generator.vonmises(mu, kappa, size=None)#
從 von Mises 分佈中抽取樣本。
樣本是從 von Mises 分佈中抽取的,該分佈在間隔 [-pi, pi] 上具有指定的眾數 (mu) 和集中度 (kappa)。
von Mises 分佈(也稱為圓形常態分佈)是單位圓上的連續機率分佈。它可以被認為是常態分佈的圓形類比。
- 參數:
- mufloat 或 float 的類陣列 (array_like)
分佈的眾數(“中心”)。
- kappafloat 或 float 的類陣列 (array_like)
分佈的集中度,必須 >=0。
- sizeint 或 int 元組,選用
輸出形狀。如果給定的形狀是,例如,
(m, n, k)
,則會抽取m * n * k
個樣本。如果 size 為None
(預設值),則如果mu
和kappa
都是純量,則會傳回單一值。否則,會抽取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\) 是眾數,\(\kappa\) 是集中度,而 \(I_0(\kappa)\) 是 0 階修正貝索函數。
von Mises 以 Richard Edler von Mises 命名,他出生於奧匈帝國,即現在的烏克蘭。他於 1939 年逃往美國,並成為哈佛大學的教授。他研究機率論、空氣動力學、流體力學和科學哲學。
參考文獻
[1]Abramowitz, M. 和 Stegun, I. A. (編). “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 >>> 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()