NumPy:均匀分布的N维样本

时间:2015-03-23 15:05:09

标签: algorithm python-3.x numpy

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

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

我(可能)并不是在寻找可以很容易地创建不需要的样本集的随机抽样,但算法肯定是随机的。

1 个答案:

答案 0 :(得分:2)

如果这些点是独立的,则应该有集群。所以,你希望这些点不是独立的。您想要N维中的low discrepancy sequence之类的东西。 N维中的一种低差异序列是Sobol sequence。这些设计用于高维数值积分,适用于许多但不是所有目的。

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