用法:
RandomState.normal(loc=0.0, scale=1.0, size=None)
從正態(高斯)分布中抽取隨機樣本。
正態分布的概率密度函數,首先由De Moivre提出,然後在200年後由Gauss和Laplace分別得出[2]由於其特征形狀,通常稱為鍾形曲線(請參見下麵的示例)。
正態分布通常在自然界中發生。例如,它描述了受大量微小隨機幹擾影響的樣本的普遍分布,每種幹擾都有其自己獨特的分布[2]。
參數: - loc: : float 或 array_like of floats
分布的平均值(“centre”)。
- scale: : float 或 array_like of floats
分布的標準偏差(點差或“width”)。必須為非負數。
- size: : int 或 tuple of ints, 可選參數
輸出形狀。如果給定的形狀是
(m, n, k)
, 然後m * n * k
抽取樣品。如果尺寸是None
(默認),如果返回一個值loc
和scale
都是標量。除此以外,np.broadcast(loc, scale).size
抽取樣品。
返回值: - out: : ndarray或標量
從參數化正態分布中抽取樣本。
注意:
高斯分布的概率密度為
哪裏是卑鄙的標準偏差。標準差的平方,,稱為方差。
該函數的平均值處於峰值,並且其“spread”隨著標準偏差的增加而增加(該函數在0.65倍時達到最大值)和 [2])。這意味著
numpy.random.normal
更有可能返回接近均值的樣本,而不是相距較遠的樣本。參考文獻:
[1] 維基百科,“Normal distribution”,https://en.wikipedia.org/wiki/Normal_distribution [2] (1,2,3)P. R. Peebles Jr.,“Central Limit Theorem”,“概率,隨機變量和隨機信號原理”,第四版,2001年,第51、51、125頁。 例子:
從分布中抽取樣本:
>>> mu, sigma = 0, 0.1 # mean and standard deviation >>> s = np.random.normal(mu, sigma, 1000)
驗證均值和方差:
>>> abs(mu - np.mean(s)) 0.0 # may vary
>>> abs(sigma - np.std(s, ddof=1)) 0.1 # may vary
顯示樣本的直方圖以及概率密度函數:
>>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(s, 30, density=True) >>> plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) * ... np.exp( - (bins - mu)**2 / (2 * sigma**2) ), ... linewidth=2, color='r') >>> plt.show()
來自N(3,6.25)的Two-by-four個樣本數組:
>>> np.random.normal(3, 2.5, size=(2, 4)) array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], # random [ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) # random
相關用法
注:本文由純淨天空篩選整理自 numpy.random.mtrand.RandomState.normal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。