python畫分布函數(shù) Python經(jīng)驗分布函數(shù)

Python 同時繪制多個聯(lián)合分布圖

首先導入必要的包

成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設、網(wǎng)絡營銷策劃、小程序開發(fā)、電子商務建設、網(wǎng)絡推廣、移動互聯(lián)開發(fā)、研究、服務為一體的技術型公司。公司成立10多年以來,已經(jīng)為超過千家成都PVC花箱各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務。現(xiàn)在,服務的超過千家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

編寫一個函數(shù)來設置繪圖區(qū)域的樣式,主要是隱藏一些刻度和邊框讓整體看起來不要過于凌亂。

最后就是用數(shù)據(jù)畫圖了,其中有個額外的操作是使用了 zorder 參數(shù)設置了散點圖和KDE圖的前后層次。

剩下的部分如法炮制就可以了。

使用Python構造經(jīng)驗累積分布函數(shù)(ECDF)

對于一個樣本序列 ,經(jīng)驗累積分布函數(shù) (Empirical Cumulative Distribution Function)可被定義為

其中 是一個指示函數(shù),如果 ,指示函數(shù)取值為1,否則取值為0,因此 能反映在樣本中小于 的元素數(shù)量占比。

根據(jù)格利文科定理(Glivenko–Cantelli Theorem),如果一個樣本滿足獨立同分布(IID),那么其經(jīng)驗累積分布函數(shù) 會趨近于真實的累積分布函數(shù) 。

首先定義一個類,命名為ECDF:

我們采用均勻分布(Uniform)進行驗證,導入 uniform 包,然后進行兩輪抽樣,第一輪抽取10次,第二輪抽取1000次,比較輸出的結果。

輸出結果為:

而我們知道,在真實的0到1均勻分布中, 時, ,從模擬結果可以看出,樣本量越大,最終的經(jīng)驗累積分布函數(shù)值也越接近于真實的累積分布函數(shù)值,因此格利文科定理得以證明。

統(tǒng)計學入門級:常見概率分布+python繪制分布圖

如果隨機變量X的所有取值都可以逐個列舉出來,則稱X為離散型隨機變量。相應的概率分布有二項分布,泊松分布。

如果隨機變量X的所有取值無法逐個列舉出來,而是取數(shù)軸上某一區(qū)間內的任一點,則稱X為連續(xù)型隨機變量。相應的概率分布有正態(tài)分布,均勻分布,指數(shù)分布,伽馬分布,偏態(tài)分布,卡方分布,beta分布等。(真多分布,好恐怖~~)

在離散型隨機變量X的一切可能值中,各可能值與其對應概率的乘積之和稱為該隨機變量X的期望值,記作E(X) 。比如有隨機變量,取值依次為:2,2,2,4,5。求其平均值:(2+2+2+4+5)/5 = 3。

期望值也就是該隨機變量總體的均值。 推導過程如下:

= (2+2+2+4+5)/5

= 1/5 2 3 + 4/5 + 5/5

= 3/5 2 + 1/5 4 + 1/5 5

= 0.6 2 + 0.2 4 + 0.2 5

= 60% 2 + 20% 4 + 20%*5

= 1.2 + 0.8 + 1

= 3

倒數(shù)第三步可以解釋為值為2的數(shù)字出現(xiàn)的概率為60%,4的概率為20%,5的概率為20%。 所以E(X) = 60% 2 + 20% 4 + 20%*5 = μ = 3。

0-1分布(兩點分布),它的隨機變量的取值為1或0。即離散型隨機變量X的概率分布為:P{X=0} = 1-p, P{X=1} = p,即:

則稱隨機變量X服從參數(shù)為p的0-1分布,記作X~B(1,p)。

在生活中有很多例子服從兩點分布,比如投資是否中標,新生嬰兒是男孩還是女孩,檢查產(chǎn)品是否合格等等。

