如何解决为什么用rgeom更改p值不能得到预期的结果
因此,我试图证明当X〜Geo(X)时,期望值等于:E [X] = p /(1-p)
p <- 0.50
#1 Exact
(p/(1 - p))
nrRuns <- 100000
#1 Simulation
x <- rep(0,nrRuns)
for (i in 1:nrRuns){
x[i]=rgeom(n = 1,prob = p)
}
mean(x)
在p = 0.50时,精确计算得出1,并且模拟输出如预期的那样为1.00134,但是当我将p值更改为0.20时,精确计算得出0.25,但是我的模拟报告为3.99477。我希望模拟报告为0.25。那怎么可能呢?
解决方法
这是R的矢量化函数和可再现性的一个例子。
f <- function(p,R){
x <- rgeom(R,prob = p)
c(Exact = (1 - p)/p,Sim = mean(x))
}
nrRuns <- 100000
set.seed(2020) # make the results reproducible
f(p = 0.2,R = nrRuns)
# Exact Sim
#4.00000 4.02563
现在输入问题代码。
set.seed(2020) # Reproduce the result above
p <- 0.2
x <- rep(0,nrRuns)
for (i in 1:nrRuns){
x[i] <- rgeom(n = 1,prob = p)
}
mean(x)
#[1] 4.02563
结果相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。