python随机数据随概率分布_概率分布及其Python实现
一、學(xué)習(xí)概率分布有什么用?很多現(xiàn)實(shí)中的分布都來自幾種概率分布。對(duì)個(gè)人生活和工作選擇非常有幫助。
知道某件事發(fā)生的概率對(duì)我們作出數(shù)據(jù)分析決策很有幫助。有時(shí)候計(jì)算概率很簡(jiǎn)單,有時(shí)候計(jì)算概率很復(fù)雜,概率分布是幫助我們解決特定問題下的萬能模版。
在經(jīng)濟(jì)學(xué)習(xí)領(lǐng)域,概率分布對(duì)于數(shù)據(jù)的認(rèn)識(shí)有非常重要的作用,不管是有效數(shù)據(jù)還是噪音數(shù)據(jù),如果知道了數(shù)據(jù)集分布,在機(jī)器學(xué)習(xí)算法選擇和建模過程有很大幫助。
二、概率分布
1.理解概率分布之前需要了解的概念
1)隨機(jī)事件
在統(tǒng)計(jì)概率中我們用事件表示某件事情。
在一定條件下,可能發(fā)生可能不發(fā)生的事件叫隨機(jī)事件。如拋硬幣。
2)如何量化隨機(jī)事件——隨機(jī)變量
隨機(jī)變量:是一個(gè)量化隨機(jī)事件的函數(shù),它將隨機(jī)事件每個(gè)可能出現(xiàn)的結(jié)果賦予一個(gè)數(shù)字。數(shù)字是隨機(jī)的,可以取任何一個(gè)值。如拋硬幣:正面朝上用1表示,反面朝上用0表示。通常用X表示。
隨機(jī)變量有兩種類型:離散隨機(jī)變量和連續(xù)隨機(jī)變量
離散隨機(jī)變量可能出現(xiàn)的結(jié)果都是可以列出來的,如拋硬幣,可能出現(xiàn)兩種結(jié)果,正面朝上1,反面朝上0。
連續(xù)隨機(jī)變量中變量有無限個(gè)結(jié)果,如明天下雨雨量的毫米數(shù)。
將這兩種隨機(jī)變量分隔開,是因?yàn)樗麄冇胁煌母怕史植肌?/p>
2.概率分布
分布:數(shù)據(jù)在統(tǒng)計(jì)圖中的形狀叫它的分布。
概率分布:將隨機(jī)變量、概率、分布組合起來的一種表現(xiàn)手段。就是用統(tǒng)計(jì)圖來表示隨機(jī)變量所有可能結(jié)果對(duì)應(yīng)發(fā)生的概率。橫軸是隨機(jī)事件所有可能的結(jié)果(即隨機(jī)變量的對(duì)應(yīng)的數(shù)值),縱軸是對(duì)應(yīng)每個(gè)結(jié)果發(fā)生的概率。
根據(jù)隨機(jī)變量類型的不同,概率分布分為離散概率分布和連續(xù)概率分布。
我們可以根據(jù)概率計(jì)算公式計(jì)算這兩種隨機(jī)變量數(shù)字的概率。
離散概率分布計(jì)算公式用概率質(zhì)量函數(shù)PMF(Probability Mass Function):之所以叫做質(zhì)量,是因?yàn)殡x散是點(diǎn),默認(rèn)體積為1.
連續(xù)概率分布計(jì)算公式用概率密度函數(shù)PDF(Probability Density Function):之所以叫密度,是因?yàn)檫B續(xù)隨機(jī)變量概率計(jì)算的是面積。
1)離散概率分布
包括伯努利分布、二項(xiàng)分布、幾何分布、泊松分布
伯努利分布:
伯努利實(shí)驗(yàn):同樣的條件下進(jìn)行的相互獨(dú)立的實(shí)驗(yàn),特點(diǎn)是實(shí)驗(yàn)的可能結(jié)果只有兩種。成功/失敗。如果隨機(jī)變量X是一次伯努利實(shí)驗(yàn),則這個(gè)隨機(jī)變量就符合伯努利分布。
用概率質(zhì)量函數(shù)(PMF)計(jì)算伯努利分布的概率,成功概率記作P,失敗概率則為1-P。
二項(xiàng)分布:發(fā)生次數(shù)是固定的,感興趣的是成功的次數(shù)。二項(xiàng)表示隨機(jī)事件的有兩種可能的結(jié)果,成功/失敗。
特點(diǎn):
1.做某件事的次數(shù)是固定的,次數(shù)用n表示,n次某件事是相互獨(dú)立的。
2.每一次事件都有兩種可能的結(jié)果,成功/失敗
3.每一次成功的概率都相等,成功的概率用p表示
4.想知道成功k次的概率是多少。
二項(xiàng)分布的期望和方差:
期望=np (預(yù)期成功多少次)
方差=np(1-p)(數(shù)據(jù)波動(dòng)大小)
幾何分布:想要知道嘗試某件事情多次能取得第一次成功的概率。(二項(xiàng)分布的孿生兄弟)
特點(diǎn):
1.做某件事的次數(shù)是固定的,次數(shù)用n表示,n次某件事是相互獨(dú)立的。
2.每一次事件都有兩種可能的結(jié)果,成功/失敗
3.每一次成功的概率都相等,成功的概率用p表示
4.想知道第k次做某件事,才取得第1次成功的概率是多少。
幾何分布的期望和方差:
期望E=1/p (預(yù)期多少次后取得第1次成功)
方差=(1-p)/p的平方 (數(shù)據(jù)波動(dòng)大小)
泊松分布:某個(gè)時(shí)間范圍內(nèi),發(fā)生某件事情k次的概率有多大。(如一天內(nèi)中獎(jiǎng)的次數(shù),一個(gè)月內(nèi)機(jī)器發(fā)生故障的次數(shù),一段道路發(fā)生交通事故的次數(shù))
泊松分布的形狀會(huì)隨著平均值的不同而有所變化。
特點(diǎn):
1.事件是獨(dú)立事件
2.任意相同的時(shí)間范圍內(nèi),事件發(fā)生的概率相同。
3.你想知道某個(gè)時(shí)間范圍內(nèi),發(fā)生某件事情k次的概率是多大。
要計(jì)算泊松分布的概率首先要知道給定時(shí)間范圍內(nèi)某件事情發(fā)生的平均次數(shù)。
泊松分布的期望和方差都等于平均值μ。
2)連續(xù)概率分布
包括正態(tài)分布和冪律分布
正態(tài)分布趨向中間,冪律分布趨向極端。
正態(tài)分布:數(shù)據(jù)集像一只倒扣的鐘,兩頭低中間高,左右對(duì)稱,大部分?jǐn)?shù)據(jù)集中在中間的平均值,小部分在兩端,例如上班的薪水。
冪律分布:在有些自然和商業(yè)現(xiàn)象中因?yàn)榫W(wǎng)絡(luò)效應(yīng)導(dǎo)致強(qiáng)者越強(qiáng),贏家通吃,這時(shí)的結(jié)果會(huì)呈現(xiàn)出尖刀型的冪律分布。刀尖占據(jù)著大部分的財(cái)富。
如果想離財(cái)務(wù)自由更近,需要在給別人打工的同時(shí),建立自己的冪律分布商業(yè)模式。
正態(tài)分布是商業(yè)世界中最常見的一種分布,當(dāng)影響結(jié)果的因素特別多,沒有哪個(gè)因素可以完全左右這個(gè)結(jié)果時(shí),結(jié)果通常呈現(xiàn)正態(tài)分布。
有這兩個(gè)工具就可以看清很多商業(yè)現(xiàn)象。
正態(tài)分布的商業(yè)現(xiàn)象:1)員工績(jī)效的活力曲線 2)產(chǎn)品質(zhì)量 3)快速找到停車位 4)智商
冪律分布商業(yè)現(xiàn)象:1)家庭收入 2)城市GDP
正態(tài)分布特異功能:預(yù)測(cè)數(shù)據(jù)的位置
68.2%的數(shù)據(jù)處于一個(gè)標(biāo)準(zhǔn)差內(nèi),95.5%的數(shù)據(jù)處于2個(gè)標(biāo)準(zhǔn)差內(nèi),99.7%的數(shù)據(jù)處于3個(gè)標(biāo)準(zhǔn)差內(nèi)。
正態(tài)分布概率計(jì)算:
正態(tài)分布的概率是正態(tài)分布圖下方一定數(shù)值范圍內(nèi)的面積。
1.確定概率范圍,明確要求正態(tài)分布圖中哪一部份的面積。
2.求對(duì)應(yīng)面積的標(biāo)準(zhǔn)分。知道所在數(shù)據(jù)集的平均值和標(biāo)準(zhǔn)差,就可以算出對(duì)應(yīng)的標(biāo)準(zhǔn)分。標(biāo)準(zhǔn)分就是距離平均值有幾個(gè)標(biāo)準(zhǔn)差。
3.查找Z表格(標(biāo)準(zhǔn)分與概率值對(duì)應(yīng)關(guān)系的表)對(duì)應(yīng)的概率值 。但Z表格給出的是小于標(biāo)準(zhǔn)分的概率值,如果要求大于標(biāo)準(zhǔn)分的面積,用1減去小于標(biāo)準(zhǔn)分的概率值。
三、概率分布的Python實(shí)現(xiàn)
套路:
1.伯努利分布
例:拋硬幣實(shí)驗(yàn)
拋硬幣實(shí)驗(yàn)1次,正面朝上記作1,翻面朝上記作0。
#導(dǎo)入包
import scipy.stats as stats
import numpy as np
import matplotlib.pyplot as plt
#定義隨機(jī)變量
X=np.arange(0,2,1)
#求各隨機(jī)變量的概率
p=0.5
pList=stats.bernoulli.pmf(X,p)
#伯努利分布概率圖
plt.plot(X,pList,marker='o',linestyle='None')
plt.vlines(X,0,pList)
plt.xlabel('隨機(jī)變量:拋硬幣1次')
plt.ylabel('概率')
plt.title('伯努利分布:p=%.2f'% p)
plt.show()
2.二項(xiàng)分布
例:5次拋硬幣,正面朝上的次數(shù)。
#定義隨機(jī)變量
n=5#拋硬幣的次數(shù)
p=0.5#正面朝上的概率
X=np.arange(0,6,1)
#求各隨機(jī)變量的概率
pList=stats.binom.pmf(X,n,p)
#繪圖
plt.plot(X,pList,marker='o',linestyle='None')
plt.vlines(X,0,pList)
plt.xlabel('隨機(jī)變量:拋硬幣正面朝上次數(shù)')
plt.ylabel('概率')
plt.title('二項(xiàng)分布:n=%i,p=%.2f'% (n,p))
plt.show()
3.幾何分布
例:首次表白成功的概率
#定義隨機(jī)變量
k=5
p=0.6
X=np.arange(1,k+1,1)
#計(jì)算各隨機(jī)變量的概率
pList=stats.geom.pmf(X,p)
#繪圖
plt.plot(X,pList,marker='o',linestyle='None')
plt.vlines(X,0,pList)
plt.xlabel('隨機(jī)變量:表白第k次才首次成功')
plt.ylabel('概率')
plt.title('幾何分布:p=%.2f'% p)
plt.show()
4.泊松分布
例:已知一天內(nèi)某路口平均每天發(fā)生2次事故。求該路口一天內(nèi)發(fā)生4次事故的概率。
#定義隨機(jī)變量
mu=2
k=4#次數(shù),想知道一天內(nèi)發(fā)生4次事故的概率,包含了發(fā)生0次,1次,2次,3次,4次
X=np.arange(0,k+1,1)
#計(jì)算概率
pList=stats.poisson.pmf(X,mu)
#繪圖
plt.plot(X,pList,marker='o',linestyle='None')
plt.vlines(X,0,pList)
plt.xlabel('隨機(jī)變量:某路口發(fā)生k次事故')
plt.ylabel('概率')
plt.title('泊松分布:平均值mu=%.2f'% mu)
plt.show()
總結(jié)
以上是生活随笔為你收集整理的python随机数据随概率分布_概率分布及其Python实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 430单片机实现三人投票表决器_长虹KF
- 下一篇: c语言api_用C语言来拓展python