美文网首页
R语言学习笔记3-生成二项分布随机数

R语言学习笔记3-生成二项分布随机数

作者: 75d3f95b058e | 来源:发表于2018-04-08 07:33 被阅读1750次

    伯努利试验

    首先简单介绍一下伯努利试验(Bernoulli experiment)

    伯努利试验,是指在同样的条件下,重复地,相互独立地,进行的一种随机试验,该随机试验只有两种结果:发生或不发生

    假设:该项试验重复独立地进行了N次,则称为N重伯努利试验,N即为该试验的SIZE。

    比如,连续抛N次硬币,每次抛硬币相互独立互不影响,结果只能是“正面”或者“反面”,得到正面的概率为0.5,每次抛硬币的试验即为伯努利试验。


    二项分布

    多次伯努利试验的分布概率,即为二项分布;换句话说,当二项分布的试验次数为1时,符合伯努利试验。


    生成二项分布随机数

    在R语言中,生成二项分布随机数的函数是:rbinom()

    基本语法:rbinom(n,size,prob),n表示生成的随机数的数量,size表示进行伯努利试验的次数,prob表示一次伯努利试验成功的概率。

    仍以抛硬币为例,总共抛硬币100次(size=100),得到正面记为成功,即每次成功概率为0.5(prob=0.5),那么,n的含义是什么呢?现在,我们让计算机模拟30个随机数,看看这30个数字有何特点,据此来解释n的含义。

    在本例中,n=30,size=100,prob=0.5,在R中输入:

    rbinom(30,100,.5) # 小数点前的0可以省略
    [1] 52 39 45 53 51 53 52 43 50 51 52 48 56 47 43 53 47 47 52 53 49 43 51 50 44 57 54 59 43 48
    

    仔细观察就会发现,生成的30个随机数都在50左右徘徊,这是为什么呢?因为每次伯努利试验(抛硬币)的成功概率是0.5,那么在理想状态下,模拟100次伯努利试验(抛100次硬币),成功的次数应为50次,由此可见,在函数rbinom()中,n的含义是伯努利试验成功的次数

    可以想见,如果模拟伯努利试验的次数减少,n值的偏差将会变大,比如:

    > rbinom(10,10,.5)
     [1] 5 6 6 4 4 4 3 5 6 8
    

    在本例中,单次试验的成功概率依旧为0.5,但是只模拟10次试验,并生成10个随机数,最大的数为8,远远偏离预期的5。

    注意:在rbinom()函数中,n可以大于size,比如rbinom(100,10,.5)。

    相关文章

      网友评论

          本文标题:R语言学习笔记3-生成二项分布随机数

          本文链接:https://www.haomeiwen.com/subject/ejauhftx.html