1、泊松分布
泊松分布適合于描述單位時間(或空間)內隨機事件發(fā)生的次數雇盖。如某一服務設施在一定時間內到達的人數忿等,電話交換機接到呼叫的次數,汽車站臺的候客人數崔挖,機器出現(xiàn)的故障數贸街,自然災害發(fā)生的次數,一塊產品上的缺陷數狸相,顯微鏡下單位分區(qū)內的細菌分布數等等薛匪。
期望
2、二項分布
二項分布就是重復n次獨立的伯努利試驗脓鹃。在每次試驗中只有兩種可能的結果逸尖,而且兩種結果發(fā)生與否互相對立,并且相互獨立,與其它各次試驗結果無關娇跟,事件發(fā)生與否的概率在每一次獨立試驗中都保持不變岩齿,則這一系列試驗總稱為n重伯努利實驗,當試驗次數為1時苞俘,二項分布服從0-1分布宗收。
from scipy.special import perm
from scipy.special import comb
plt.figure(figsize=(16,8),dpi=98)
p1 = plt.subplot(121)
p2 = plt.subplot(122)
#p1 = plt.subplot(121,aspect=5/2.5)
#p2 = plt.subplot(122,aspect=0.5/0.05)
I = range(30)
mu = 10
pi = [np.exp(-mu)*mu**i/np.math.factorial(i) for i in I]
p1.plot(I, pi, 'r')
def plotnp(pindex,n, mu, style, lable):
p = 1.0*mu/n
b = [comb(n,i)*p**i*(1-p)**(n-i) for i in I]
pindex.plot(I, b, style, label=lable,linewidth=2)
plotnp(p1,50, 10, 'b--', 'n=50')
plotnp(p1,100, 10, 'g-.', 'n=100')
plotnp(p1,200, 10, 'b-.', 'n=200')
plotnp(p1,1000, 10, 'g:', 'n=1000')
p1.legend()
# plot the box
tx0 = 7
tx1 = 13
ty0 = 0.1
ty1 = 0.15
sx = [tx0,tx1,tx1,tx0,tx0]
sy = [ty0,ty0,ty1,ty1,ty0]
p1.plot(sx,sy,"purple")
I = range(7,13)
pi = [np.exp(-mu)*mu**i/np.math.factorial(i) for i in I]
p2.plot(I, pi, 'r')
plotnp(p2,50, 10, 'b--', 'n=50')
plotnp(p2,100, 10, 'g-.', 'n=100')
plotnp(p2,200, 10, 'b-.', 'n=200')
plotnp(p2,1000, 10, 'g:', 'n=1000')
p2.legend()
xy=(13,0.12)
xy2 = (6.9,0.125)
con = ConnectionPatch(xyA=xy2,xyB=xy,coordsA="data",coordsB="data",
axesA=p2,axesB=p1)
p2.add_artist(con)
plt.show()
上圖中泊松分布λ=10升敲,二項分布固定np=λ=10,一般在λ概率取的最值,當n趨向∞時煞躬,圖中n=1000已經非常逼近泊松分布(紅色線)线婚。
3洋措、正態(tài)分布
正態(tài)分布(Normal distribution)剑按,也稱“常態(tài)分布”,又名高斯分布(Gaussian distribution)澜驮,最早由A.棣莫弗在求二項分布
的漸近公式中得到陷揪。C.F.高斯在研究測量誤差時從另一個角度導出了它。P.S.拉普拉斯和高斯研究了它的性質杂穷。是一個在數學悍缠、物理及工程等領域都非常重要的概率分布,在統(tǒng)計學的許多方面有著重大的影響力耐量。
若隨機變量X服從一個數學期望為μ飞蚓、方差為σ2的正態(tài)分布,記為N(μ廊蜒,σ2)趴拧。其概率密度函數為正態(tài)分布的期望值μ決定了其位置,其標準差σ決定了分布的幅度山叮。當μ = 0,σ = 1時的正態(tài)分布是標準正態(tài)分布著榴。
import numpy as np
def fun(x, mu=0, sigma=1):
return 1.0/(np.sqrt(2*np.pi)*sigma)*np.exp(-(x-mu)**2/(2*(sigma**2)))
mu = 50
x = np.linspace(0,2*mu,2*mu)
plt.plot(x, fun(x,mu, np.sqrt(mu)))
I = range(2*mu)
pi = [np.exp(-mu)*mu**i/np.math.factorial(i) for i in I]
plt.plot(I, pi, 'r')
plt.show()
泊松分布均值與方差都是λ圖中&lambda=50,非常逼近正態(tài)分布均值μ=50,方差=50,泊松分布的極限分布是正態(tài)分布屁倔,這樣可以用正態(tài)分布近似泊松分布脑又。
4、多項分布(二項分布推廣)
某隨機實驗如果有k個可能結局A1锐借、A2问麸、…、Ak瞎饲,分別將他們的出現(xiàn)次數記為隨機變量X1口叙、X2、…嗅战、Xk,它們的[概率分布]分別是p1,p2驮捍,…疟呐,pk,那么在n次采樣的總結果中东且,A1出現(xiàn)n1次启具、A2出現(xiàn)n2次、…珊泳、Ak出現(xiàn)nk次的這種事件的出現(xiàn)概率P有下面公式:
比如擲骰子會有6中結果鲁冯,每種結果概率都是1/6,假如我擲6次色查,各數字都出現(xiàn)一次的概率是多少
p(X1=1,X2=1...X6=1)=6!*1/6 * 1/6... * 1/6
5薯演、二維正態(tài)分布
密度函數
fig = plt.figure()
ax = Axes3D(fig)
x, y = np.mgrid[-5:5:.1, -5:5:.1]
pos = np.empty(x.shape + (2,))
print pos.shape
pos[:, :, 0] = x; pos[:, :, 1] = y
# 函數參數是均值[0,0],與協(xié)方差矩陣[[2.0, 0.3], [0.3, 0.5]]
rv = multivariate_normal([0, 0], [[2.0, 0.3], [0.3, 0.5]])
ax.contourf(x, y, rv.pdf(pos),zdir='z',offset=0)
ax.plot_surface(x, y, rv.pdf(pos)+0.1, rstride=1, cstride=1, cmap=plt.cm.RdBu)
plt.show()
下面是使用stats軟件函數
mu = 0
sigma = 1
x = np.arange(-5,5,0.1)
y = stats.norm.pdf(x, mu, sigma)
plt.plot(x,y)
plt.title("Normal:$\mu$=%.1f, $\sigma^2$=%.1f" %(mu,sigma))
plt.xlabel("x")
plt.show()
from scipy import stats
n =10
p =0.3
k = np.arange(0,21)
binomial = stats.binom.pmf(k,n,p)
plt.plot(k, binomial)
plt.show()
binom_sim = stats.binom.rvs(n=10,p=0.3, size = 1000)
#print binom_sim
print "Mean:%g"%np.mean(binom_sim)
print "SD:%g"%np.std(binom_sim, ddof=1)
# 這里 hist 函數的輸入參數有 ages 數組秧了、直方圖的 bins 數目(即區(qū)間數跨扮,這里為 20),
# 同時验毡,還使用了 normed=True 參數來正則化直方圖衡创,即讓每個方條表示年齡在該區(qū)間內的數量占總數量的比[1] 。
plt.hist(binom_sim, bins = 10, normed= 0)
plt.xlabel("x")
plt.ylabel("density")
plt.show()