大家非常熟悉的拋硬幣試驗對應的分布就是二項分布。拋硬幣試驗要么出現(xiàn)正面,要么就是反面,只包含這兩個結果。出現(xiàn)正面的次數(shù)是一個隨機變量,這種隨機變量所服從的概率分布通常稱為 二項分布 。

像拋硬幣這類試驗所具有的共同性質總結如下:(以拋硬幣為例)

通常稱具有上述特征的n次重復獨立試驗為n重伯努利試驗。簡稱伯努利試驗或伯努利試驗概型。特別地,當試驗次數(shù)為1時,二項分布服從0-1分布(兩點分布)。

舉個栗子:拋3次均勻的硬幣,求結果出現(xiàn)有2個正面的概率 。

已知p = 0.5 (出現(xiàn)正面的概率) ,n = 3 ,k = 2

所以拋3次均勻的硬幣,求結果出現(xiàn)有2個正面的概率為3/8。

二項分布的期望值和方差 分別為:

泊松分布是用來描述在一 指定時間范圍內或在指定的面積或體積之內某一事件出現(xiàn)的次數(shù)的分布 。生活中服從泊松分布的例子比如有每天房產(chǎn)中介接待的客戶數(shù),某微博每月出現(xiàn)服務器癱瘓的次數(shù)等等。 泊松分布的公式為 :

其中 λ 為給定的時間間隔內事件的平均數(shù),λ = np。e為一個數(shù)學常數(shù),一個無限不循環(huán)小數(shù),其值約為2.71828。

泊松分布的期望值和方差 分別為:

使用Python繪制泊松分布的概率分布圖:

因為連續(xù)型隨機變量可以取某一區(qū)間或整個實數(shù)軸上的任意一個值,所以通常用一個函數(shù)f(x)來表示連續(xù)型隨機變量,而f(x)就稱為 概率密度函數(shù) 。

概率密度函數(shù)f(x)具有如下性質 :

需要注意的是,f(x)不是一個概率,即f(x) ≠ P(X = x) 。在連續(xù)分布的情況下,隨機變量X在a與b之間的概率可以寫成:

正態(tài)分布(或高斯分布)是連續(xù)型隨機變量的最重要也是最常見的分布,比如學生的考試成績就呈現(xiàn)出正態(tài)分布的特征,大部分成績集中在某個范圍(比如60-80分),很小一部分往兩端傾斜(比如50分以下和90多分以上)。還有人的身高等等。

正態(tài)分布的定義 :

如果隨機變量X的概率密度為( -∞x+∞):

則稱X服從正態(tài)分布,記作X~N(μ,σ2)。其中-∞μ+∞,σ0, μ為隨機變量X的均值,σ為隨機變量X的標準差。 正態(tài)分布的分布函數(shù)

正態(tài)分布的圖形特點 :

使用Python繪制正態(tài)分布的概率分布圖:

正態(tài)分布有一個3σ準則,即數(shù)值分布在(μ-σ,μ+σ)中的概率為0.6827,分布在(μ-2σ,μ+2σ)中的概率為0.9545,分布在(μ-3σ,μ+3σ)中的概率為0.9973,也就是說大部分數(shù)值是分布在(μ-3σ,μ+3σ)區(qū)間內,超出這個范圍的可能性很小很小,僅占不到0.3%,屬于極個別的小概率事件,所以3σ準則可以用來檢測異常值。

當μ=0,σ=1時,有

此時的正態(tài)分布N(0,1) 稱為標準正態(tài)分布。因為μ,σ都是確定的取值,所以其對應的概率密度曲線是一條 形態(tài)固定 的曲線。

對標準正態(tài)分布,通常用φ(x)表示概率密度函數(shù),用Φ(x)表示分布函數(shù):

