对于特定的分配,我必须在N个随机变量上创建一个多元离散概率质量函数。我想通过创建一个填充有随机数的数组A来做到这一点,其中每个元素表示随机变量的联合概率。对于2个随机变量,分别具有ij可能的值,可以通过创建一个(i*j) numpy数组来填充随机数,总和= 1,以实现此目的。

但是,当引入具有k个可能值的附加随机变量时,将变得更加困难。在这种情况下,我需要有一个i*j*k Numpy数组,再次用随机数填充,总和等于1。

假设我已将结构(每个随机变量的可能值数)作为列表[n1,n2,...,nN]给出,那么如何从此处创建这样的N维Numpy数组?

最佳答案

如果l是您的尺寸列表,则可以

a = np.random.random(size=l)
a = a/a.sum()

关于python - 使用Numpy生成N维矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59019303/

10-11 22:28
查看更多