资源描述:
《基于R软件的统计模拟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于R软件的统计模拟奚潭(南京财经大学统计系2006级)主要内容1.统计模拟的基本概念2.赶火车问题3.R软件的统计模拟功能4.应用R软件模拟验证大数定律5.应用R软件模拟验证中心极限定理一、统计模拟的基本概念(一)统计模拟的定义统计模拟即是计算机统计模拟,它实质上是计算机建模,而这里的计算机模型就是计算机方法、统计模型(如程序、流程图、算法等),它是架于计算机理论和实际问题之间的桥梁。它与统计建模的关系如下图。实际问题统计、逻辑模型计算机模拟(程序、算法)统计、计算机解实际解一、统计模拟的基本概念(二)统计模拟方法一般地,统计模拟分类如下:若按状态变量的变化性质分为连续随机模
2、拟和离散随机模拟。而按变量是否随时间变化又可分为动态随机模拟和静态随机模拟。常用的统计模拟方法主要有以下几种:1.蒙特卡罗法2.系统模拟方法3.其它方法:包括Bootstrap(自助法)、MCMC(马氏链蒙特卡罗法)等。一、统计模拟的基本概念(三)统计模拟的一般步骤二、赶火车问题火车离站时刻13:0013:0513:10概率0.70.20.1一列列车从A站开往B站,某人每天赶往B站上车。他已经了解到火车从A站到B站的运行时间是服从均值为30min,标准差为2min的正态随机变量。火车大约下午13:00离开A站,此人大约13:30到达B站。火车离开A站的时刻及概率如表1所示,此人
3、到达B站的时刻及概率如表2所示。问此人能赶上火车的概率有多大?表1:火车离开A站的时刻及概率表2:某人到达B站的时刻及概率人到站时刻13:2813:3013:3213:34概率0.30.40.20.1二、赶火车问题——问题的分析——这个问题用概率论的方法求解十分困难,它涉及此人到达时刻、火车离开站的时刻、火车运行时间几个随机变量,而且火车运行时间是服从正态分布的随机变量,没有有效的解析方法来进行概率计算。在这种情况下可以用计算机模拟的方法来解决。:火车从A站出发的时刻;:火车从A站到B站的运行时间;:某人到达B站的时刻;:随机变量服从正态分布的均值;:随机变量服从正态分布的标准
4、差;二、赶火车问题进行计算机统计模拟的基础是抽象现实系统的数学模型为了便于建模,对模型中使用的变量作出如下假定:此人能及时赶上火车的充分必要条件为:,所以此人能赶上火车的概率模型为:。二、赶火车问题为了分析简化,假定13时为时刻t=0,则变量、的分布律为:05100.70.20.1283032340.30.40.20.1二、赶火车问题R软件求解的总算法:关系式成立产生随机数验证模型成立次数k=k+1否是计算估计结果k/n成立次数不变试验次数是否达到n次是否编写R程序①借助区间(0,1)分布产生的随机数,对变量、概率分布进行统计模拟;②根据变量、、概率分布及模拟程序、命
5、令产生n个随机分布数;③使用随机产生的n组随机数验证模型中的关系表达式是否成立;④计算n次模拟实验中,使得关系表达式成立的次数k;⑤当时,以作为此人能赶上火车的概率p的近似估计;进入演示windows(7,3)prb=replicate(100,{#括号内程序重复100次x=sample(c(0,5,10),1,prob=c(0.7,0.2,0.1)) y=sample(c(28,30,32,34),1,prob=c(0.3,0.4,0.2,0.1)) plot(0:40,rep(1,41),type="n",xlab="time",ylab="", axes
6、=FALSE) axis(1,0:40) r=rnorm(1,30,2) points(x,1,pch=15) i=0 while(i<=r){ i=i+1 segments(x,1,x+i,1) if(x+i>=y) points(y,1,pch=19) Sys.sleep(0.1) } points(y,1,pch=19)title(ifelse(x+r<=y,"poor...missedthetrain!","Bingo!catchedthetrain!")) Sys.sleep(4) x+r
7、>y})mean(prb)进入模拟三、R软件的统计模拟功能1、R软件优秀的随机数模拟功能分布产生随机数序列命令参数设置binomialrbinom()n,size,probchi-squaredrchisq()n,df,ncpexponentialexp()n,rateFF()n,df1,df2,ncpnormalnorm()n,mean,sdPoissonpois()n,lambdaStudent’stt()n,df,ncpunifomunif()n,min,max生产某概率分布的随机