python - 来自高斯的高效采样
问题描述
我正在尝试从具有平均 μ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?
解决方案
推荐阅读
- javascript - jQuery 不要发送 msg.message
- typescript - 量角器过滤器多次调用
- docker - Docker - 将新内容上传到生产环境的最安全方式
- ruby-on-rails - 如何使用 Rails 5.2 从 Arel 查询中的日期中提取一周?
- angular - How to make Nb-Card Scrollable
- php - 如何取消设置对象数组中所有对象的键?
- spring - 如何限制spring集成只读取特定的目录路径?
- lua - 我该如何解决捐赠错误:该项目目前不出售。您的帐户尚未收费。[罗布乐思]
- github - 创建远程仓库时在哪里可以找到要添加的名称(github)
- spring - 我在 Spring 应用程序上的 @Scheduled 任务未在 Heroku 上执行