91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中伯努利分布的示例分析

發布時間:2021-06-08 11:53:34 來源:億速云 閱讀:451 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“python中伯努利分布的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“python中伯努利分布的示例分析”這篇文章吧。

伯努利分布 是一種離散分布,有兩種可能的結果。1表示成功,出現的概率為p(其中0<p<1)。0表示失敗,出現的概率為q=1-p。這種分布在人工智能里很有用,比如你問機器今天某飛機是否起飛了,它的回復就是Yes或No,非常明確,這個分布在分類算法里使用比較多,因此在這里先學習 一下。

概率分布有兩種類型:離散(discrete)概率分布和連續(continuous)概率分布。

離散概率分布也稱為概率質量函數(probability mass function)。離散概率分布的例子有伯努利分布(Bernoulli distribution)、二項分布(binomial distribution)、泊松分布(Poisson distribution)和幾何分布(geometric distribution)等。

連續概率分布也稱為概率密度函數(probability density function),它們是具有連續取值(例如一條實線上的值)的函數。正態分布(normal distribution)、指數分布(exponential distribution)和β分布(beta distribution)等都屬于連續概率分布。

from scipy.stats import binom #導入伯努利分布
import matplotlib.pyplot as plt
import numpy as np
#次數
n = 10
#概率
p = 0.3
#導入特征系數
k = np.arange(0, 21)
#伯努利分布的特征值導入
binomial = binom.pmf(k, n, p)
plt.plot(k, binomial, 'o-')
plt.title('Binomial: n = %i, p=%0.2f' % (n, p), fontsize=15)
plt.xlabel('Number of successes')
plt.ylabel('Probability of sucesses', fontsize=15)
plt.savefig(r'C:\Users\Administrator\Desktop\106\data\textdata\12.png')
plt.show()

二項分布:離散型概率分布,n 重伯努利分布

如果隨機變量序列 Xn(n=1, 2, …) 中的隨機變量均服從與參數為 p 的伯努利分布,那么隨機變量序列 Xn 就形成了參數為 p 的 n 重伯努利試驗。例如,假定重復拋擲一枚均勻硬幣 n 次,如果在第 i 次拋擲中出現正面,令 Xi=1;如果出現反面,則令 Xi=0。那么,隨機變量 Xn(n=1, 2, …) 就形成了參數為 1/2 的 n 重伯努利試驗。

可見,n 重伯努利試驗需滿足下列條件:

每次試驗只有兩種結果,即 X=1,或 X=0

各次試驗中的事件互相獨立,且 X=1 和 X=0 的概率分別為 p(0<p<1) 和 q=1-p

n 重伯努利試驗的結果就是 n 重伯努利分布,即二項分布。反之,當 Xn(n=1) 時,二項分布的結果服從于伯努利分布。因為二項分布實際上是進行了 n 次的伯努利分布,所以二項分布的離散型隨機變量期望為 E(x)=np,方差為 D(x)=np(1-p) 。

需要注意的是,滿足二項分布的樣本空間有一個非常重要的性質,假設進行 n 次獨立試驗,滿足二項分布(每次試驗成功的概率為 p,失敗的概率為 1?p),那么成功的次數 X 就是一個參數為 n 和 p 的二項隨機變量,即滿足下述公式:

P(X=k) = C(n, k) * p^k * (1-p)^(n-k)

X=k,試驗 n 次,成功的次數恰好有 k 次的隨機變量(事件)

C(n, k),表示從集合 n 中取出 k 個元素的組合數,結果為 n!/(k!*(n-k)!)

例如,小明參加雅思考試,每次考試的通過率 1/3,不通過率為 q=2/3。如果小明連續參加考試 4 次,那么恰好有兩次通過的概率是多少?

解析:因為每次考試只有兩種結果,通過或不通過,符合條件 (1);每次考試結果互相獨立,且概率不變,符合條件 (2)。滿足二項分布樣本,代入公式求解得概率為:C(4, 2)*(1/2)^2*(2/3)^(4-2) ≈ 8/27

二項分布概率直方圖:

python中伯努利分布的示例分析

圖形特性:

當 p=q 時,圖形是對稱的

當 p≠q 時,圖形呈偏態,p<q 與 p>q 的偏斜方向相反

