我正在寻找一个二维模拟 numpy.random.normal
例程,即 numpy.random.normal
生成一个一维数组均值、标准差和样本数作为输入,而我正在寻找的是一种使用相同输入参数在二维空间中生成点的方法。
看起来 numpy.random.multivariate_normal
可以做到这一点,但我不太明白 cov
参数应该是什么。以下摘录更详细地描述了此参数,摘自 scipy 文档:
Covariance matrix of the distribution. Must be symmetric and positive-semidefinite for “physically meaningful” results.
在页面后面的示例部分,给出了示例 cov
值:
cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis
然而,这个概念对我来说仍然很不透明。
如果有人可以阐明 cov
应该是什么,或者建议使用 python 在给定均值和标准差的情况下在二维空间中生成点的另一种方法,我将不胜感激。
最佳答案
如果将 size=[1, 2]
传递给 normal()
函数,您会得到一个二维数组,这实际上就是您要查找的内容:
>>> numpy.random.normal(size=[1, 2])
array([[-1.4734477 , -1.50257962]])
关于python - 给定均值和标准差生成二维正态分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26968847/