关于numpy.random.choice采样是否偏向前序元素的技术问询
关于numpy.random.choice有放回采样的疑问解答
numpy.random.choice的有放回采样并没有偏向选择前len(x1)个元素的设计逻辑,你碰到的情况是相同随机种子固定了随机索引序列导致的现象:
- 当设置相同随机种子后,
numpy.random模块生成的随机数序列是完全确定的。choice执行有放回采样时,本质是先生成一组对应原列表索引的随机整数,再根据这些索引提取元素。 - 你以
len(x1)为样本量采样,x2、x3虽然长度大于x1,但这次生成的随机索引刚好全部落在0到len(x1)-1的区间内,因此自然不会选中后面追加的新元素。 - 种子为0时三次采样结果完全一致,种子为1时前19个元素一致,都是因为相同种子下随机索引序列固定;不同种子生成的索引序列有差异,但刚好都没触及x2、x3新增元素对应的索引而已。
如果要验证算法是否无偏,可以更换不同随机种子多次测试,或者增大采样的样本量,你会发现采样结果中会出现x2、x3的新增元素,以此证明算法本身是均匀无偏的。
内容的提问来源于stack exchange,提问作者Enk9456
相关产品推荐
相关产品推荐

