【统计模拟及其R实现】分层抽样法 / 条件期望法 习题答案(超详细)

统计模拟与R实现:分层抽样法与条件期望法解析
本文详述了如何运用分层抽样法和条件期望法解决统计模拟问题。首先,通过分层抽样法解决了一个定积分的模拟估计,介绍了将区间划分为两部分并生成随机变量的方法。接着,利用逆变换法生成Weibull分布的随机变量,进而估算期望值。其次,讨论了条件期望法,解释了在给定X的情况下如何模拟Y,并计算估计值及标准误差。所有方法都结合R语言进行了实现。

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

参考资料:方差缩减技术-条件期望法

目录

1. 分层抽样法

2. 条件期望法


1. 分层抽样法

题目1:如何通过分层抽样法得到 \theta = \int^{1}_{0} \int^{1}_{0} e^{​{x+y}^2} dx dy 的一个模拟估计量?

算法:

① 将抽样区间划分为 [0,0.5] 和 [0.5,1],以0.5的概率从[0,0.5]中抽取随机变量,以0.5的概率从[0.5,1]中抽取随机变量 -  getVal()

② 利用①中生成的随机变量,使用模拟法估计该定积分的值

代码:

getVal = function() { # 分层抽样法得到随机变量
  u = runif(1)
  if (u < 0.5) {
    result = runif(1, min=0, max=0.5)
  } else {
    result = runif(1, min=0.5, max=1)
  }
  result
}

f = function(x,y) exp((x+y)^2)

t1 = function(n) {
  u1 = 0; u1[2] = 0
  u2 = 0; u2[2] = 0
  for (i in 1:n) {
    u1[i] = getVal()
    u2[i] = getVal()
  }
  result = mean(f(u1,u2))
  err = sqrt(var(f(u1,u2))/n)
  
  print(result)
  print(err)
}

t1(10000)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值