R语言实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验目的
1. 用R生成服从某些具体已知分布的随机变量
二、实验内容
在R中各种概率函数都有统一的形式,即一套统一的前缀+分布函名: d表示密度函数(density );
p 表示分布函数(生成相应分布的累积概率密度函数);
q表示分位数函数,能够返回特定分布的分位( quantile );
r表示随机函数,生成特定分布的随机数( random)。
R中的各种概率统计分布
汉文名称英文名称R対应的乳字附加参数
B分布beta beta shapely shape2, nep
二项式分布binomial binom size, prob
柯阿分布Cauchy cauchy location, scale
忖方分布匚hi-squared chisq elf# nep
指数分布exponential exp rate
F分布F f dfl f dfl, nep
Gamma(¥)分布gamma gamma shape, scale
几何分布geometric geom prob
超几何分布hypergeometric hyper m, n, k
对数币态分布log-normml Inorm meanlog, sdlog
Logistic 分布logistic logis Io匚ation, scale
血二项式分布negative binomial rib inom size, prob
正态分布normal norm mean, sd
泊松分布Poisson pois lambda
Wilcoxon signed rank signrank n
t分布Student's t t df# nep
|均匀分布
uniform unif min f max
韦伯分布Weibull weibull shape, scale
怯和分布
Wilcoxon wilcox m# n
1、通过均匀分布随机数生成概率分布随机数的方法称为逆变换法。对于任意随机变量
X,其分布函数为F,定义其广义逆为:F-(u)=inf{x;F(x) > u}若u~u (0,1),贝U F-(u)和X
的分布一样
Example 1如果X~Exp (1)(服从参数为 u~u(0,1),则 X=-logU~Exp(1) 则可以解出x=-
log(1-u)
Exp from Uniform
通过随机数生成产生的分布与本身的指数分布结果相一致
R
代码如下:
nsim = 10A 4
U = runif(nsim) X = -log(U)
Y = rexp(nsim) X11(h=3.5)X
par(mfrow=c(1,2),mar=c(2,2,2,2))
hist(X,freq=F,main="Exp from Uniform",ylab="",xlab="",ncl=150,col="grey",xlim=c(0,8)) curve(dexp(x),add=T,col="sienna",lwd=2)
hist(Y,freq=F,main="Exp from R",ylab="",xlab="",ncl=150,col="grey",xlim=c(0,8)) curve(dexp(x),add=T,col="sienna",lwd=2)
2、某些随机变量可由指数分布生成。若
X i ~ Exp(1)独立同分布的随机变量,那么从 X i 出
发可以得到以下三个标准分布
Example 2 生成自由度为 6的X 分布。
1的指数分布),F (x )=1-e -x 。若u=1-e -x 并且
Exp from R
R 代码如下: nsim = 10A 4
U=matrix(data=U,nrow=3) X=-log(U)
X=2* apply(X,2,sum) Y =rchisq(nsim,df = 6)
par(mfrow=c(1,2),mar=c(2,2,2,2)) hist(X,freq=F,main="chisq from
Exp",ylab="",xlab="",ncl=150,col="grey",xlim=c(0,8)) d = density(Y) plot(d)
3、一种正态分布随机变量模拟使用
Box-Muller 算法得到 N(0,1)随机变量。这种方法与基于 中心极限定理的近似算法相比较,
Box-Muller
算法是精确的,它由两个均匀分布产生两 个独立的正态分布,其仅有的缺点是必须计算
log ,cos ,sin 。具体解释如下:如果两个
随机变量U 1, U 2独立同分布于u(0,1),那么由此可以产生两个独立的正态分布
X 1, X 2。
Example 3两次产生相同的 10000个服从正态分布的随机数,作其中一个的概率直方
图,并添加正态分布的密度函数线。
chisqifrom Exp
dens»ty.default(x s YJ
蛊i = J —珈(S) cos(27rt ;2).
兀2 = J —21隅©[)血1(加[切
4 ^2 (? 2 4
x!
nsim = 10A4
set.seed(22)
x1 <- rnorm(n sim,mea n = 0,
sd = 1) set.seed(22)
x2 <- rnorm( nsim,mea n = 0, sd = 1)
这里的x1 , x2数值完全相同。
4、设随机变量X 的分布列P{X=X i}=p i,记p(0)=P{X< 0}=0,…,p(i)=P{X< X i}=l:设r
是[0,1]区间上的均匀分布的随机数。当且仅当pl 1) Example 4生成二项分布的随机数 -50 e l r d J n o - $ - * - 3 - o s_ g - 首先生成二点分布 > size = 1;p = 0.5 P{p(i-