假設有一次物理考試特別難,滿分100分,全班只有大概20個人及格。與此同時語文考試很簡單,全班絕大部分都考了90分以上。小明的物理和語文分別考了60分和80分,他回家后告訴家長,這時家長能僅僅從兩科科目的分值直接判斷出這次小明的語文成績要比物理好很多嗎?如果不能,應該如何判斷呢?此時Z-score就派上用場了。 Z-Score的計算定義 :

即 將隨機變量X先減去總體樣本均值,再除以總體樣本標準差就得到標準分數(shù)啦。如果X低于平均值,則Z為負數(shù),反之為正數(shù) 。通過計算標準分數(shù),可以將任何一個一般的正態(tài)分布轉化為標準正態(tài)分布。

小明家長從老師那得知物理的全班平均成績?yōu)?0分,標準差為10,而語文的平均成績?yōu)?2分,標準差為4。分別計算兩科成績的標準分數(shù):

物理:標準分數(shù) = (60-40)/10 = 2

語文:標準分數(shù) = (85-95)/4 = -2.5

從計算結果來看,說明這次考試小明的物理成績在全部同學中算是考得很不錯的,而語文考得很差。

指數(shù)分布可能容易和前面的泊松分布混淆,泊松分布強調的是某段時間內隨機事件發(fā)生的次數(shù)的概率分布,而指數(shù)分布說的是 隨機事件發(fā)生的時間間隔 的概率分布。比如一班地鐵進站的間隔時間。如果隨機變量X的概率密度為:

則稱X服從指數(shù)分布,其中的參數(shù)λ0。 對應的分布函數(shù) 為:

均勻分布的期望值和方差 分別為:

使用Python繪制指數(shù)分布的概率分布圖:

均勻分布有兩種,分為 離散型均勻分布和連續(xù)型均勻分布 。其中離散型均勻分布最常見的例子就是拋擲骰子啦。拋擲骰子出現(xiàn)的點數(shù)就是一個離散型隨機變量,點數(shù)可能有1,2,3,4,5,6。每個數(shù)出現(xiàn)的概率都是1/6。

設連續(xù)型隨機變量X具有概率密度函數(shù):

則稱X服從區(qū)間(a,b)上的均勻分布。X在等長度的子區(qū)間內取值的概率相同。對應的分布函數(shù)為:

f(x)和F(x)的圖形分別如下圖所示:

均勻分布的期望值和方差 分別為:

如何在Python中實現(xiàn)這五類強大的概率分布

