gpt4 book ai didi

r - 从自定义分布生成随机数

转载 作者:行者123 更新时间:2023-12-04 20:03:58 26 4
gpt4 key购买 nike

我正在尝试从自定义分布生成随机数,我已经发现了这个问题: Simulate from an (arbitrary) continuous probability distribution但不幸的是,它对我没有帮助,因为那里建议的方法需要分布函数的公式。我的分布是多个均匀分布的组合,基本上分布函数看起来像直方图。一个例子是:

f(x) = { 
0 for x < 1
0.5 for 1 <= x < 2
0.25 for 2 <= x < 4
0 for 4 <= x
}

最佳答案

你只需要逆 CDF 方法:

samplef <- function (n) {
x <- runif(n)
ifelse(x < 0.5, 2 * x + 1, 4 * x)
}

自己计算 CDF 以验证:

F(x) = 0                 x < 1
0.5 * x - 0.5 1 < x < 2
0.25 * x 2 < x < 4
1 x > 4

所以它的逆是:

invF(x) = 2 * x + 1      0 < x < 0.5
4 * x 0.5 < x < 1

关于r - 从自定义分布生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41325459/

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