algorithm - NumPy:均匀分布的N维样本

标签 algorithm python-3.x numpy

假设我有一个范围列表(以下限和上限的形式,包括)ranges = [(lb1, ub1), (lb2, ub2)...] 和一个正数k。有没有办法从 ranges 给出的 N 维间隔中采样 k 个 N 维向量(N 由 len(ranges) 给出) code> 使得样本尽可能均匀地覆盖间隔?

我没有均匀的定义,这只是直观的(也许“相邻”点之间的距离相似)。我不是在寻找精确的算法(如果没有定义,这是不可能的),而是在寻找如何做到这一点的想法,这在 python/numpy 中很好。

我(可能)不只是寻找随机采样,这很容易创建不需要的样本簇,但该算法绝对可以是随机的。

最佳答案

如果点是独立的,那么应该存在簇。因此,您希望这些点不是独立的。你想要类似 low discrepancy sequence 的东西在N维中。 N 维中低差异序列的一种类型是 Sobol sequence 。这些是为高维数值积分而设计的,适用于许多但不是所有目的。

By_Jheald_http://commons.wikimedia.org/wiki/File:Sobol_sequence_2D.svg

关于algorithm - NumPy:均匀分布的N维样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29213625/

相关文章:

python - Flask migrate 未检测到列自动增量更改?

python - 具有完全向量化的 Numpy 有序元素减法

python - PyTorch-断言错误 : Size mismatch between tensors

威尔逊分数区间的 Python 实现?

java - 在哪里可以找到 Java 中基于标准 Trie 的 map 实现?

java - 用最少的计算量寻找素数的算法

python - 如何将 jupyter 内核从 Python 2 更改为 python 3?

python-3.x - 使用io将字节传递给python中的ffmpeg

python - Numpy 数组获取不是 NaN 的数组的子集/切片

algorithm - 按关键字在数据存储中搜索相关主题