從np.random.normal()到正態(tài)分布的擬合操作
先看偉大的高斯分布(Gaussian Distribution)的概率密度函數(shù)(probability density function):

對應(yīng)于numpy中:
numpy.random.normal(loc=0.0, scale=1.0, size=None)
參數(shù)的意義為:
loc:float
此概率分布的均值(對應(yīng)著整個(gè)分布的中心centre)
scale:float
此概率分布的標(biāo)準(zhǔn)差(對應(yīng)于分布的寬度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints
輸出的shape,默認(rèn)為None,只輸出一個(gè)值
我們更經(jīng)常會(huì)用到的np.random.randn(size)所謂標(biāo)準(zhǔn)正態(tài)分布
對應(yīng)于np.random.normal(loc=0, scale=1, size)。
采樣(sampling)
# 從某一分布(由均值和標(biāo)準(zhǔn)差標(biāo)識)中獲得樣本 mu, sigma = 0, .1 s = np.random.normal(loc=mu, scale=sigma, size=1000)
也可使用scipy庫中的相關(guān)api(這里的類與函數(shù)更符合數(shù)理統(tǒng)計(jì)中的直覺):
import scipy.stats as st mu, sigma = 0, .1 s = st.norm(mu, sigma).rvs(1000)
校驗(yàn)均值和方差:
>>> abs(mu < np.mean(s)) < .01
True
>>> abs(sigma-np.std(s, ddof=1)) < .01
True
# ddof,delta degrees of freedom,表示自由度
# 一般取1,表示無偏估計(jì),
擬合
我們看使用matplotlib.pyplot便捷而強(qiáng)大的語法如何進(jìn)行高斯分布的擬合:
import matplotlib.pyplot as plt
count, bins, _ = plt.hist(s, 30, normed=True)
# normed是進(jìn)行擬合的關(guān)鍵
# count統(tǒng)計(jì)某一bin出現(xiàn)的次數(shù),在Normed為True時(shí),可能其值會(huì)略有不同
plt.plot(bins, 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-(bins-mu)**2/(2*sigma**2), lw=2, c='r')
plt.show()
或者:
s_fit = np.linspace(s.min(), s.max()) plt.plot(s_fit, st.norm(mu, sigma).pdf(s_fit), lw=2, c='r')

np.random.normal()的含義及實(shí)例
這是個(gè)隨機(jī)產(chǎn)生正態(tài)分布的函數(shù)。(normal 表正態(tài))
先看一下官方解釋:
有三個(gè)參數(shù)
loc:正態(tài)分布的均值,對應(yīng)著這個(gè)分布的中心.代表下圖的μ
scale:正態(tài)分布的標(biāo)準(zhǔn)差,對應(yīng)分布的寬度,scale越大,正態(tài)分布的曲線 越矮胖,scale越小,曲線越高瘦。 代表下圖的σ
size:你輸入數(shù)據(jù)的shape,例子:
下面展示一些 內(nèi)聯(lián)代碼片。
// An highlighted block a=np.random.normal(0, 1, (2, 4)) print(a) 輸出: [[-0.29217334 0.41371571 1.26816017 0.46474676] [ 1.33271487 0.80162296 0.47974157 -1.49748788]]
看這個(gè)圖直觀些:

以下為官方文檔:


以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python enumerate函數(shù)遍歷數(shù)據(jù)對象組合過程解析
這篇文章主要介紹了Python enumerate函數(shù)遍歷數(shù)據(jù)對象組合過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
python實(shí)現(xiàn)QQ郵箱群發(fā)郵件實(shí)例
大家好,本篇文章主要講的是python實(shí)現(xiàn)QQ郵箱群發(fā)郵件實(shí)例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01
pyshp創(chuàng)建shp點(diǎn)文件的方法
今天小編就為大家分享一篇pyshp創(chuàng)建shp點(diǎn)文件的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Django實(shí)現(xiàn)學(xué)員管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Django實(shí)現(xiàn)學(xué)員管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
Python檢測數(shù)據(jù)類型的方法總結(jié)
在本篇文章里小編給大家整理了關(guān)于Python檢測數(shù)據(jù)類型的方法和相關(guān)實(shí)例代碼,需要的朋友們跟著學(xué)習(xí)下。2019-05-05
Pandas數(shù)據(jù)形狀df.shape的實(shí)現(xiàn)
本文主要介紹了Pandas數(shù)據(jù)形狀df.shape的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Python?Excel數(shù)據(jù)處理之xlrd/xlwt/xlutils模塊詳解
在復(fù)雜的Excel業(yè)務(wù)數(shù)據(jù)處理中,三兄弟扮演的角色缺一不可。如何能夠使用xlrd/xlwt/xlutils三個(gè)模塊來實(shí)現(xiàn)數(shù)據(jù)處理就是今天的內(nèi)容,希望對大家有所幫助2023-03-03

