为什么numpy使用半开区间为其均匀随机?

时间:2016-02-23 18:58:06

标签: python numpy random

所有numpy的随机函数都表示如下:

  

创建给定形状的数组并随机传播   来自[0,1]的均匀分布的样本。

(见这里:http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.rand.html#numpy.random.rand

使用半开区间[0,1]的原因是什么?从概率论的角度来看,无论是否包含1都无关紧要。

1 个答案:

答案 0 :(得分:4)

对于任意精度,它确实无关紧要,因为达到任何给定实数的概率将为零(仅对于一个间隔非零)。

计算上它确实很重要,因为你使用有限数值分辨率(例如双数字)。所以每个区间实际上都是一个封闭区间。

默认情况下,使用半开间隔可以避免在堆叠间隔时出现问题。所以[0,1)和[1,2]不会有共同的数字。

为实现开放时间间隔和其他问题,请参阅 this other stackoverflow question