如何生成随机概率分布 julia

2024-03-13

我在字典中有一个键列表,我想为每个项目分配一个 0 到 1 之间的数字,使分配的数字总和为 1。如何做到这一点?我尝试使用 rand() 进行一些操作,但没有成功。有什么建议么?


更数学的答案是使用狄利克雷分布 https://en.wikipedia.org/wiki/Dirichlet_distribution。具体来说,浓度参数为 1.0 的对称狄利克雷在 N-单纯形上是均匀的:

julia> using Distributions

julia> d = rand(Dirichlet(4, 1.0))
4-element Vector{Float64}:
 0.1629111431248381
 0.025227624238719375
 0.030334086399317672
 0.7815271462371249

julia> sum(d)
1.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何生成随机概率分布 julia 的相关文章

随机推荐