【发布时间】:2010-09-16 06:46:52
【问题描述】:
如何将少量数据以随机顺序分布在大量数据中?
例如,我有几千行“真实”数据,我想在整个“真实”数据中以随机顺序插入十几或两行控制数据。
现在我不是要问如何使用随机数生成器,我是在问一个统计问题,我知道如何生成随机数,但我的问题是如何确保数据以随机顺序插入同时相当均匀地分散在文件中。
如果我只依赖生成随机数,那么我的所有控制数据,或者至少是其中的一部分,都有可能(尽管非常小)被插入到一个相当狭窄的“真实”数据选择中。阻止这种情况发生的最佳方法是什么?
换一种说法,我想在我的真实数据中插入控制数据,而第三方无法计算哪些行是控制的,哪些是真实的。
更新:我已将其设为“社区 wiki”,因此如果有人想编辑我的问题以使其更有意义,那么请继续。
更新:让我举个例子(我不想让这种语言或平台依赖,因为它不是编码问题,而是统计问题)。
- 我有 3000 行“真实”数据(此数量会因运行而异,具体取决于用户拥有的数据量)。
- 我有 20 行“控制”数据(同样,这将根据用户想要使用的控制行数而变化,从零开始)。
我现在想在每插入 150 行或“真实”数据 (3000/20 = 150) 之后插入这 20 个“控制”行大致。但是,我不希望它像那样准确,因为我不希望控制行仅根据它们在输出数据中的位置来识别。
因此,我不介意 一些 的“控制”行聚集在一起,或者有 一些 部分只有很少或根本没有“控制”行,但通常我希望“控制”行相当均匀地分布在整个数据中。
【问题讨论】:
-
在什么情况下?这是在数据库中吗?纯文本文件?
-
这是一个纯文本文件,实际上我在内存中有行和控制行。当我将“真实”行写入文件时,我希望能够决定是否应该编写“控制”行,控制行分布在整个真实数据中,而不是全部聚集在开头或结尾。
标签: random controls distribution random-seed