我想生成N总和的随机正整数M.我希望在一个相当正态的分布周围选择随机正整数,其均值是M/N,标准差很小(是否可以将其设置为约束?).
最后,您如何概括产生N个随机正数(不仅仅是整数)的答案?
我发现了其他相关问题,但无法确定如何将答案应用于此背景:https: //stats.stackexchange.com/questions/59096/generate-three-random-numbers-that-sum-to-1-在-R
在某些代码中,我想选择总和为的n随机数.[0,1)1
我这样做是通过单独选择数字[0,1)并通过将每个数字除以总和来标准化它们:
numbers = [random() for i in range(n)]
numbers = [n/sum(numbers) for n in numbers]
Run Code Online (Sandbox Code Playgroud)
我的"问题"是,我得出的分布是相当偏斜的.选择一百万个数字而不是一个数字就可以了1/2.通过一些努力,我已经计算了pdf,这并不好.
这是我为5个变量得到的奇怪的pdf:

您是否有一个好的算法来选择数字,从而产生更均匀或更简单的分布?