【统计模拟及其R实现】逆变换 / 筛选法 / 合成法 上机习题答案(超详细)

您所在的位置:网站首页 pareto分布函数 【统计模拟及其R实现】逆变换 / 筛选法 / 合成法 上机习题答案(超详细)

【统计模拟及其R实现】逆变换 / 筛选法 / 合成法 上机习题答案(超详细)

2023-07-22 08:55| 来源: 网络整理| 查看: 265

课本:统计模拟及其R实现 - 肖枝红,朱强 武汉大学出版社

参考课件:第三章 随机数 - 浙江大学数学科学学院

目录

1. 逆变换法

2. 筛选法

3. 合成法

 1. 逆变换法

题目1:用逆变换方法生成如下密度函数的随机变量,要求写出R程序:Cauchy概率密度函数  f(x) = \frac{1}{\pi(1 + x^{2})}

解:

首先求得Cauchy分布函数  \int_{-\infty}^{x} f(x)dx = F(x) = \frac{1}{\pi} arctanx + \frac{1}{2}

记 x = F^{-1}(u) 

则有 u = F(x) = \frac{1}{\pi} arctanx + \frac{1}{2}  

从上式中反解出x,得  x = tan[\pi (u - \frac{1}{2})] 

故可以通过生成随机变量U后,令 X = tan[\pi (U - \frac{1}{2})]  即可得到随机变量X的模拟值.

代码:

t1 = function(n) { U = runif(N) X = tan(pi*(U-0.5)) X } t1(10) # 生成10个随机变量X

题目2:用逆变换方法生成如下概率函数的随机变量,要求写出R程序:P\{X = i\} = \frac{1}{i + 1} , i = 1,2,3,...

解:

令 X = i

若  \frac{i - 1}{i + 1} \leqslant U \frac{i}{i + 1}  成立,就可以得到X的值

令 \frac{i - 1}{i + 1} = U ,将i反解,得到 i = \frac{1 + U}{1 - U}

故可以通过生成随机变量U后,令 X = \frac{1 + U}{1 - U}  即可得到随机变量X的模拟值.

代码:

t2 = function(n) { U = runif(n) X = floor((1+U)/(1-U)) X } t2(10) 2. 筛选法

题目1:用筛选法来模拟如下密度函数的随机变量,f(x)是需要模拟的随机变量密度函数,g(x)是其对应的筛选函数:

f(x) = \frac{e^{-\frac{1}{2} x^2}}{1 + x^2}, g(x) = e^{-\frac{1}{2} x^2}

解:

算法步骤如下:

① 生成密度函数为g的随机变量Y

② 生成随机数U

③ 如果 U \leqslant \frac{f(Y)}{cg(Y)} ,令X=Y,否则转至步骤①

代码:

t3 = function(n) { x = 0 for (i in 1:n) { repeat { y = rnorm(1,mean=0,sd=sqrt(2*pi)) u = runif(1) if (u


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3