随机试验
定义
在概率论中,把具有以下三个特征的试验称为随机试验.
- 可以在相同的条件下重复的进行
- 每次试验的可能结果不止一个,并且能事先明确试验的所有可能结果
- 进行一次试验之前不能确定那一个结果会出现
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)
待更。。。