首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机变量Y期望值的模拟计算

随机变量Y期望值的模拟计算
EN

Stack Overflow用户
提问于 2020-09-05 17:37:06
回答 1查看 872关注 0票数 1

给出了计算Y=e^{-X}的期望值(X在0~ 1之间是一致的)的任务,并在R中进行了模拟。图中期望值是n是1到10000之间的整数的函数,此函数的f(y) = 1/y,对于1/e

求期望值的公式当然是: EY =积分(y* 1/y )

你怎么模拟像这样的东西?我希望你在(1/e

我考虑过使用"sample“或"runif”函数,但我想不出如何使这些函数以不同的概率工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-05 18:07:05

你可以利用随机变量U= F(Y)是一致的这一事实,其中F是随机变量Y的累积密度函数(有pdf 1/y)。然后得到Y= F^-1(U)。这意味着你可以从一个均匀变量中取样,然后通过F^-1(U)变换它,从Y得到一个样本,然后取样本的平均值。这就是所谓的反采样变换

对于你的例子,你有F(y) = ln(y) +1和F^-1(u) =exp(u-1)。然后很容易得到一个样本:

代码语言:javascript
复制
n = 1000
u = runif(n)
y = exp(u - 1)
mean(y)
0.6342477

这非常接近真实平均值0.6321206 (1 - 1/e)。

编辑

要了解您模拟的样本数量对估计值的影响如何,您可以这样做:

代码语言:javascript
复制
sample_y = function(n){
  u = runif(n)
  y = exp(u - 1)
  mean(y)
}

n = seq(10, 20000, 10)
res = sapply(n, sample_y)
ts.plot(res)

它很快地稳定在真正的平均值附近,并且随着n的增长,平均值的变化越来越小。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63756779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档