【发布时间】:2020-09-09 14:38:40
【问题描述】:
我希望从具有0 均值和极低标准差 (0.001) 的多元高斯分布生成样本。但是当我绘制结果样本时,我对它们的范围感到困惑。
如果我们查看从标准高斯分布生成的随机样本,它看起来不错。很大一部分样本位于两个轴上的 (-1, +1) 边界内(理想应该是 66%?)。此外,所有样本都在 (-3, +3) 的范围内,这看起来不错。
mean = np.array([0., 0.])
cov1 = np.array([[1., 0.], [0., 1.]])
size = 100
vals1 = np.random.multivariate_normal(mean, cov1, size)
plt.scatter(vals1[:, 0], vals1[:, 1])
现在,当我将标准偏差减小到 0.001 时,我希望样本在 (-0.003, 0.003) 范围内,但它们要高一个数量级。我看到它们位于(-0.06, 0.06) 的范围内。
cov2 = np.array([[0.001, 0.], [0., 0.001]])
vals2 = np.random.multivariate_normal(mean, cov2, size)
plt.scatter(vals2[:, 0], vals2[:, 1])
我想我解释多元高斯样本范围的方式有问题。谁能帮我理解这些结果?谢谢。
【问题讨论】:
标签: python numpy random gaussian