要使用Python實現(xiàn)一些離散和連續(xù)的概率分布。雖然我不會討論這些分布的數(shù)學細節(jié),但我會以鏈接的方式給你一些學習這些統(tǒng)計學概念的好資料。在討論這些概率分布之前,我想簡單說說什么是隨機變量(randomvariable)。隨機變量是對一次試驗結果的量化。舉個例子,一個表示拋硬幣結果的隨機變量可以表示成PythonX={1如果正面朝上,2如果反面朝上}12X={1如果正面朝上,2如果反面朝上}隨機變量是一個變量,它取值于一組可能的值(離散或連續(xù)的),并服從某種隨機性。隨機變量的每個可能取值的都與一個概率相關聯(lián)。隨機變量的所有可能取值和與之相關聯(lián)的概率就被稱為概率分布(probabilitydistributrion)。我鼓勵大家仔細研究一下scipy.stats模塊。概率分布有兩種類型:離散(discrete)概率分布和連續(xù)(continuous)概率分布。離散概率分布也稱為概率質量函數(shù)(probabilitymassfunction)。離散概率分布的例子有伯努利分布(Bernoullidistribution)、二項分布(binomialdistribution)、泊松分布(Poissondistribution)和幾何分布(geometricdistribution)等。連續(xù)概率分布也稱為概率密度函數(shù)(probabilitydensityfunction),它們是具有連續(xù)取值(例如一條實線上的值)的函數(shù)。正態(tài)分布(normaldistribution)、指數(shù)分布(exponentialdistribution)和β分布(betadistribution)等都屬于連續(xù)概率分布。若想了解關于離散和連續(xù)隨機變量的知識,你可以觀看可汗學院關于概率分布的視頻。二項分布(BinomialDistribution)服從二項分布的隨機變量X表示在n個獨立的是/非試驗中成功的次數(shù),其中每次試驗的成功概率為p。E(X)=np,Var(X)=np(1?p)如果你想知道每個函數(shù)的原理,你可以在IPython筆記本中使用helpfile命令。E(X)表示分布的期望或平均值。鍵入stats.binom?了解二項分布函數(shù)binom的信息。二項分布的例子:拋擲10次硬幣,恰好兩次正面朝上的概率是多少?假設在該試驗中正面朝上的概率為0.3,這意味著平均來說,我們可以期待有3次是硬幣正面朝上的。我定義擲硬幣的所有可能結果為k=np.arange(0,11):你可能觀測到0次正面朝上、1次正面朝上,一直到10次正面朝上。我使用stats.binom.pmf計算每次觀測的概率質量函數(shù)。它返回一個含有11個元素的列表(list),這些元素表示與每個觀測相關聯(lián)的概率值。您可以使用.rvs函數(shù)模擬一個二項隨機變量,其中參數(shù)size指定你要進行模擬的次數(shù)。我讓Python返回10000個參數(shù)為n和p的二項式隨機變量。我將輸出這些隨機變量的平均值和標準差,然后畫出所有的隨機變量的直方圖。泊松分布(PoissonDistribution)一個服從泊松分布的隨機變量X,表示在具有比率參數(shù)(rateparameter)λ的一段固定時間間隔內,事件發(fā)生的次數(shù)。參數(shù)λ告訴你該事件發(fā)生的比率。隨機變量X的平均值和方差都是λ。E(X)=λ,Var(X)=λ泊松分布的例子:已知某路口發(fā)生事故的比率是每天2次,那么在此處一天內發(fā)生4次事故的概率是多少?讓我們考慮這個平均每天發(fā)生2起事故的例子。泊松分布的實現(xiàn)和二項分布有些類似,在泊松分布中我們需要指定比率參數(shù)。泊松分布的輸出是一個數(shù)列,包含了發(fā)生0次、1次、2次,直到10次事故的概率。我用結果生成了以下圖片。你可以看到,事故次數(shù)的峰值在均值附近。平均來說,你可以預計事件發(fā)生的次數(shù)為λ。嘗試不同的λ和n的值,然后看看分布的形狀是怎么變化的?,F(xiàn)在我來模擬1000個服從泊松分布的隨機變量。正態(tài)分布(NormalDistribution)正態(tài)分布是一種連續(xù)分布,其函數(shù)可以在實線上的任何地方取值。正態(tài)分布由兩個參數(shù)描述:分布的平均值μ和方差σ2。E(X)=μ,Var(X)=σ2正態(tài)分布的取值可以從負無窮到正無窮。你可以注意到,我用stats.norm.pdf得到正態(tài)分布的概率密度函數(shù)。β分布(BetaDistribution)β分布是一個取值在[0,1]之間的連續(xù)分布,它由兩個形態(tài)參數(shù)α和β的取值所刻畫。β分布的形狀取決于α和β的值。貝葉斯分析中大量使用了β分布。當你將參數(shù)α和β都設置為1時,該分布又被稱為均勻分布(uniformdistribution)。嘗試不同的α和β取值,看看分布的形狀是如何變化的。指數(shù)分布(ExponentialDistribution)指數(shù)分布是一種連續(xù)概率分布,用于表示獨立隨機事件發(fā)生的時間間隔。比如旅客進入機場的時間間隔、打進客服中心電話的時間間隔、中文維基百科新條目出現(xiàn)的時間間隔等等。我將參數(shù)λ設置為0.5,并將x的取值范圍設置為$[0,15]$。接著,我在指數(shù)分布下模擬1000個隨機變量。scale參數(shù)表示λ的倒數(shù)。函數(shù)np.std中,參數(shù)ddof等于標準偏差除以$n-1$的值。/81321/

