随机分布数据

Ant*_*fus 5 random controls distribution random-seed

如何在更大量的数据中以随机顺序分发少量数据?

例如,我有几千行"真实"数据,我想在整个"真实"数据中以随机顺序插入十二行或两行控制数据.

现在我不是想问如何使用随机数生成器,我问一个统计问题,我知道如何生成随机数,但我的问题是我如何确保这个数据是以随机顺序插入的同时在文件中相当均匀地分散.

如果我只依赖于生成随机数,则有可能(尽管非常小)可以将所有我的控制数据或至少其中的一些数据插入到相当狭窄的"真实"数据中.阻止这种情况发生的最佳方法是什么?

换句话说,我想在整个真实数据中插入控制数据,而没有办法让第三方计算哪些行是控制的,哪些是真实的.


更新:我已经把它变成了一个"社区维基",所以如果有人想编辑我的问题,那就更有意义了,那么就去吧.
更新:让我尝试一个例子(我不想让这种语言或平台依赖,因为它不是编码问题,这是一个统计问题).

  • 我有3000行'真实'数据(这个数量会随着用户的数据量而在不同运行之间变化).
  • 我有20行"控制"数据(同样,这将根据用户想要使用的控制行数量,从零向上的任何内容而改变).

我现在想要在每150行或插入"真实"数据后大致插入这20个"控制"行(3000/20 = 150).但是我不希望它像那样准确,因为我不希望控制行只是根据它们在输出数据中的位置来识别.

因此,我不介意某些 "控制"行聚集在一起,或者根本没有"控制"行的某些部分,但通常我希望"控制"行在整个数据中相当均匀地分布.

ken*_*der 3

如果你真的很随机​​的话,他们总是有可能彼此靠近:)

但我要做的是:

  1. 您有N几行真实数据和x控制数据
  2. 要获取行的索引,您应该插入i第一个控制行,我会使用:N/(x+1) * i + r,其中r是一些随机数,每个控制行都不同,与 相比较小N/x。选择任意确定方式r,可以是高斯分布,也可以是平坦分布。i是控制行的索引,所以它是1<=i<x
  3. 这样您就可以确保避免将控制行集中在一个位置。此外,您还可以确定它们彼此之间的距离不会固定。