当数据流中的点具有相关权重时,是否存在如何执行油藏采样的算法?
答案 0 :(得分:17)
Pavlos Efraimidis和Paul Spirakis的算法解决了这个问题。带有完整证明的原始论文在2006年信息处理快报中以“带有水库的加权随机抽样”的标题发表,但您可以找到一个简单的摘要here。
该算法的工作原理如下。首先观察解决未加权油藏采样的另一种方法是为每个元素分配0和1之间的随机ID R,并逐步(比如用堆)跟踪顶部k id。现在让我们看看加权版本,让我们说第i个元素有权重w_i。然后,我们通过选择第i个元素的id为R ^(1 / w_i)来修改算法,其中R再次均匀地分布在(0,1)中。
另一篇关于这个算法的文章是Cloudera人的this one。
答案 1 :(得分:5)