python - 从椭球置信区域均匀采样

标签 python numpy multidimensional-array random hypercube

我有一个 4 维椭球体,我想从中均匀地抽取样本。我想到了一种在椭球体周围使用超立方体的方法。我们可以从中抽取一个样本并检查它是否在椭球体中。但超立方体与椭球体在4维空间中的体积比为0.3。这意味着我的成功率只有百分之三十。由于我的算法存在速度问题,我不想使用这种方法。我也一直在研究逆变换采样。您能否告诉我如何使用 4 维椭球体执行此操作?

最佳答案

您可以将超椭球体转换为球体。

所以给定的 algorithm对于球体有效,但可以轻松转换为椭球体。

  1. 从所有坐标 x1 到 x4 的高斯分布 N(0,1) 中绘制。 x=[x1,x2,x3,x4]。
  2. 对向量 x 进行归一化。 ==> 你已经获得了表面上均匀分布的向量。
  3. 现在,从 [0,1] 绘制半径 u 作为单位球体的内点
  4. p=u**(1/4)*x 是 4 维单位球内均匀分布的向量。

关于python - 从椭球置信区域均匀采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24513304/

相关文章:

python - tf.train.Checkpoint 和 tf.train.Saver 之间的区别

python - 有没有更快的方法来检查 pygame 表面的 list[i] 是否具有 alpha 0

python - 为什么这个数组没有属性 'log10' ?

php - 将包含对象的数组展平/简化为数组数组

python - 在模板中显示自定义 Django 表单错误

python - python在Mathematica中有类似 "Chop"的功能吗?

python - Django:动态模型字段和迁移

python - Tensorflow:变量范围的值错误

python - 当指数为负时,为什么 numpy.power 不按元素对数组进行操作?

matlab - 体素邻域索引 - 使用线性索引在 26 个邻域访问中检测 "out of bounds"