【R】二项分布函数

2020-09-22  本文已影响0人  我写的BUG代码少

二项分布函数

二项分布指的是:N重伯努利实验,记为X \sim b(n,p),E(x)=np,Var(x)=np(1-p)

dbinom(x, size, prob)   #计算每个点的概率密度分布
pbinom(x, size, prob)   #计算事件的累积概率(表示概率的单个值) 
qbinom(p, size, prob)   #获取概率值, 并生成一个其累加值与概率值匹配的数字。
rbinom(n, size, prob)   #用于从给定样本中为给定概率生成所需数量的随机值//产生n个b(size, prob)的二项分布随机数
parameter description
x 数字的向量
p 概率向量
n 观察的数量
size 试验的数量
prob 每个试验成功的概率

dbinom():计算二项式分布的概率(PDF)

'''
某种疫苗注射后过敏反应的概率是0.08,问某社区卫生院在接种该疫苗100人后,少于3人有过敏反应的概率是多少?
P(X<3)=P(X=0)+P(X=1)+P(X=2)
'''
print(dbinom(0,100,0.08)+dbinom(1,100,0.08)+dbinom(2,100,0.08))  # 点密度

# 或 print(pbinom(2, 100, 0.08)) # 区域密度
>>>
0.0112728

pbinom():计算特定二项式分布的累积分布函数(CDF)

# Probability of getting 20 or fewer heads from 48 tosses of a coin.
x <- pbinom(20, 48, 0.5)  #数字向量,试验次数,成功概率

#Showing output
print(x)

>>>
0.1561634

qbinom():计算二项式分布的逆累积分布函数

quantile function 分位数函数

# Finding number of heads with the  help of qbinom() function 
x <- qbinom(0.45, 48, 0.5)

#Showing output
print(x)

>>>
24

rbinom(): 生成二项分布随机数

产生nb(size, prob)的二项分布随机数

'''
以抛硬币为例,总共抛硬币100次(size=100),得到正面记为成功,即每次成功概率为0.5(prob=0.5)
'''
rbinom(30,100,.5)   #小数点前的0可以省略
>>>
生成的30个随机数都在50左右徘徊。
因为每次伯努利试验(抛硬币)的成功概率是0.5,
那么在理想状态下,模拟100次伯努利试验(抛100次硬币),成功的次数应为50次,
由此可见,在函数rbinom()中,结果的含义是伯努利试验成功的次数。
image
rbinom(10,10,.5)
>>>
在本例中,单次试验的成功概率依旧为0.5,
但是只模拟10次试验,并生成10个随机数,最大的数为8,远远偏离预期的5。
image
上一篇下一篇

猜你喜欢

热点阅读