R语言实验报告6 - 图文
一、 实验目的
1. 用 R 生成服从某些具体已知分布的随机变量
二、 实验内容
在 R 中各种概率函数都有统一的形式,即一套统一的前缀+分布函名:
d 表示密度函数(density);
p 表示分布函数(生成相应分布的累积概率密度函数);
q 表示分位数函数,能够返回特定分布的分位(quantile); r 表示随机函数,生成特定分布的随机数(random)。
1、 通过均匀分布随机数生成概率分布随机数的方法称为逆变换法。对于任意随机变量 X,其分布函数为 F,定义其广义逆为:F-(u)=inf{x;F(x)≥u}若u~u (0,1),则F-(u)和X 的分布一样
Example 1 如果X~Exp(1)(服从参数为 1 的指数分布),F(x)=1-e-x。若u=1-e-x并且u~u(0,1),则X=-logU~Exp(1)
则可以解出x=-log(1-u)
通过随机数生成产生的分布与本身的指数分布结果相一致 R 代码如下:
nsim = 10^4
X = -log(U) U = runif(nsim)
Y = rexp(nsim) X11(h=3.5)X
par(mfrow=c(1,2),mar=c(2,2,2,2))
curve(dexp(x),add=T,col=\
hist(X,freq=F,main=\
hist(Y,freq=F,main=\curve(dexp(x),add=T,col=\
2、 某些随机变量可由指数分布生成。若X i~ Exp(1) 独立同分布的随机变量,那么从X i出
发可以得到以下三个标准分布
Example 2 生成自由度为 6 的χ2分布。
R 代码如下:
nsim = 10^4
U=matrix(data=U,nrow=3) X=-log(U)
X=2* apply(X,2,sum) Y = rchisq(nsim,df = 6)
3、 一种正态分布随机变量模拟使用 Box-Muller 算法得到 N(0,1)随机变量。这种方法与基于
中心极限定理的近似算法相比较,Box-Muller 算法是精确的,它由两个均匀分布产生两个独立的正态分布,其仅有的缺点是必须计算 log,cos,sin。具体解释如下:如果两个随机变量U1, U2独立同分布于u(0,1),那么由此可以产生两个独立的正态分布X1, X2。
par(mfrow=c(1,2),mar=c(2,2,2,2)) hist(X,freq=F,main=\
Exp\plot(d)
Example 3 两次产生相同的 10000 个服从正态分布的随机数,作其中一个的概率直方图,并添加正态分布的密度函数线。
nsim = 10^4
set.seed(22)
x1 <- rnorm(nsim,mean = 0, sd = 1) set.seed(22)
x2 <- rnorm(nsim,mean = 0, sd = 1)
这里的 x1,x2 数值完全相同。
4、 设随机变量 X 的分布列P{X=xi}=pi, 记p(0)=P{X≤0}=0, … , p(i)=P{X≤xi}=
?ij?1pi。
设 r 是[0,1]区间上的均匀分布的随机数。当且仅当p(i-1) Example 4 生成二项分布的随机数 首先生成二点分布 > size = 1;p = 0.5 > rbinom(10,size,p) [1] 1 0 0 0 0 1 1 0 1 0 接下来生成服从 B(10,0.5)的二项分布 > size = 10; > p = 0.5 > rbinom(5,size,p) [1] 6 6 5 8 5 由此可见,随着实验次数 n 的增大,二项分布越来越接近正态分布。 R代码如下 size = 1;p = 0.5 rbinom(10,size,p) #生成 5 个服从 B(10,0.5)的二项分布随机数 size = 10; p = 0.5 rbinom(5,size,p) par(mfrow = c(1,3)) p=0.25 for(n in c(10,20,50)) {x <- rbinom(100,n,p) hist(x,prob = T,main = paste(\ xvals = 0:n points(xvals,dbinom(xvals,n,p),type = \ } par(mfrow = c(1,1)) 5.服从 beta 分布的随机变量的一般算法可以基于 Accept-Reject method 来生成, 用的 工具分布为均匀分布 U[0,1],假设两个参数都大于 1(通用的 rbeta 函数无此约束)。上 界 M 为 beta 分布密度的最大值, Example 5 对于α =2.7,β =6.3 ,最大值 M=2.67,求出 beta 分布 R代码 Nsim=2500 a=2.7;b=6.3 M=2.67 u=runif(Nsim,max=M) y=runif(Nsim) x=y[u Accept-Reject algorithm的几个关键要点: 1. 仅要求比率f/M,所有算法并不依赖于正则化常数。 2. f/Mg的上界不必是紧的,该算法一人有效,即M可由任何更大的常数替代。 3.接受概率为1/M,故M应该尽可能小。 Accept-Reject algorithm 的效率可由接受概率度量,此概率越高,由g模拟的数据浪费的越少。这当然也必须考虑从g生成模拟值的计算成本。故要选择对f最好的g。
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