python制作分布圖

制作分布圖類似密度圖,在python中利用pandas來提取分布數(shù)據(jù)是比較方便的。主要用到pandas的cut和groupby等函數(shù)。

官方文檔鏈接

主要參數(shù)為x和bins。

x為數(shù)據(jù)源,數(shù)組格式的都支持,list,numpy.narray, pandas.Series。

bins可以為int,也可以為序列。

我們定義bins為一個序列,默認為左開右閉的區(qū)間:

對言值列按cats做groupby,然后調用get_stats統(tǒng)計函數(shù),再用unstack函數(shù)將層次化的行索引“展開”為列。

G2在之前的文章中有介紹,文章 《python結合G2繪制精美圖形》 。

一句話繪制出來,但具體的區(qū)間段難以區(qū)分出來。

bokeh是python的一個優(yōu)秀的繪圖工具包,與pandas結合的比較好。 bokeh文檔

作者原文鏈接: python制作分布圖

Python 數(shù)據(jù)可視化:數(shù)據(jù)分布統(tǒng)計圖和熱圖

本課將繼續(xù)介紹 Seaborn 中的統(tǒng)計圖。一定要牢記,Seaborn 是對 Matplotlib 的高級封裝,它優(yōu)化了很多古老的做圖過程,因此才會看到一個函數(shù)解決問題的局面。

在統(tǒng)計學中,研究數(shù)據(jù)的分布情況,也是一個重要的工作,比如某些數(shù)據(jù)是否為正態(tài)分布——某些機器學習模型很在意數(shù)據(jù)的分布情況。

在 Matplotlib 中,可以通過繪制直方圖將數(shù)據(jù)的分布情況可視化。在 Seaborn 中,也提供了繪制直方圖的函數(shù)。

輸出結果:

sns.distplot 函數(shù)即實現(xiàn)了直方圖,還順帶把曲線畫出來了——曲線其實代表了 KDE。

除了 sns.distplot 之外,在 Seaborn 中還有另外一個常用的繪制數(shù)據(jù)分布的函數(shù) sns.kdeplot,它們的使用方法類似。

首先看這樣一個示例。

輸出結果:

① 的作用是設置所得圖示的背景顏色,這樣做的目的是讓下面的 ② 繪制的圖像顯示更清晰,如果不設置 ①,在顯示的圖示中看到的就是白底圖像,有的部分看不出來。

② 最終得到的是坐標網(wǎng)格,而且在圖中分為三部分,如下圖所示。

相對于以往的坐標網(wǎng)格,多出了 B 和 C 兩個部分。也就是說,不僅可以在 A 部分繪制某種統(tǒng)計圖,在 B 和 C 部分也可以繪制。

繼續(xù)操作:

輸出結果:

語句 ③ 實現(xiàn)了在坐標網(wǎng)格中繪制統(tǒng)計圖的效果,jp.plot 方法以兩個繪圖函數(shù)為參數(shù),分別在 A 部分繪制了回歸統(tǒng)計圖,在 B 和 C 部分繪制了直方圖,而且直方圖分別表示了對應坐標軸數(shù)據(jù)的分布,即:

我們把有語句 ② 和 ③ 共同實現(xiàn)的統(tǒng)計圖,稱為聯(lián)合統(tǒng)計圖。除了用 ② ③ 兩句可以繪制這種圖之外,還有一個函數(shù)也能夠“兩步并作一步”,具體如下:

輸出結果:

本文題目:python畫分布函數(shù) Python經(jīng)驗分布函數(shù)
標題來源:http://www.muchs.cn/article26/doocpcg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序企業(yè)建站、營銷型網(wǎng)站建設、域名注冊企業(yè)網(wǎng)站制作、品牌網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司