使numpy制服更均匀

时间:2016-01-05 19:48:01

标签: python numpy statistics distribution uniform-distribution

我需要生成一组10 ^ 5个数据点,当这些数据点被分类到直方图中时,对数据的拟合是水平线。 使用np.random.uniform不够均匀(见图)。关于如何使均匀分布更均匀而不那么随机的任何想法???

enter image description here

1 个答案:

答案 0 :(得分:6)

它是随机 - 当然它不能完全匹配完美的均匀分布。方差应该很小,并且随着样本数量的增加而相应减小。如果你想要使用有限数量的样本进行精确的均匀分布,那么你就不再有统一的分布了;您有一个排列,您可以使用numpy.random.permutation生成排列。

很难找到确切的信息,但我认为NumPy的默认生成器基于Mersenne Twister RNG,它具有优秀的统计属性。因此,问题不在于这些样品不均匀。例如,看一下at the documentation的直方图,看起来和你的一样。