gpt4 book ai didi

r - 评估结果模拟数据

转载 作者:行者123 更新时间:2023-12-04 12:29:56 25 4
gpt4 key购买 nike

我正在使用 拒绝方法 模拟数据,其中 X 的密度函数由 f(x)= C * e^(x) 给出[0,1] 中的所有 x 。我将 g(x) = 1C 定义为 f(x) 的最大值,它等于 1/( e-1).

我用下面的代码来模拟数据:

rejection <- function(f, C, g, rg, n) {
naccepts <- 0
result.sample <- rep(NA, n)

while (naccepts < n) {
y <- rg(1)
u <- runif(1)

if ( u <= f(y) / (C*g(y)) ) {
naccepts <- naccepts + 1
result.sample[naccepts] = y
}
}

result.sample
}

f <- function(x) ifelse(x>=0 & x<=1, (exp(x)), 0)
g <- function(x) 1
rg <- runif
C <- 1/(exp(1) -1)

result <- rejection(f, C, g,rg, 1000)

然后,我使用直方图 将模拟数据与原始pdf曲线 进行比较

hist(result,freq = FALSE)
curve(f, 0, 1, add=TRUE)

但结果情节有点奇怪! the plot is here所以我正在寻求任何帮助来澄清我工作中的错误。

最佳答案

这显示了整个曲线和直方图:

curve(f, 0, 1)
hist(result,freq = FALSE, add=TRUE)

但是当然现在直方图在图中有点小......

关于r - 评估结果模拟数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60340741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com