亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:Runsen

二項分布

包含n個相同的試驗 每次試驗只有兩個可能的結果:“成功”或“失敗”。出現成功的概率p對每一次試驗是相同的,失敗的概率q也是如此,且p+q=1。試驗是互相獨立的。試驗成功或失敗可以計數,即試驗結果對應于一個離散型隨機變量。

以X表示n次重復獨立試驗中事件A(成功)出現的次數,則

Python實現概率分布,學數據統計的需要收藏

 

在Python中,可以使用scipy.stats模塊中的binom.rvs()方法生成符合二項分布的離散隨機變量。該方法的參數n表示n次重復獨立試驗,p表示事件A出現的次數。size表示做多少次二項分布試驗。

同時,本文中使用seaborn的distplot方法繪制隨機變量分布的直方圖。在大數據量的試驗下,通過隨機變量出現的頻率除以試驗的次數,可以得到特定離散隨機變量出現的概率。

from scipy.stats import binom
import seaborn as sns
data_binom = binom.rvs(n=10,p=0.5,size=10000)
ax = sns.distplot(data_binom,
                  kde=False,
                  color='green',
                  hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Binomial Distribution', ylabel='Frequency')
Python實現概率分布,學數據統計的需要收藏

 

# 可以打印隨機變量的值,按照定義,其值為出現A事件的次數,范圍肯定在[0,1]
print(data_binom)
[2 3 6 ... 5 4 3]

以拋硬幣試驗解析上圖,得出連續拋10次硬幣,5次為正面的概率最高,概率趨近于2500/10000=25%。

貝努里分布(Bernoulli Distribution)

貝努里分布為特殊的二項分布,即每次執行一次試驗(n=1),然后獲取單次試驗的隨機變量的值,為0或1。所以貝努里分布也被稱為0-1分布。其分布函數為:

Python實現概率分布,學數據統計的需要收藏

 

在python中,可以使用scipy.stats模塊中的bernoulli.rvs()方法生成符合二項分布的離散隨機變量。其它參數同二項分布。

from scipy.stats import bernoulli
data_bern = bernoulli.rvs(size=10000,p=0.5)
ax= sns.distplot(data_bern,
                 kde=False,
                 color="green",
                 hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Bernoulli Distribution', ylabel='Frequency')
Python實現概率分布,學數據統計的需要收藏

 

以拋硬幣試驗解析上圖,得出正面和反面出現的概率,趨近于5000/10000=50%。

幾何分布(Geometric distribution)

幾何分布是指在n次貝努里試驗中,經過k次獲得1次成功的概率。

 幾何分布的特點:
(1)進行一系列相互獨立的試驗;
(2)每一次試驗既有成功的可能,也有失敗的可能,且單次試驗的成功概率相同;
(3)主要是為了取得第一次成功需要進行多少次試驗。

其分布函數為:

Python實現概率分布,學數據統計的需要收藏

 

在python中,可以使用scipy.stats模塊中的geom.rvs()方法得出幾何分布的離散隨機變量。

from scipy.stats import geom
data_geom = geom.rvs(size=10000,p=0.5)
ax= sns.distplot(data_geom,
                 kde=False,
                 color="green",
                 hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Geometric Distribution', ylabel='Frequency')
Python實現概率分布,學數據統計的需要收藏

 

泊松分布(Poisson distribution)

泊松分布是用來描述在一指定時間范圍內或在指定的面積或體積之內某一事件出現的次數的分布,例如某企業每月發生事故的次數。

泊松分布的公式為:

Python實現概率分布,學數據統計的需要收藏

 

式中,為給定的時間間隔內事件的平均數。

在python中,可以使用scipy.stats模塊中的poisson.rvs()方法得出泊松分布的連續隨機變量。其中參數mu即為公式中的,其它參數同上文方法。

from scipy.stats import poisson
data_poisson = poisson.rvs(mu=3, size=10000)
ax = sns.distplot(data_poisson,
                  bins=30,
                  kde=False,
                  color="green",
                  hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Poisson Distribution', ylabel='Frequency')
Python實現概率分布,學數據統計的需要收藏

 

正態分布(Normal Distribution)

在連續型隨機變量中,最重要的一種隨機變量是具有鐘形概率分布的隨機變量。人們稱它為正態隨機變量,相應的概率分布稱為正態分布。

如果隨機變量X的概率密度為:

Python實現概率分布,學數據統計的需要收藏

 

則稱X服從正態分布,記作,其中,,, 為隨機變量X的均值,為隨機變量X的標準差,它們是正態分布的兩個參數。

在python中,可以使用scipy.stats模塊中的norm.rvs()方法產生符合二項分布的連續隨機變量。其中參數loc代表隨機變量的均值,size變量代表隨機變量的標準差。

from scipy.stats import norm
# 生成標準正態分布,N(0,1)
data_normal = norm.rvs(size=10000,loc=0,scale=1)
ax = sns.distplot(data_normal,
                  bins=100,
                  kde=True,
                  color="green",
                  hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Normal Distribution', ylabel='Frequency')
Python實現概率分布,學數據統計的需要收藏

 

總結

本文通過scipy.stats包中的隨機分布函數rvs方法(Random variates),執行10000次隨機變量的計算,通過隨機變量值個數直方圖的繪制得出特定分布的圖形。另外,也可以通過隨機分布函數的pmf方法直接獲得指定參數下的概率值,然后畫出參數與概率的對應關系,但在本文中不做展開。

分享到:
標簽:概率 分布 Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定