用R语言来验证大数定理

本人对数学很感兴趣,苦于数学定理公式让人生畏,一直想用简单的、通俗的方式来展现数学的魅力,学习R语言有一段时间,感觉可以用这个工具来验证一些数学定理,也算是一种乐趣,说干就干,先来个简单一点的吧

大数定理:

随机事件的大量重复出现中,往往呈现几乎必然的规律,这个规律就是大数定律。通俗地说,这个定理就是,在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。比如,我们向上抛一枚硬币,硬币落下后哪一面朝上本来是偶然的,但当我们上抛硬币的次数足够多后,达到上万次甚至几十万几百万次以后,我们就会发现,硬币每一面向上的次数约占总次数的二分之一,偶然中包含着某种必然。

验证代码:

big_num<-function(n=1000)
{
count<-0

for(i in 1:n)
{
if(sample(c(0,1),1)==1) count<-count+1  ##随机从0、1中抽样,统计等于1的个数

}

return(count/n)  ##返回1出现的频率
}

运行结果:

> big_num()
[1] 0.49
> big_num(10000)
[1] 0.5027
> big_num(100000)
[1] 0.49872
> big_num(1000000)
[1] 0.499487
> big_num(10000000)
[1] 0.4997597
>

果然随着实验次数的增多,1出现的频率近似为每次实验的概率(0.5)

 

posted on 2014-10-29 15:52  R爱好者  阅读(2955)  评论(0编辑  收藏  举报

导航