隨機試驗
定義
在概率論中,把具有以下三個特徵的試驗稱爲隨機試驗.
- 可以在相同的條件下重複的進行
- 每次試驗的可能結果不止一個,並且能事先明確試驗的所有可能結果
- 進行一次試驗之前不能確定那一個結果會出現
R語言編程模擬隨機試驗
模擬投硬幣10000次
> result = sample(0:1,10000,replace = TRUE)
> length(which(result==0))/length(result)
[1] 0.5029
> length(which(result==1))/length(result)
[1] 0.4971
模擬拋骰子10000次
> result=sample(1:6,10000,replace=TRUE)
> length(which(result==1))/length(result)
[1] 0.1658
> length(which(result==2))/length(result)
[1] 0.1654
> length(which(result==3))/length(result)
[1] 0.1707
> length(which(result==4))/length(result)
[1] 0.1714
> length(which(result==5))/length(result)
[1] 0.1609
> length(which(result==6))/length(result)
[1] 0.1658
幾何概率(連續)
定義
當隨機試驗的樣本空間是某個區域,並且任意一點落在度量 (長度、 面積、體積) 相同的子區域是等可能的,則事件 A 的概率可定義爲
P(A) = S(A)/S
其中S是樣本空間的度量,S(A)是構成事件A的子區域的度量,這樣藉助於幾何上的度量來合理規定的概率成爲幾何概型
說明:當古典概型的實驗結果爲連續無窮多個時候就歸結爲幾何概型
蒲豐投針實驗
1777年,法國科學家蒲豐(Buffon)提出了投針
試驗問題.平面上畫有等距離爲a(a > 0)的一些平行直
線,現向此平面任意投擲一根長爲b( b < a )的針,試求
針與某一平行直線相交的概率.
歷史上一些學者的計算結果(直線距離a=1)
R語言實現蒲豐投針實驗
> n=50000
> a=1.0
> b=0.85
> m=0
> for(i in 1:n)
+ {
+ x= runif(1, min = 0, max = a/2)
+ fai= runif(1, min = 0, max = pi)
+ if(x<=b/2*sin(fai)) m=m+1
+ }
> print(m)
[1] 27266
> print((2*b*n)/(a*m))
[1] 3.117436
兩點分佈
設隨機變量X只可能取0與1兩個值,它的分佈律
X | 0 | 1 |
---|---|---|
P(k) | 1-p | p |
R生成兩點分佈的隨機數:
rbinom(生成次數, 1, p)
模擬拋硬幣100次:
> sample(c(0,1), 100, replace = TRUE, prob = c(1/2,1/2))
[1] 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 0
[27] 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1
[53] 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1
[79] 0 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1
>
模擬拋骰子10次
> sample(1:6, 10, replace = TRUE, prob = c(1/6,1/6,1/6,1/6,1/6,1/6))
[1] 3 6 3 6 1 1 4 4 2 3
二項分佈
定義
若X表示n重伯努利試驗中事件A發生的次數,X屬於{0,1,2,3,…,n},X的分佈律爲
X | 0 | 1 | … | k | … | n |
---|---|---|---|---|---|---|
P(k) | qⁿ | (n 1)pq(ⁿ﹣¹) | … | (n k)pkq(ⁿ﹣k) | … | pⁿ |
稱這樣的分佈爲二項分佈,記爲X ~ b(n,p)
R語言實現二項分佈
例1
在相同條件下相互獨立地進行 5 次射擊,每次射擊時擊中目標的概率爲 0.6 ,則擊中目標的次數 X 服從 b (5,0.6) 的二項分佈
> x=dbinom(0:5,5,0.6)
> x
[1] 0.01024 0.07680 0.23040 0.34560 0.25920 0.07776
例2
一大批產品中一級品率爲0.2,隨機抽查20只,問20只產品中恰好有k(k=0,1,2,…,20)只一級品的概率
> x=dbinom(0:20,20,0.2)
> x
[1] 1.152922e-02 5.764608e-02 1.369094e-01
[4] 2.053641e-01 2.181994e-01 1.745595e-01
[7] 1.090997e-01 5.454985e-02 2.216088e-02
[10] 7.386959e-03 2.031414e-03 4.616849e-04
[13] 8.656592e-05 1.331783e-05 1.664729e-06
[16] 1.664729e-07 1.300570e-08 7.650410e-10
[19] 3.187671e-11 8.388608e-13 1.048576e-14
圖示概率分佈
> plot(x,type="h")
例3
某人射擊命中率爲0.2,獨立射擊200次,至少擊中兩次的概率
> sum(dbinom(2:200,200,0.02))
[1] 0.9106245
> dbinom(2:200,200,0.02)
[1] 1.457727e-01 1.963468e-01 1.973486e-01 1.578789e-01 1.047156e-01
[6] 5.922689e-02 2.916018e-02 1.269559e-02 4.948688e-03 1.744436e-03
[11] 5.607115e-04 1.654847e-04 4.511026e-05 1.141566e-05 2.693746e-06
......
泊松分佈
二項分佈 — (np->入(n->+8) —> 泊松分佈
R語言:
dpois(x, lambda)
plot(dpois(0:10 , 2))
例1
在一天的某段時間內出事故的概率
爲0.0001,在每天的該段時間內有1000 輛汽車通
過,問出事故的次數不小於2的概率是多少?
> sum(dbinom(2:1000,1000,0.0001))
[1] 0.004674768
> sum(dpois(2:1000,0.1))
[1] 0.00467884
> plot(dpois(0:10 , 2))
例2
R語言 二項分佈 泊松分佈 循環語句 對比
> qbinom(0.99, 300, 0.01)
[1] 8
> qpois(0.99, 300*0.01)
[1] 8
> for(i in 0:300) { if(sum(dpois(0:i,3))<0.99) next else {print(i);break}}
[1] 8
例3
例6 設有80臺同類型設備,各臺工作是相互獨立的發生故障的概率都是 0.01,且一臺設備的故障能由一個人處理. 考慮兩種配備維修工人的方法 , 其一是由四人維護,每人負責20臺; 其二是由3人共同維護臺80.試比較這兩種方法在設備發生故障時不能及時維修的概率的大小.
> ppois(3, 0.8, lower.tail = FALSE)
[1] 0.009079858
> 1-ppois(3, 0.8)
[1] 0.009079858
> 1-sum(dpois(c(0,1,2,3), 0.8))
[1] 0.009079858
幾何分佈
若隨機變量X的分佈律爲
X | 1 | 2 | … | k | … |
---|---|---|---|---|---|
P(k) | p | qp | … | pq(k﹣¹) | … |
,p + q = 1
則稱X服從幾何分佈
R語言:dgeom(x,p)
待更。。。