我可以使用下面的代码生成均匀分布的数字:
runif(1,min=10,max=20)
如何对更频繁地接近最小和最大边界的随机生成的数字进行采样? (又名“颠倒的钟形曲线”)
钟形曲线通常是高斯曲线,这意味着它没有最小值和最大值。你可以尝试贝塔分布 https://en.wikipedia.org/wiki/Beta_distribution并将其映射到所需的间隔。沿着线
min <- 1
max <- 20
q <- min + (max-min)*rbeta(10000, 0.5, 0.5)
正如 @Gregor-reinstateMonica 指出的,Beta 分布在两端都有界,[0...1],因此只需通过缩放和移位就可以轻松地将其映射到任何有界区间。它有两个参数,如果这些参数相等,则它是对称的。高于 1 个参数使其成为钟形分布,但低于 1 个参数使其成为逆钟形分布,这正是您所寻找的。您可以使用它们,输入不同的值而不是 0.5,然后看看效果如何。参数等于 1 使其均匀。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)