當 (n+1)p 不為整數時,二項概率 P(X=k) 在 k=(n+1)*p 時達到最大值

當 (n+1)p 為整數時,二項概率 P(X=k) 在 k=(n+1)*p 和 k=(n+1)*p-1 時達到最大值

NOTE:當 n 很大時,即使 p≠q,二項分布概率直方圖的偏態也會逐漸降低,最終成為正態分布。也就是說,二項分布的極限情形即為正態分布,故當 n 很大時,二項分布的概率可用正態分布的概率作為近似值。那么 n 需要多大才可謂之大呢?

一般規定,當 p<q 且 np≥5,或 p>q 且 nq≥5 時,這時的 n 就足夠大了,可以用正態分布的概率作為近似值。則正態分布參數 μ=np,σ^2=np(1-p) 。

二項分布:

from scipy.stats import binom 
import matplotlib.pyplot as plt
import numpy as np
fig,ax = plt.subplots(1,1)
n = 100
p = 0.5
#平均值, 方差, 偏度, 峰度
mean,var,skew,kurt=binom.stats(n,p,moments='mvsk')
print(mean,var,skew,kurt)
#ppf:累積分布函數的反函數。q=0.01時,ppf就是p(X<x)=0.01時的x值。
x=np.arange(binom.ppf(0.01,n,p),binom.ppf(0.99,n,p))
ax.plot(x,binom.pmf(x,n,p),'o')
plt.rcParams['font.sans-serif']=['SimHei']
plt.title(u'二項分布概率質量函數')
plt.savefig(r'C:\Users\Administrator\Desktop\106\data\textdata\1.png')
plt.show()

補充拓展:python--scipy--1離散概率分布:伯努利分布

#導入包
#數組包
import numpy as np
#繪圖包
import matplotlib.pyplot as plt
#統計計算包的統計模塊
from scipy import stats
'''
arange用于生成一個等差數組,arange([start, ]stop, [step, ]
使用見文檔:https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html
'''

'''
第1步,定義隨機變量:1次拋硬幣
成功指正面朝上記錄為1,失敗指反面朝上記錄為0
'''
X = np.arange(0, 2,1)
X

array([0, 1])

'''
伯努利分布官方使用文檔:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.bernoulli.html#scipy.stats.bernoulli
'''
#第2步,#求對應分布的概率:概率質量函數 (PMF)
#它返回一個列表,列表中每個元素表示隨機變量中對應值的概率
p = 0.5 # 硬幣朝上的概率
pList = stats.bernoulli.pmf(X, p)
pList

array([0.5, 0.5])

#第3步,繪圖
'''
plot默認繪制折線,這里我們只繪制點,所以傳入下面的參數:
marker:點的形狀,值o表示點為圓圈標記(circle marker)
linestyle:線條的形狀,值None表示不顯示連接各個點的折線
'''
plt.plot(X, pList, marker='o',linestyle='None')
'''
vlines用于繪制豎直線(vertical lines),
參數說明:vline(x坐標值, y坐標最小值, y坐標值最大值)
我們傳入的X是一個數組,是給數組中的每個x坐標值繪制豎直線,
豎直線y坐標最小值是0,y坐標值最大值是對應pList中的值
官網文檔:https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.vlines
'''
plt.rcParams['font.sans-serif']=['SimHei'] 
plt.vlines(X, 0, pList)
#x軸文本
plt.xlabel('隨機變量:拋硬幣1次')
#y軸文本
plt.ylabel('概率')
#標題
plt.title('伯努利分布:p=%.2f' % p)
#顯示圖形
plt.show()

python中伯努利分布的示例分析

以上是“python中伯努利分布的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

溆浦县| 宁乡县| 通城县| 洛宁县| 自贡市| 松江区| 香河县| 西乌| 固始县| 黄浦区| 绥江县| 岳阳县| 锡林浩特市| 广昌县| 固安县| 安图县| 高青县| 大足县| 上思县| 雷山县| 万山特区| 昭苏县| 唐山市| 江西省| 肥城市| 襄樊市| 庆安县| 肃南| 临泉县| 沂源县| 禄劝| 镇巴县| 綦江县| 扎鲁特旗| 宁安市| 庆阳市| 玉林市| 米林县| 大邑县| 志丹县| 根河市|