【发布时间】:2016-04-28 05:09:13
【问题描述】:
使用 numpy 函数numpy.random.multivariate_normal(),如果我给出均值和协方差,我可以从多元高斯中抽取随机样本。
举个例子,
import numpy as np
mean = np.zeros(1000) # a zero array shaped (1000,)
covariance = np.random.rand(1000, 1000)
# a matrix of random values shaped (1000,1000)
draw = np.random.multivariate_normal(mean, covariance)
# this outputs one "draw" of a multivariate norm, shaped (1000,)
上述函数从多元高斯输出一个“绘制”,形状为(1000,)(因为协方差矩阵的形状为1000,1000))。
我想要 200 次抽奖。如何做到这一点?我会创建一个列表理解,但我看不到如何创建迭代。
编辑:有没有区别
draw_A = np.random.rand(1000, 1000, 200)
和
draw_B = [np.random.multivariate_normal(mean, covariance) for i in range(200)]
?
是的,draw_B 是一个列表,但它们都是 200 个独立绘制形状的 1000,1000)?
【问题讨论】:
标签: python arrays numpy random