【发布时间】:2018-08-26 19:31:51
【问题描述】:
我想生成一个随机泊松数分布,其中生成的数字之和为 1000,分布的下上限为 (3-30)。
我可以使用 numpy 生成随机数:
在 [2] 中:np.random.poisson(5, 150) 数组([ 4, 4, 6, 4, 8, 6, 4, 2, 6, 8, 8, 8, 1, 4, 3, 4, 1, 3, 7, 6, 7, 4, 5, 5, 7, 6, 5, 3, 3, 5, 4, 6, 2, 0, 3, 5, 6, 2, 5, 2, 4, 7, 4, 7, 8, 5, 6, 1, 4, 4, 7, 4, 7, 2, 7, 4, 3, 8, 10, 2, 5, 7, 6, 3, 5, 7, 8, 5, 4, 7, 8, 8, 2, 2, 10, 6, 3, 5, 2, 5, 5, 6, 4, 6, 4, 0, 4, 3, 5, 8, 6, 7, 4, 4, 4, 3, 3, 4, 4, 6, 7, 6, 3, 9, 7, 7, 4, 5, 2, 4, 3, 6, 5, 6, 3, 6, 8, 9, 6, 3, 4, 4, 7, 3, 9, 12, 4, 5, 5, 7, 6, 5, 2, 10, 1, 3, 4, 4, 6, 5, 4, 4, 7, 5, 6, 5, 7, 2, 5, 5])
但是,我想添加更多内容:
- The random number should be minimal of 3 and max of 30
- The sum of the generated random number should be 1000.
我知道,如果我进行操作,我可能无法创建精确的泊松分布。但是,我想要像泊松这样的东西,但有建议的控制。
【问题讨论】:
-
值的数量总是固定的吗?
-
你的问题毫无意义。如果它的最小值为 3,则它不是泊松。如果随机变量加到一个常数上,它们就不是独立的泊松。
-
@Denziloe 用泊松最小化 3 很容易 - 只需返回 poisson(lambda)+3。将上限设为 30 很难......
-
@Denziloe 问题要求“类似 possion”(原文如此)。移位泊松是一种合理的解释。
-
@Denziloe 人们采用“纯”分布并一直在重新缩放/转换它们以进行建模。如果两个分布除了轴上的标签之外具有相同的直方图,我认为可以说它们相似。
标签: python pandas numpy random numbers