1
我正在使用Dirichlet分布生成一个总和为1的随机数组。然而,我实际上认为我需要这些数字来求和任意常量。生成一个随机数组合成一个常数
import numpy as np
d = np.random.dirichlet(np.ones(10), size=1)
我感到困惑修改此使得总量是一个好办法,说10推测:
10*d
不去做一个好办法。
我正在使用Dirichlet分布生成一个总和为1的随机数组。然而,我实际上认为我需要这些数字来求和任意常量。生成一个随机数组合成一个常数
import numpy as np
d = np.random.dirichlet(np.ones(10), size=1)
我感到困惑修改此使得总量是一个好办法,说10推测:
10*d
不去做一个好办法。
我认为N*d
是一种合法的方式来修改您的随机数字总和为N=10
。 Dirichlet random numbers are samples from a Gamma generator that are normalized to sum to 1(另请参阅Wikipedia)。由于您希望它们的总和为N
而不是1,因此将每个Dirichlet随机数乘以N
是完全合法的。