我有一组元素 U (最初未知大小),我想生成 n 的随机样本<< |的û |元素。流采样适用于此。
当我将 U 细分为多个子集并对每个子集进行随机抽样(每个样本包含 k < = n 元素,但通常 k = n )。我也知道每个子集中有多少个元素。我想知道如何将这些样本(最好是一次合并两个样本)组合成一个大小的 n 样本。
或者换句话说,给定不同的集合 A 和 B ,以及随机样本 a 和 b ,我想 c ⊆ a ∪ b ,这样 c 是的随机样本A ∪ B ,我可以指定 c 的大小(通常| c |将与| <大小相同强>一 |)
答案 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进行定期赎金抽样。