python - 如果我系统地删除第 n 个随机数,随机数仍然是随机的吗?

标签 python random numpy

我目前正在使用 numpy.random.random_sample 来计算大量随机数。如果我删除这些数字中的每十分之一,结果是否仍会像以前一样随机?或者我会通过这样做引入某种偏差吗?

编辑:正如所指出的,这归结为我的 RNG 有多好。我如何确定我是否可以信任 RNG,或者我如何发现潜在的偏差?

最佳答案

如果一开始它们与真随机无法区分,那么之后它们将与真随机无法区分。

原因是剩余数字之间存在的任何相关性或偏差构成完整集合之间的相关性或偏差。因此,如果完整集好,则子集也好。

当然,如果您根据数字的值而不是仅根据它们在序列中的位置有选择地删除数字,情况就不一定如此。

此外,如果数字开始时不好,那么之后可能会比以前更糟。对于一个极端的例子,考虑一个由 9 个零组成的序列,后面是抛硬币的结果,9 个零和另一个抛硬币的结果,等等。这个数据源有一些熵(每 10 个值 1 位),但是如果你删除每个第 10 个元素然后它没有(剩余的输出是预先知道的)。

关于python - 如果我系统地删除第 n 个随机数,随机数仍然是随机的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20617587/

相关文章:

python - django 模型表单自定义字段

python - 使用 Python 获取所有打开的标签页的 URL

ios - 如何以编程方式选择表格中的一行

python - 提取 numpy 数组中每个元素的最后两位数字的有效方法

arrays - 如何通过组合 column_names 列表和 numpy 数组然后添加更多列来创建 pandas DataFrame?

python-3.x - 在 Pandas 中使用 groupby 获取行数

python - 重复访问多个文件时出错

python - plpython 中的导入语句是如何处理的?

Java - 返回相同整数的随机 nextInt 方法

java - 为什么我在设置随机种子后总是得到相同的随机双倍?