组合随机样本

时间:2012-09-06 22:11:45

标签: algorithm math random probability combinatorics

我有一组元素 U (最初未知大小),我想生成 n 的随机样本<< |的û |元素。流采样适用于此。

当我将 U 细分为多个子集并对每个子集进行随机抽样(每个样本包含 k < = n 元素,但通常 k = n )。我也知道每个子集中有多少个元素。我想知道如何将这些样本(最好是一次合并两个样本)组合成一个大小的 n 样本。

或者换句话说,给定不同的集合 A B ,以及随机样本 a b ,我想 c a b ,这样 c 的随机样本A B ,我可以指定 c 的大小(通常| c |将与| <大小相同强>一 |)

2 个答案:

答案 0 :(得分:3)

好像你仍在从 U 中抽样。要选择样本,首先选择应该来自的子集 S_i 。这是与相对 S_i 大小成比例的。因此,如果 S_1 U 的20%,您可以从 S_1 中选择样本,概率为20%。选择子集后,您可以从该子集中获取任何一个样本,并在最终样本中使用它。如果 k 值小于 n ,这可能会遇到问题,但如果通常是 k = n ,那么对你来说可能不会有问题。

根据您的 A B 表述,按如下方式构建 c :概率为| A | / | A B |从 a 中获取您的下一个样本;概率| B | / | A B | = 1 - (| A | / | A B |)从 b 中获取下一个样本。 (正如我上面提到的,如果| a |不大于 n *(| A | / | <),这可能会遇到问题strong> A ∪ B |)(相当于| b |),但如果是这样的话,我不清楚你能做什么你想做什么。)这可以让你一次建立你的样本两个子集。

答案 1 :(得分:0)

如果| A | == | B |和| a | == | b |,那你根本不用担心。只需从aUb进行定期赎金抽样。