python绘制正态分布函数_学好正态分布有多重要?
作者 | Farhad Malik
譯者 | Monanfei
責(zé)編 | 夕顏
出品 | AI科技大本營(ID: rgznai100)
為什么正態(tài)分布如此特殊?為什么大量數(shù)據(jù)科學(xué)和機器學(xué)習(xí)的文章都圍繞正態(tài)分布進行討論?我決定寫一篇文章,用一種簡單易懂的方式來介紹正態(tài)分布。
在機器學(xué)習(xí)的世界中,以概率分布為核心的研究大都聚焦于正態(tài)分布。本文將闡述正態(tài)分布的概率,并解釋它的應(yīng)用為何如此的廣泛,尤其是在數(shù)據(jù)科學(xué)和機器學(xué)習(xí)領(lǐng)域,它幾乎無處不在。
我將會從基礎(chǔ)概念出發(fā),解釋有關(guān)正態(tài)分布的一切,并揭示它為何如此重要。
文章結(jié)構(gòu)
本文的主要內(nèi)容如下:
概率分布是什么
正態(tài)分布意味著什么
正態(tài)分布的變量有哪些
如何使用 Python 來檢驗數(shù)據(jù)的分布
如何使用 Python 參數(shù)化生產(chǎn)一個正態(tài)分布
正態(tài)分布的問題
簡短的背景介紹
首先,正態(tài)分布又名高斯分布
它以數(shù)學(xué)天才 Carl Friedrich Gauss 命名
正態(tài)分布又名高斯分布
越簡單的模型越是常用,因為它們能夠被很好的解釋和理解。正態(tài)分布非常簡單,這就是它是如此的常用的原因。
因此,理解正態(tài)分布非常有必要。
什么是概率分布?
首先介紹一下相關(guān)概念。
考慮一個預(yù)測模型,該模型可以是我們的數(shù)據(jù)科學(xué)研究中的一個組件。
如果我們想精確預(yù)測一個變量的值,那么我們首先要做的就是理解該變量的潛在特性。
首先我們要知道該變量的可能取值,還要知道這些值是連續(xù)的還是離散的。簡單來講,如果我們要預(yù)測一個骰子的取值,那么第一步就是明白它的取值是1 到 6(離散)。
第二步就是確定每個可能取值(事件)發(fā)生的概率。如果某個取值永遠都不會出現(xiàn),那么該值的概率就是 0 。
事件的概率越大,該事件越容易出現(xiàn)。
在實際操作中,我們可以大量重復(fù)進行某個實驗,并記錄該實驗對應(yīng)的輸出變量的結(jié)果。
我們可以將這些取值分為不同的集合類,在每一類中,我們記錄屬于該類結(jié)果的次數(shù)。例如,我們可以投10000次骰子,每次都有6種可能的取值,我們可以將類別數(shù)設(shè)為6,然后我們就可以開始對每一類出現(xiàn)的次數(shù)進行計數(shù)了。
我們可以畫出上述結(jié)果的曲線,該曲線就是概率分布曲線。目標(biāo)變量每個取值的可能性就由其概率分布決定。
一旦我們知道了變量的概率分布,我們就可以開始估計事件出現(xiàn)的概率了,我們甚至可以使用一些概率公式。至此,我們就可更好的理解變量的特性了。概率分布取決于樣本的一些特征,例如平均值,標(biāo)準(zhǔn)偏差,偏度和峰度。
如果將所有概率值求和,那么求和結(jié)果將會是100%
世界上存在著很多不同的概率分布,而最廣泛使用的就是正態(tài)分布了。
初遇正態(tài)分布
我們可以畫出正態(tài)分布的概率分布曲線,可以看到該曲線是一個鐘型的曲線。如果變量的均值,模和中值相等,那么該變量就呈現(xiàn)正態(tài)分布。
如下圖所示,為正態(tài)分布的概率分布曲線:
?? ? ? ?
理解和估計變量的概率分布非常重要。
下面列出的變量的分布都比較接近正態(tài)分布:
人群的身高
成年人的血壓
傳播中的粒子的位置
測量誤差
回歸中的殘差
人群的鞋碼
一天中雇員回家的總耗時
教育指標(biāo)
此外,生活中有大量的變量都是具有 x % 置信度的正態(tài)變量,其中,x<100。
什么是正態(tài)分布?
正態(tài)分布只依賴于數(shù)據(jù)集的兩個特征:樣本的均值和方差。
均值——樣本所有取值的平均
方差——該指標(biāo)衡量了樣本總體偏離均值的程度
正態(tài)分布的這種統(tǒng)計特性使得問題變得異常簡單,任何具有正態(tài)分布的變量,都可以進行高精度分預(yù)測。
值得注意的是,大自然中發(fā)現(xiàn)的變量,大多近似服從正態(tài)分布。
正態(tài)分布很容易解釋,這是因為:
正態(tài)分布的均值,模和中位數(shù)是相等的。
我們只需要用均值和標(biāo)準(zhǔn)差就能解釋整個分布。
正態(tài)分布是我們熟悉的正常行為
為何如此多的變量都大致服從正態(tài)分布?
這個現(xiàn)象可以由如下定理理解釋:當(dāng)在大量隨機變量上重復(fù)很多次實驗時,它們的分布總和將非常接近正態(tài)分布。
由于人的身高是一個隨機變量,并且基于其他隨機變量,例如一個人消耗的營養(yǎng)量,他們所處的環(huán)境,他們的遺傳等等,這些變量的分布總和最終是非常接近正態(tài)的。
這就是中心極限定理。
本文的核心:
我們從上文的分析得出,正態(tài)分布是許多隨機分布的總和。?如果我們繪制正態(tài)分布密度函數(shù),那么它的曲線將具有以下特征:
如上圖所示,該鐘形曲線有均值為 100,標(biāo)準(zhǔn)差為1:
均值是曲線的中心。?這是曲線的最高點,因為大多數(shù)點都是均值。
曲線兩側(cè)的點數(shù)相等。?曲線的中心具有最多的點數(shù)。
曲線下的總面積是變量所有取值的總概率。
因此總曲線面積為 100%
? ? ? ??? ? ?
更進一步,如上圖所示:
約 68.2% 的點在 -1 到 1 個標(biāo)準(zhǔn)偏差范圍內(nèi)。
約 95.5% 的點在 -2 到 2 個標(biāo)準(zhǔn)偏差范圍內(nèi)。
約 99.7% 的點在 -3 至 3 個標(biāo)準(zhǔn)偏差范圍內(nèi)。
這使我們可以輕松估計變量的變化性,并給出相應(yīng)置信水平,它的可能取值是多少。例如,在上面的灰色鐘形曲線中,變量值在 99-101 之間的可能性為 68.2%。
正態(tài)概率分布函數(shù)
概率密度函數(shù)的形式如下:
?? ? ??
概率密度函數(shù)基本上可以看作是連續(xù)隨機變量取值的概率。
正態(tài)分布是鐘形曲線,其中mean = mode = median。
如果使用概率密度函數(shù)繪制變量的概率分布曲線,則給定范圍的曲線下的面積,表示目標(biāo)變量在該范圍內(nèi)取值的概率。
概率分布曲線基于概率分布函數(shù),而概率分布函數(shù)本身是根據(jù)諸如平均值或標(biāo)準(zhǔn)差等多個參數(shù)計算的。
我們可以使用概率分布函數(shù)來查找隨機變量取值范圍內(nèi)的值的相對概率。?例如,我們可以記錄股票的每日收益,將它們分組到適當(dāng)?shù)募项愔?#xff0c;然后計算股票在未來獲得20-40%收益的概率。
標(biāo)準(zhǔn)差越大,樣品中的變化性越大。
如何使用 Python 探索變量的概率分布
最簡單的方法是加載 data frame 中的所有特征,然后運行以下腳本(使用pandas 庫):
DataFrame.hist(bins=10)#Make a histogram of the DataFrame.該函數(shù)向我們展示了所有變量的概率分布。
變量服從正態(tài)分布意味著什么?
如果我們將大量具有不同分布的隨機變量加起來,所得到的新變量將最終具有正態(tài)分布。這就是前文所述的中心極限定理。
服從正態(tài)分布的變量總是服從正態(tài)分布。?例如,假設(shè) A 和 B 是兩個具有正態(tài)分布的變量,那么:
??A x B 是正態(tài)分布
??A + B 是正態(tài)分布
因此,使用正態(tài)分布,預(yù)測變量并在一定范圍內(nèi)找到它的概率會變得非常簡單。
樣本不服從正態(tài)分布怎么辦?
我們可以將變量的分布轉(zhuǎn)換為正態(tài)分布。
我們有多種方法將非正態(tài)分布轉(zhuǎn)化為正態(tài)分布:
1.線性變換
一旦我們收集到變量的樣本數(shù)據(jù),我們就可以對樣本進行線性變化,并計算Z得分:
計算平均值
計算標(biāo)準(zhǔn)偏差
對于每個 x,使用以下方法計算 Z:
? ? ? ??? ? ?
2.使用 Boxcox 變換
我們可以使用 SciPy 包將數(shù)據(jù)轉(zhuǎn)換為正態(tài)分布:
scipy.stats.boxcox(x,?lmbda=None,?alpha=None)3.使用 Yeo-Johnson 變換
另外,我們可以使用 yeo-johnson 變換。?Python 的 sci-kit learn 庫提供了相應(yīng)的功能:
sklearn.preprocessing.PowerTransformer(method=’yeojohnson’,standardize=True,?copy=True)正態(tài)分布的問題
由于正態(tài)分布簡單且易于理解,因此它也在預(yù)測研究中被過度使用。?假設(shè)變量服從正態(tài)分布會有一些顯而易見的缺陷。?例如,我們不能假設(shè)股票價格服從正態(tài)分布,因為價格不能為負。?因此,我們可以假設(shè)股票價格服從對數(shù)正態(tài)分布,以確保它永遠不會低于零。
我們知道股票收益可能是負數(shù),因此收益可以假設(shè)服從正態(tài)分布。
假設(shè)變量服從正態(tài)分布而不進行任何分析是愚蠢的。
變量可以服從Poisson,Student-t 或 Binomial 分布,盲目地假設(shè)變量服從正態(tài)分布可能導(dǎo)致不準(zhǔn)確的結(jié)果。
總結(jié)
本文闡述了正態(tài)分布的概念和性質(zhì),以及它如此重要的原因。
希望能幫助到你。
原文鏈接:http://bit.ly/2NyetFz
(*本文為 AI科技大本營翻譯文章,轉(zhuǎn)載請聯(lián)系?1092722531)
◆
精彩推薦
◆
“只講技術(shù),拒絕空談”!2019 AI開發(fā)者大會將于9月6日-7日在北京舉行!這一屆AI開發(fā)者大會有哪些亮點?一線公司的大牛們都在關(guān)注什么?AI行業(yè)的風(fēng)向是什么?2019 AI開發(fā)者大會,傾聽大牛分享,聚焦技術(shù)實踐,和萬千開發(fā)者共成長!
目前,大會盲訂票限量發(fā)售中~掃碼購票,領(lǐng)先一步!
推薦閱讀:
干貨 | Python后臺開發(fā)的高并發(fā)場景優(yōu)化解決方案
200行代碼實現(xiàn)一個滑動驗證碼
爬蟲到底違法嗎?這位爬蟲工程師給出了答案
收藏!本、碩、博、程序員必備神器
阿里巴巴楊群:高并發(fā)場景下Python的性能挑戰(zhàn)
24式,加速你的Python
Python從入門到精通,這篇文章為你列出了25個關(guān)鍵技術(shù)點(附代碼)
500行Python代碼打造刷臉考勤系統(tǒng)
總結(jié)
以上是生活随笔為你收集整理的python绘制正态分布函数_学好正态分布有多重要?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基金指数温度怎么算_成都冬季想装明装暖气
- 下一篇: 如何使用jquery_好程序员web前端