python 標(biāo)準(zhǔn)差計(jì)算的實(shí)現(xiàn)(std)
numpy.std() 求標(biāo)準(zhǔn)差的時(shí)候默認(rèn)是除以 n 的,即是有偏的,np.std無(wú)偏樣本標(biāo)準(zhǔn)差方式為加入?yún)?shù) ddof = 1;
pandas.std() 默認(rèn)是除以n-1 的,即是無(wú)偏的,如果想和numpy.std() 一樣有偏,需要加上參數(shù)ddof=0 ,即pandas.std(ddof=0) ;DataFrame的describe()中就包含有std();
demo:
>>> a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.std(a, ddof = 1) 3.0276503540974917 >>> np.sqrt(((a - np.mean(a)) ** 2).sum() / (a.size - 1)) 3.0276503540974917 >>> np.sqrt(( a.var() * a.size) / (a.size - 1)) 3.0276503540974917
PS:numpy中標(biāo)準(zhǔn)差std的神坑
我們用Matlab作為對(duì)比。計(jì)算標(biāo)準(zhǔn)差,得到:
>> std([1,2,3]) ans = 1
然而在numpy中:
>>> np.std([1,2,3]) 0.81649658092772603
什么鬼!這么簡(jiǎn)單的都能出錯(cuò)?原因在于,np.std有這么一個(gè)參數(shù):
ddof : int, optional
Means Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N represents the number of elements. By default ddof is zero.
因此,想要正確調(diào)用,必須使ddof=1:
>>> np.std([1,2,3], ddof=1) 1.0
而且,這一特性還影響到了許多基于numpy的包。比如scikit-learn里的StandardScaler。想要正確調(diào)用,只能自己手動(dòng)設(shè)置參數(shù):
ss = StandardScaler() ss.mean_ = np.mean(X, axis=0) ss.scale_ = np.std(X, axis=0, ddof=1) X_norm = ss.transform(X)
當(dāng)X數(shù)據(jù)量較大時(shí)無(wú)所謂,當(dāng)X數(shù)據(jù)量較小時(shí)則要尤為注意。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決python-docx打包之后找不到default.docx的問(wèn)題
今天小編就為大家分享一篇解決python-docx打包之后找不到default.docx的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python2隨機(jī)數(shù)列生成器簡(jiǎn)單實(shí)例
這篇文章主要介紹了Python2隨機(jī)數(shù)列生成器,結(jié)合簡(jiǎn)單實(shí)例形式分析了Python基于random模塊操作隨機(jī)數(shù)的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09Python在Matplotlib圖中顯示中文字體的操作方法
這篇文章主要介紹了Python在Matplotlib圖中顯示中文字體的方法,本篇主要針對(duì)在Ubuntu系統(tǒng)中,matplotlib顯示不了中文的問(wèn)題,尤其是在無(wú)法安裝系統(tǒng)字體的情況下,解決Python繪圖時(shí)中文顯示的問(wèn)題。需要的朋友可以參考下2019-07-07Python實(shí)現(xiàn)身份證號(hào)碼解析
本文給大家匯總介紹下使用Python實(shí)現(xiàn)身份證號(hào)碼驗(yàn)證解析的幾個(gè)方法,有需要的小伙伴可以參考下。2015-09-09python實(shí)現(xiàn)AES和RSA加解密的方法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)AES和RSA加解密的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03