给定平均值和标准偏差,生成二维正态分布

时间:2014-11-17 08:55:31

标签: python numpy

我正在寻找numpy.random.normal例程的二维模拟,即numpy.random.normal生成一个一维数组,其中包含均值,标准差和样本数作为输入,以及我正在寻找的方法是使用相同的输入参数在二维空间中生成点。

看起来numpy.random.multivariate_normal可以做到这一点,但我不太了解cov参数应该是什么。以下摘录更详细地介绍了此参数,并且来自scipy docs:

  

分布的协方差矩阵。必须是对称的   正半定的“物理意义”结果。

在页面后面的示例部分中,给出了一个示例cov值:

cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis

然而,这个概念对我来说仍然是非常不透明的。

如果有人能够澄清cov应该是什么,或者建议使用python在平均和标准偏差下在二维空间中生成点的另一种方法,我会很感激。

1 个答案:

答案 0 :(得分:4)

如果您将size=[1, 2]传递给normal()函数,则会得到一个2D数组,这实际上是您正在寻找的内容:

>>> numpy.random.normal(size=[1, 2])
array([[-1.4734477 , -1.50257962]])