gpt4 book ai didi

random - 在 netlogo 中绘制随机 beta 分布

转载 作者:行者123 更新时间:2023-12-02 06:06:22 25 4
gpt4 key购买 nike

我正在尝试生成一个品种拥有的变量,该变量从 Netlogo 中的随机 beta 分布中提取其值。

我在网上找到了“bc”代码示例,但正在努力使其适应我的需要。现在,为了方便起见,我使用随机正态分布生成了分布

create-breed 500
[
set target_factor random-normal 0.9 0.05
if target_factor > 1 [set target_factor 0.9999999999]
if target_Factor < 0.5 [set target_factor 0.5000000001]
]

所以基本上我想要一个可以用随机 beta 分布替换“随机正态 0.9 0.05”部分的记者

我到目前为止:

to-report random_beta
set asocial_alpha 2
set asocial_beta 2
set asocial_min_eps 0
set asocial_max_eps 0.25
let x random-gamma asocial_alpha 1
let asocial_eps (x / (x + random-gamma asocial_beta 1))
set asocial_eps asocial_min_eps + (asocial_eps * (asocial_max_eps - asocial_min_eps))
foreach ( n-values 99 [ (? + 1) / 100 * (asocial_max_eps - asocial_min_eps) + asocial_min_eps] )
[report ? ( ((? - asocial_min_eps) ^ (asocial_alpha - 1) * (asocial_max_eps - ?) ^ (asocial_beta - 1)) / ( asocial_max_eps - asocial_min_eps ) ^ (asocial_alpha + asocial_beta - 1) )]
end

这里所有的“设置”变量都是全局因素

老实说,我对这个数学问题的理解超出了我的能力范围。如果有人可以帮助我修复这个记者(或者如果一个程序可以工作,那也很好)。所以我的品种创建的最终代码是:

create-breed 500
[
set target_factor random-beta
if target_factor > 1 [set target_factor 0.9999999999]
if target_Factor < 0.5 [set target_factor 0.5000000001]
]

最佳答案

有人问我这个异地问题,因为显然 rngs 扩展已经有一段时间没有更新了,我想我也应该在这里发帖。以下是使用内置 Gamma 分布生成器绘制 beta 的代码。

to-report random-beta [ #alpha #beta ]
let XX random-gamma #alpha 1
let YY random-gamma #beta 1
report XX / (XX + YY)
end

关于random - 在 netlogo 中绘制随机 beta 分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493122/

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