二項分佈(Binomial Distribution)
對Bernoulli試驗序列的n次序列,結局A出現的次數x的機率分佈服從二項分佈
- 兩分類變量並不是必定會服從二項分佈
- 模擬伯努利試驗中n次獨立的重複,每次試驗成功的機率爲piide
特徵值
- 均值(數學指望)和方差:
- 不一樣的值,二項式分佈有着不一樣的形態和偏度值
- pi值越大,呈負偏度;pi值越小,呈正偏度
- 當 pi = 0.5時,分佈是對稱的
- 當 n * pi 與 n * (1-pi) >= 5 時,樣本比例p的抽樣分佈趨向於正態分佈
- 當 n 較大,pi不太極端時,能夠採用正態近似方法計算機率分佈規律spa
應用code
- 博彩行業的規則設定
- 正常值範圍的設定(例:醫療行業)orm
# 對二項分佈概念的理解及計算blog
1 # 對二項分佈概念的理解及計算 2 3 from scipy.stats import binom 4 5 pi = .3; n = 10 6 k = 2; m = 8 7 8 # 求成功次數爲i的機率 9 pk = 0 10 for i in range(n): 11 p = binom( n, pi ).pmf( i ) 12 if i <= k: 13 pk += p 14 print( 'P(x = {0:d}) = {1:.4f}'.format( i , p )) 15 16 # 求成功小於k次的機率 17 print('-'*20) 18 p = binom( n, pi ).cdf( k ) 19 print( 'P(x <= {0:d}) = {1:.4f}'.format( k , p )) 20 print( '比較累加值:', pk) 21 22 # 求成功大於k次,小於m次的機率 23 print('-'*20) 24 p = binom( n, pi ).cdf( m ) - binom( n, pi ).cdf( k ) 25 print( 'P({0:d} < x <= {1:d}) = {2:.4f}'.format( k , m, p ))
運行結果:ip
# 比較:p對結果的影響ci
1 import numpy as np 2 from scipy.stats import binom 3 import matplotlib.pyplot as plt 4 5 num_trials = 60 6 x = np.arange(num_trials) 7 8 plt.plot(x, binom(num_trials, 0.2).pmf(x), 'o-', label='p=0.2') 9 plt.plot(x, binom(num_trials, 0.5).pmf(x), 'o-', label='p=0.5') 10 plt.plot(x, binom(num_trials, 0.7).pmf(x), 'o-', label='p=0.7') 11 plt.legend() 12 plt.title( '二項分佈:p對結果的影響' ) 13 plt.show() 14 print('當p不一樣時,成功m次的能性的最大值都出如今均值處,對應機率爲n*p')
結果:數學
# 比較:n對結果的影響it
1 import numpy as np 2 from scipy.stats import binom 3 import matplotlib.pyplot as plt 4 5 n1 = 10 6 n2 = 15 7 n3 = 20 8 p = 0.5 9 x = np.arange( max([n1,n2,n3])+1 ) 10 11 plt.plot( x, binom.pmf( x, p = 0.5, n = n1), 'o-', label='n=10') 12 plt.plot( x, binom.pmf( x, p = 0.5, n = n2), 'o-', label='n=15') 13 plt.plot( x, binom.pmf( x, p = 0.5, n = n3), 'o-', label='n=20') 14 plt.legend() 15 plt.title( '二項分佈:n對結果的影響' ) 16 plt.show() 17 print('當N不一樣時,成功m次的可能性的最大值都出如今均值處,對應機率爲n*p。')
結果:io