首页 > 解决方案 > 来自高斯的高效采样

问题描述

我正在尝试从具有平均 μm 和协方差 Σ 的“高维”正态分布中有效地采样。我所知道的是对于一些已知向量 x Σ = x^T x。
我可以通过以下方式在 numpy 中天真地做到这一点:

生成虚拟输入:

N = 10**2
m = np.ones(N)
x = np.ones(N)

执行随机抽样:

C = np.matmul(x[:,None], x[None,:])
A = np.random.multivariate_normal(m, C, 1).T

然而,当 N 非常大时,10^7那么存储 x^Tx 变得不可行。在这种情况下是否有已知的采样技巧而无需计算和存储 x^Tx?

标签: pythonnumpyrandomsamplingnormal-distribution

解决方案


推荐阅读