在计算机科学和其他领域中,在一个大型数据集中估计不同值(DVs)的数量的任务出现在各种各样的设置中。我们提供DV估计技术的情况下,感兴趣的数据集被分割成分区。我们为每个分区创建一个概要,用于估计分区中DVs的数量。通过结合和推广文献中的一些结果,我们得到了合适的概要和DV估计量。这些概要可以并行创建,并且可以很容易地组合为“复合”分区生成概要和DV估计,这些“复合”分区是通过任意的多集并集、交集或差集操作从基本分区创建的。我们的概要还可以处理单个分区元素的删除。我们证明了我们的DV估计器是无偏的,提供了误差边界,并展示了如何选择摘要大小以达到预期的估计精度。实验和理论表明,与以前的方法相比,我们的概要和估计方法可以降低计算成本和更准确的DV估计。
回到顶部一个>
确定大型数据集中不同值(DVs)的数量的任务出现在各种各样的设置中。一个经典的应用是种群生物学,其目标是根据对许多个体动物的观察来确定不同物种的数量。在计算机科学中,应用包括网络监控、文档搜索、用于数据库查询优化的谓词选择性估计、用于物理数据库设计的存储大小估计以及发现诸如键和副本等元数据特性。
分布式交换机的数量可以通过对数据集进行排序,然后对数据执行直接的扫描和计数传递来精确计算;或者,可以构造一个哈希表,并用于计算分布式交换机的数量。这两种方法都不能很好地扩展到实践中经常遇到的大量数据集,因为需要大量的时间和内存。因此,在过去的25年里,大量的研究集中在可扩展的近似方法上。这些方法通过抽取数据项的随机样本并从统计上推断DVs的数量,或者通过对数据进行一次遍历并使用哈希技术使用少量有限的内存来计算一个估计。
几乎所有这些工作都集中于生成数据集的给定概要,例如一个随机样本或位向量,然后使用概要来获得DV估计。在多个数据集上存在联合、交集和差异操作时,与合并和利用概要相关的问题在很大程度上尚未得到探索,处理从数据集中删除项的问题也是如此。这些问题是本文的重点,本文研究的是将感兴趣的数据集分割成不相交的分区,即不相交的多集时的DV估计方法。<年代up>一个一个>年代up>我们的想法是为每个分区创建一个概要,以便(i)概要可以用来估计分区中分布式交换机的数量,(ii)概要可以组合为“复合”分区创建概要,这些“复合”分区是使用多集联合、交集或差异操作从基本分区创建的。
这种方法允许并行处理,因此dv -估计任务可扩展到大量数据集,以及灵活处理dv -估计查询和优雅地处理波动的数据到达率。分区方法还可以通过发现分区之间的关系来支持自动数据集成。例如,假设数据按其来源分区:Amazon客户vs YouTube下载者。然后,DV估计可用于发现子集包含关系和函数依赖关系,以及近似两个分区域之间的Jaccard距离或其他相似性度量;参见布朗、哈斯和达苏等人。<年代up>4一个>,<一个href="#R6">6一个>年代up>
因此,我们的目标是为DV估计提供“分区感知”的概要,以及利用这些概要的相应DV估计器。我们还努力在我们的DV估计中保持尽可能好的准确性,特别是当概要的大小很小的时候:正如在续集中讨论的,复合分区的概要的大小受到最小输入概要的大小的限制。
我们从文献中汇集了各种想法来获得我们问题的解决方案,从而产生了最佳的DV估计方法,它还可以处理多集操作和删除。在第二节中,我们首先考虑一个简单的“KMV”(<我>K我>最小哈希值)的概要<年代up>2一个>年代up>对单个分区的分布式交换机进行哈希处理,并记录<我>K我>最小的哈希值以及基于概要的“基本”DV估计量;参见方程1。在第3节中,我们简要回顾了之前的工作,并表明几乎所有之前的DV估计量都可以被视为基本估计量的版本或近似。在第4节中,我们提出了一个新的DV估计量(见公式2),它改进了基本估计量。新的估计器还使用了KMV概要,是基本估计器的一个看似简单的修改。在一个哈希的概率模型下,我们证明了新的估计量是无偏的,并且比基本估计量具有更小的均方误差。此外,当有许多分布式均衡器且概要规模较大时,我们证明了新的无偏估计器本质上具有任意DV估计器的最小可能方差。为了帮助用户评估由无偏估计器产生的特定DV估计的精度,我们提供了概率误差边界。我们还展示了如何确定适当的概要大小以达到期望的错误级别。
在第5节中,我们用反制Ganguly等人和Shukla等人的精神来增加KMV的概要。<年代up>10一个>,<一个href="#R18">18一个>年代up>以获得“AKMV简介”。然后,我们提供了组合AKMV概要的方法,使这些概要的集合在父分区的多集操作下“关闭”。AKMV概要还可以处理单个分区元素的删除。我们还展示了如何扩展我们的简单无偏估计器来利用AKMV概要,并在多集操作中提供无偏估计,在此过程中获得Jaccard距离的无偏估计;见公式7和8。第6节是对bayer等人的原始结果的一些最近的补充和扩展。<年代up>3.一个>年代up>
几乎所有DV估计器背后的思想可以如下所示。每一个<我>D我>数据集中的分布式交换机被映射到单位间隔上的一个随机位置,我们观察这个位置<我>U我><年代ub>(<我>k我>年代ub>)年代ub>的<我>k我>左起第Th点,对于<我>k我>;看到<一个href="#F1">图1一个>.的值越大<我>D我>,即单位区间上的点数越多,值越小<我>U我><年代ub>(<我>k我>年代ub>)年代ub>.因此<我>D我>可以用递减函数来估计吗<我>U我><年代ub>(<我>k我>年代ub>)年代ub>.
具体来说,如果<我>D我><我米g src="https://dl.acm.org/cms/attachment/f191daed-aac2-4dd9-9e2e-a2943378c734/gt.gif" border="0" hspace="2" alt="gt.gif">将1个点随机均匀地放置在单位间隔上,那么,通过对称性,任意两个相邻点之间的期望距离为1/(<我>D我>+ 1)<我米g src="https://dl.acm.org/cms/attachment/f91b5688-8ebb-41eb-946d-b196b752ae91/ap.gif" border="0" hspace="2" alt="ap.gif">1 /<我>D我>的期望值<我>U我><年代ub>(<我>k我>年代ub>)年代ub>,<我>k我>最小的点是<我>E我>[<我>U我><年代ub>(<我>k我>年代ub>)年代ub>k我>年代up>j我>年代ub>= 1年代ub>(1 /<我>D我>) =<我>k/天我>.因此<我>D我><我米g src="https://dl.acm.org/cms/attachment/f91b5688-8ebb-41eb-946d-b196b752ae91/ap.gif" border="0" hspace="2" alt="ap.gif">k / E我>[<我>U我><年代ub>(<我>k我>年代ub>)年代ub>].最简单的估计值<我>E我>[<我>U我><年代ub>(<我>k我>年代ub>)年代ub>是简单的<我>U我><年代ub>(<我>k我>年代ub>)年代ub>它本身就是所谓的“矩法”估计器,并产生<我>基本的估计量我>
上面的1对1映射<我>D我>DV年代到一组<我>D我>均匀随机数可以被完美地构造出来<我>O我>(<我>D我>日志<我>D我>)内存,但这种内存需求对于非常大的数据集显然是不可行的。幸运的是,一个哈希函数,通常只需要一个对入的内存量<我>D我>通常“看起来”像一个统一的随机数生成器。特别是,让<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(一)= {<我>v我><年代ub>1年代ub>,<我>v我><年代ub>2年代ub>、……<我>v我><年代ub>D我>年代ub>}是<我>域我>多重集的<我>一个我>中DVs的集合<我>一个我>,让<我>h我>是来自的哈希函数<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>一个我>)到{0,1,…,<我>米我>},<我>米我>是一个大的正整数。对于许多哈希函数,序列<我>h我>(<我>v我><年代ub>1年代ub>),<我>h我>(<我>v我><年代ub>2年代ub>),…<我>h我>(<我>v我><年代ub>D我>年代ub>)看起来像是实现了一组独立的同分布(i.i.d.)样本序列,这些样本来自于{0,1,…,<我>米我>}。前提是<我>米我>足够大于<我>D我>,序列<我>U我><年代ub>1年代ub>=<我>h我>(<我>v我><年代ub>1年代ub>) /<我>米我>,<我>U我><年代ub>2年代ub>=<我>h我>(<我>v我><年代ub>2年代ub>) /<我>米我>、……<我>U我><年代ub>D我>年代ub>=<我>h我>(<我>v我><年代ub>D我>年代ub>) /<我>米我>将从[0,1]上的连续均匀分布近似地实现I.I.D.样本序列。这个断言要求<我>米我>比<我>D我>为了避免碰撞,即为了确保,在很大概率下,<我>h我>(<我>v我><年代ub>我我>年代ub>)<我>h我>(<我>v我><年代ub>j我>年代ub>)为所有<我>我我><我>j我>.一个“生日问题”的争论<年代up>16日,45页年代up>显示碰撞将避免时<我>米我>= (<我>D我><年代up>2年代up>).为了实际的目的,我们假定在我们的讨论中出现的任何哈希函数都能避免碰撞。我们在经验意义上使用“看起来像”这个术语,这足以用于应用。因此,在实践中,估计器<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">可以用<我>U我><年代ub>(<我>k我>年代ub>)年代ub>作为<我>k我>第一个最小的哈希值(被1/<我>米我>).一般来说,<我>E我>(1/<我>X我>)> 1/<我>E我>[<我>X我>为非负随机变量<我>X我>,<年代up>17一个>,第351页年代up>因此
也就是说,估计量<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">的每一个可能值都是向上偏移的吗<我>D我>,所以它高估了<我>D我>平均。事实上,根据第4.1节的结果可以得出<我>E我>[<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">) =<我>k我>=1。在第4节中,我们提供了一个无偏估计器,它的均方误差也比<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">.
注意,在某种意义上,前面提到的哈希函数是一种算法,它根据均匀分布在单位区间上有效地放置点,这代表了基本估计器的最坏情况。哈希函数扩展点的程度<我>均匀我>在[0,1]上,即没有作为随机副产品的聚集,估计量<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">将产生更准确的估计。我们在实验中观察到了这种现象。<年代up>3.一个>年代up>
前面对基本估计器的讨论立即隐含了分区的概要选择<我>一个我>.使用上面的哈希函数,哈希中所有的分布式交换机<我>一个我>然后记录下<我>k我>最小的散列值。我们称之为概要<我>K米V简介我>(<我>k我>最小值)。KMV的概要可以被视为起源于Bar-Yossef等人,<年代up>2一个>年代up>但在Bar-Yossef等人的著作中却没有讨论。<年代up>2一个>年代up>关于实现、构造或组合这些概要。
如前所述,我们需要有<我>米我>= (<我>D我><年代up>2年代up>)以避免碰撞。因此每一个<我>k我>散列值要求<我>O我>(日志<我>米我>) =<我>O我>(日志<我>D我>)位的存储,KMV概要所需的大小为<我>O我>(<我>k我>日志<我>D我>).
KMV概要可以从数据分区的一次扫描中计算出来,使用<一个href="#UF1">算法1一个>.该算法使用一个排序列表<我>k我>哈希值,可以使用,例如,优先队列来实现。第7行中的成员检查避免了对输入数据分区中重复值的不必要处理,并且可以使用一个临时哈希表来实现,这个临时哈希表在概要构建后被丢弃。
假设分区中项目的扫描顺序与项目的哈希值无关,我们得到如下结果。
定理1。<我>从一个包含N个数据项且有D个不同值的分区a构造一个大小为k的KMV概要的预期成本是O我>(<我>N我>+<我>k我>日志<我>k我>日志<我>D我>).
证明。第6行和第7行中的散列步骤和成员检查的开销为<我>O我>(1)每项<我>N我>项目<我>一个我>,总成本为<我>O我>(<我>N我>).要计算执行算法剩余步骤的预期成本,请观察第一个步骤<我>k我>遇到的分布式交换机被插入到优先队列中(第9行),并且每次这样的插入的代价最多为<我>O我>(日志<我>k我>),总费用为<我>O我>(<我>k我>日志<我>k我>).随后遇到的每个新的DV都将招致一个<我>O我>(日志<我>k我>)代价,如果它被插入(第11行)<我>O我>(1)成本。(注意,一个给定的DV将最多被插入一次,在第一次遇到它的时候,不管它出现了多少次<我>一个我>)。的<我>我我>只有当DV的归一化哈希值存在时,才会插入新的DV<我>U我><年代ub>我我>年代ub>小于<我>米我><年代ub>我我>年代ub>,是当前概要中最大的规范化哈希值。因为点是均匀放置的,这个事件的条件概率,给定的值<我>米我><年代ub>我我>年代ub>,是<我>P我>{<我>U<年代ub>我年代ub>< M<年代ub>我年代ub>|<我>米我><年代ub>我我>年代ub>} =<我>米我><年代ub>我我>年代ub>.根据总期望定律,<我>P我>{<我>U我><年代ub>我我>年代ub><<我>米我><年代ub>我我>年代ub>} =<我>E我>[<我>P我>{<我>U<年代ub>我年代ub>< M<年代ub>我年代ub>|<我>米我><年代ub>我我>年代ub>}] =<我>E我>[<我>米我><年代ub>我我>年代ub>] =<我>k/我我>.因此,处理剩余部分的预期成本<我>D我><我>k我>德国是
自<年代up>D年代up>我我>年代ub>= 1年代ub>(l /<我>我我>) =<我>O我>(日志<我>D我>).因此,总的预期成本是这样的<我>O我>(<我>N我>+<我>D我>+<我>k我>日志<我>k我>+<我>k我>日志<我>k我>日志<我>D我>) =<我>O我>(<我>N我>+<我>k我>日志<我>k我>日志<我>D我>).<我米g src="https://dl.acm.org/cms/attachment/c9b4680e-5752-4acd-922b-69e3111d15a1/squ.gif" border="0" hspace="2" alt="squ.gif">
我们在第5节中展示了向KMV概要添加计数器对构建成本的影响可以忽略不计,并导致一个理想的“关闭”属性,允许在多集操作下有效地进行DV估计。
我们现在给出先前概要和DV估计器的统一视图,并讨论处理复合分区的先前方法。
3.1.DV估计的概要
一般来说,关于DV估计的文献并没有明确地讨论概要,因此也没有讨论在相应分区上存在集合操作时合并概要的相关问题。然而,我们可以从各种算法描述中推断出潜在的候选概要。关于DV估计的文献是巨大的,所以我们满足于给出要点和进一步参考的指针;一些有用的文献综述,见拜尔等人,<年代up>3.一个>年代up>Gemulla,<年代up>11一个>年代up>吉本斯<年代up>13一个>年代up>哈斯和斯托克斯。<年代up>14一个>年代up>
随机样本:从历史上看,DV估计的问题最初是考虑概要包含数据项的随机样本的情况。应用包括估计物种多样性(如引言中所述),根据留存下来的硬币样本确定不同罗马硬币的数量,根据莎士比亚现存的著作估计其词汇量,估计一组合并的人口普查清单中不同个体的数量,等等;参见哈斯和斯托克斯<年代up>14一个>年代up>和引用。关键的缺点是,根据这样的概要计算出的DV估计可能非常不准确,特别是当数据集由一些高频率的值主导时,或者当有许多分布式交换机时,每个分布式交换机的频率都很低(但不是所有的都是唯一的)。有高概率,样本大小<我>k我>在前一种情况下,只有一两个DVs导致严重低估<我>k我>在后一种情况下,DVs导致了严重的高估。由于这个原因,特别是在计算机科学文献中,重点一直是对数据集进行完整的遍历,但使用有限的内存的算法。当数据集很大的时候,我们的结果特别有意义,因为我们可以并行化DV-estimate的计算。
请注意,如果我们修改KMV概要来记录的不是某个值的哈希值,而是值本身,那么我们实际上是在数据集中维护了分布式交换机的统一样本,从而避免了上面提到的问题。看到Gemulla<年代up>11一个>年代up>对“显著值抽样”及其与dv估计问题的关系进行了深入的讨论。
向量对照表:最古老的一类基于单遍、有限内存处理的概要包含各种类型的位向量。“线性计数”技术<年代up>1一个>,<一个href="#R21">21一个>年代up>将每个DV散列到位向量中的一个位置<我>V我>的长度<我>米我>=<我>O我>(<我>D我>),并使用1位的个数来估计DV计数。它的<我>O我>(<我>D我>)的存储要求对于现代数据集来说通常是不可接受的。
Flajolet和Martin的“对数计数”方法<年代up>1一个>,<一个href="#R9">9一个>年代up>使用长度的位向量<我>l我>=<我>O我>(日志<我>D我>).这个想法是哈希每一个分布式交换机<我>一个我>到集合{0,1}<年代up>l我>年代up>长度的二进制字符串<我>l我>,并寻找形式0的模式<年代up>j我>年代up>1在哈希值的最左边位。的给定值<我>j我>,出现这种情况的概率是1/2<年代up>j我>年代up>+1年代up>,即之后这种模式的预期观察次数<我>D我>DV年代被哈希了<我>D我>/2<年代up>j我>年代up>+1年代up>.假设观测到的最长模式,比如说<我>j*我>前导0,预计出现一次,我们设置<我>D我>/2<年代up>j我>年代up>* + 1年代up>= 1,所以<我>D我>= 2<年代up>j *我>年代up>+1年代up>;看到<一个href="#F2">图2一个>,改编自Astrahan等人。<年代up>1一个>年代up>的价值<我>j*我>是近似确定的,方法是取每个散列值,通过将除最左边的1以外的所有值归零来转换该值,并将对数计数摘要作为转换后值的按位or计算。让<我>r我>表示概要中最左边的0位的位置(从0开始计数)。然后<我>r我>上界是多少<我>j*我>的下界<我>j*我>+1,导致粗略估计为2<年代up>r我>年代up>.例如,如果<我>r我>= 2,因此概要的最左边位为110(如<一个href="#F2">图2一个>)时,我们知道模式001没有出现在任何散列值中,因此<我>j*我><2。
实际的DV估计是通过乘以2得到的<年代up>r我>年代up>通过一个因子来纠正向下的偏差,以及哈希冲突。在完整算法中,几个独立的值<我>r我>实际上,在一起平均(使用一种称为“随机平均”的技术),然后取指数。Durand和Flajolet的后续工作<年代up>8一个>年代up>通过跟踪和维护,改进了对数计数算法的存储要求<我>j*我>直接。编码所需的比特数<我>j*我>是<我>O我>(日志日志<我>D我>),因此这种技术被称为LogLog计数。
当在分区数据设置中作为概要使用时,上述位向量数据结构的主要缺点是联合是唯一受支持的集操作。例如,必须借助于包含/排除公式来处理集合的交集。随着集合操作数量的增加,这种方法变得极其麻烦、昂贵和不准确。
几个作者<年代up>10一个>,<一个href="#R18">18一个>年代up>提出用一个精确或近似的计数器来替换对数计数位向量中的每一位,以便在数据集存在插入和删除时允许DV估计。然而,这种修改并不能改善包含/排除问题。
Sample-Counting剧情简介:另一种类型的概要产生于“样本计数”dv估计方法,也被称为“自适应抽样”,归功于Wegman。<年代up>1一个>年代up>这里是分区的概要<我>一个我>包含{<我>h我>(<我>v我>):<我>v我><我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">(一)},<我>h我>:<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(一)<我米g src="https://dl.acm.org/cms/attachment/7bd11f6a-76ef-4894-909e-d2fe87a3eace/map.gif" border="0" hspace="2" alt="map.gif">{0,1,…,<我>米我>}仍然是一个散列函数。更详细地说,概要包含一个固定大小的缓冲区,它保存长度的二进制字符串<我>l我>=日志(<我>米我>),以及一个“引用”二进制字符串<我>年代我>,也指长度<我>l我>.其思想是在分区中哈希分布式交换机,就像在对数计数中一样,并将哈希值插入到缓冲区中,以容纳以下数据<我>k我>>0哈希值;缓冲区只跟踪插入其中的不同哈希值。当缓冲区填满时,将通过删除所有最左边位不等于的散列值来清除它<我>年代我>;该操作将删除缓冲区中大约一半的散列值。从这一点开始,当且仅当第一个位与的第一个位匹配时,将哈希值插入缓冲区<我>年代我>.下一次缓冲区填满时,执行清除步骤(随后进行过滤),要求缓冲区中每个散列值的最左边两位匹配引用字符串的最左边两位。这个过程一直持续到分区中的所有值都被散列。最后的DV估计大致等于<我>K我>2<年代up>r我>年代up>,在那里<我>r我>已经发生的清洗的总数是多少<我>K我>是缓冲区中值的最终数量。对于引用字符串等于00···0的采样计数算法,其概要包含<我>K我>遇到的最小哈希值,其中<我>K我>谎言之间的约<我>k我>/2和<我>k我>.
行李员剧情简介:在Bellman系统的背景下,作者在Dasu等人。<年代up>6一个>年代up>提出一个与DV估计相关的概要。这个大纲包含<我>k我>条目和使用独立的哈希函数<我>h我><年代ub>1年代ub>,<我>h我><年代ub>2年代ub>、……<我>h我><年代ub>k我>年代ub>;的<我>我我>摘要条目由<我>我我>th<我>米在Hash我>价值<我>米我><年代ub>我我>年代ub>=敏<年代ub>h我><年代ub>我我>年代ub>(<我>v我>).分区的概要实际上并不用于直接计算分区中DVs的数量,而是用于计算分区域之间的Jaccard距离;参见3.3节。(<我>J一个cc一个rd距离我>普通集之间<我>一个我>而且<我>B我>被定义为<我>J我>(<我>一个、B我>) = |<我>一个B我>|/|<我>一个<我米g src="https://dl.acm.org/cms/attachment/f5611ee1-3a6f-43ff-93e9-5ef80f6fdae6/cup.gif" border="0" hspace="2" alt="cup.gif">B我>|。如果<我>J我>(<我>一个、B我>) =1,则<我>一个我>=<我>B我>;如果<我>J我>(<我>一个、B我>) =0,则<我>一个我>而且<我>B我>不相交)。事实上,这个概要不能直接用于DV估计,因为相关的DV估计基本上是<我米g src="https://dl.acm.org/cms/attachment/d3b1de20-6366-4ab1-8501-dfef77d40268/cacm5210_be.gif" border="0" hspace="2" alt="cacm5210_be.gif">,有无限的期待;见第二部分。在构造摘要时,必须对每个扫描的数据项进行散列处理<我>k我>的比较次数<我>k我>当前minHash值;对于KMV概要,每个扫描项只需要散列一次。
3.2.DV估计
基本的估计量<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">由bar - yossef等人提出<年代up>2一个>年代up>以及基于切比雪夫不等式的保守误差界。有趣的是,对数估计量和样本计数估计量都可以看作是基本估计量的近似。对于对数计数,特别是FlajoletMartin算法,考虑归一化哈希值的二进制十进制表示<我>h我>(<我>v我>)/<我>米我>,在那里<我>米我>= 2<年代up>l我>年代up>,例如,散列值<我>h我>(<我>v我>) =00100110,归一化后,将得到二进制十进制表示0.00100110。可以看出,最小的归一化哈希值约等于2<年代up>r我>年代up>,因此,对校正因子取模后,FlajoletMartin估计量(不含随机平均)为1/2<年代up>r我>年代up>,大致对应于<我米g src="https://dl.acm.org/cms/attachment/d3b1de20-6366-4ab1-8501-dfef77d40268/cacm5210_be.gif" border="0" hspace="2" alt="cacm5210_be.gif">.最终的F-M估计器使用随机平均来平均独立的值<我>r我>从而计算出一个估计值<我>E我>的<我>E我>(日志<年代ub>2年代ub>],从而得出对<我米g src="https://dl.acm.org/cms/attachment/b9b49df4-23e8-41b6-9843-7f5c88603949/cacm5210_bj.gif" border="0" hspace="2" alt="cacm5210_bj.gif">= c2<年代up>E我>年代up>,其中常数<我>c我>近似地消除估计量的偏差。(我们的新估计值是完全无偏的。)对于样本计数,在不失一般性的情况下,假设引用字符串为00···0,和前面一样,考虑哈希值的归一化二进制十进制表示。因此,第一次清除将留下表单的规范化值0.0···,第二次清除将留下表单的值0.00···,以此类推,最后一次清除(<我>r我>Th)清除只留下规范化哈希值<我>r我>0领先。因此数字2<年代up>r我>年代up>(<我>r我>1前导0)大致等于最大的<我>K我>规范化哈希值的大小-<我>k我>缓冲,以便估算<我>K我>/2<年代up>r我>年代up>大致等于<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">.
3.3.复合分区的估计
据我们所知,关于如何构造复合分区的dv相关估计的唯一讨论是在Dasu等人那里。<年代up>6一个>年代up>分区交点的DV估计<我>一个我>而且<我>B我>不是直接计算的。相反,Jaccard距离=<我>J我>(<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>一个我>),<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>B我>)首先由估算者估算<我米g src="https://dl.acm.org/cms/attachment/78b8b78c-a5a7-4630-990d-a3ac32644877/cacm5210_bf.gif" border="0" hspace="2" alt="cacm5210_bf.gif">,然后是交点的值个数<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>一个我>),<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>B我>)估计为
数量|<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>一个我>)|和|<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>B我>)通过GROUP by关系查询精确计算|;我们提出的估计器避免了计算或估计这些量的需要。大苏等人没有讨论。<年代up>6一个>年代up>如何处理除两个分区的交集之外的任何集合操作。如果使用包含/排除原则来处理其他集合操作,那么随着操作数量的增加,产生的估计过程将无法很好地伸缩。
如前所述,基本估计器<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">是否对真实的DVs数目有偏差<我>D我>因此,需要以某种方式向下调整。因此我们考虑估计量
并表明,与基本估计量相比,在某种绝对意义上,<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">具有优越的统计特性,包括无偏性。的<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">估计器是扩展DV估计器的基础,在第5节中讨论,用于估计复合分区中分布式交换机的数量。从今往后,我们假定,无需进一步评论<我>D我>><我>k我>;如果<我>D我><我>k我>,则可以很容易地检测到这种情况,并计算出的精确值<我>D我>剧情简介。
4.1.矩和误差界
让<我>U我><年代ub>1年代ub>,<我>U我><年代ub>2年代ub>、……<我>U我><年代ub>D我>年代ub>的规范化哈希值<我>D我>数据集中不同的项;对于我们的分析,我们将这些值建模为来自均匀[0,1]分布的i.i.d.随机变量序列。参见第2节的讨论。如前所述,用<我>U我><年代ub>(<我>k我>年代ub>)年代ub>的<我>k我>th最小的<我>U我><年代ub>1年代ub>,<我>U我><年代ub>2年代ub>、……<我>U我><年代ub>D我>年代ub>,也就是说,<我>U我><年代ub>(<我>k我>年代ub>)年代ub>是<我>k我>th制服<我>顺序统计量。我>我们现在可以应用经典的序统计理论的结果来建立估计量的性质<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">= (<我>k我>-1)/<我>U我><年代ub>(<我>k我>年代ub>)年代ub>.我们关注力矩和误差范围;额外的分析<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">可以在拜尔等人中找到。<年代up>3.一个>年代up>
的概率密度函数(pdf)是我们分析的基础<我>U我><年代ub>(<我>k我>年代ub>)年代ub>是由
在哪里<我>B我>(<我>一个、b我>) =<年代up>1年代up>0年代ub>t我><年代up>一个我>年代up>1年代up>(<我>1我>-<我>t我>)<年代up>b我>年代up>1年代up>dt我>表示标准函数;看到<一个href="#F1">图1一个>.要验证(3),请修复<我>x我><我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">[0,1]观察,对于每一个1<我>我我><我>D我>,我们有<我>P我>{<我>U我><年代ub>我我>年代ub>x我>} =<我>x我>根据均匀分布的定义。准确的概率<我>k我>的<我>D我>均匀随机变量是小于等于的<我>x我>为二项式概率:<我米g src="https://dl.acm.org/cms/attachment/0093be33-97bd-4efe-b0d0-e2fcc0bcecf8/cacm5210_bh.gif" border="0" hspace="2" alt="cacm5210_bh.gif">.因此<我>U我><年代ub>(<我>k我>年代ub>)年代ub>x我>等于这个的概率<我>至少k我>随机变量是小于等于的<我>x我>,为二项式概率之和:
第二个等式可以通过对最右边的项重复分部积分并使用恒等式来建立
(在哪里<我>x我>) =<年代up>0年代ub>t我><年代up>x我>年代up>1年代up>e我><年代up>t我>年代up>dt我>标准函数和最右边的等式对整数有效吗<我>一个我>而且<我>b我>.(3)的结果现在是微分。
有了(3),我们现在可以确定的时刻<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">尤其是均值和方差。表示由<我米g src="https://dl.acm.org/cms/attachment/27b8a783-6600-4ad9-b7df-c443c151be7a/cacm5210_bi.gif" border="0" hspace="2" alt="cacm5210_bi.gif">功率下降<我>一个我>(<我>一个我>-1)……(<我>一个我><我>b我>+ 1)。
定理2。<我>假设r我>0<我>是r < k的整数,那么我>
特别是,E我>[<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">] =<我>D提供k我>> 1,<我>而且我>V一个r(<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">] =<我>D我>(<我>D我><我>k我>+ 1)/(<我>k我>2)<我>提供k我>>2。
证明。为<我>k我>><我>r我>0,如果由(3)可知
定理的第一个断言直接由(4)<我>r我>=1在(5)产生下一个断言,最后的断言从(5)和关系Var[<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">] =<我>E我>((<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">)<年代up>2年代up>] -<我>E我><年代up>2年代up>[<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">].<我米g src="https://dl.acm.org/cms/attachment/c9b4680e-5752-4acd-922b-69e3111d15a1/squ.gif" border="0" hspace="2" alt="squ.gif">
回想一下统计估计量的均方误差(MSE)<我>X我>定义为MSE[<我>X我>] =<我>E我>((<我>X我>)<年代up>2年代up>) = Var (<我>X我>) +偏见<年代up>2年代up>[<我>X我>].为了比较基本估计量和无偏估计量的MSE,请注意(5),<我>E我>[<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">] =<我>kD我>/(<我>k我>1)和
因此<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">是有偏见的<我>D我>,且MSE高于<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">.
我们还可以使用(3)中的结果来获得估计器的概率(相对)误差界<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">.具体来说,集合<我>我我><年代ub>x我>年代ub>(<我>一个、b我>) =<年代up>x我>年代up>0<我>t我><年代up>一个我>年代up>1年代up>(1<我>t我>)<年代up>b我>年代up>1年代up>dt / B我>(<我>一个、b我>),所以,<我>P我>{<我>U我><年代ub>(<我>k我>年代ub>)年代ub>x我>} =<我>我我><年代ub>x我>年代ub>(<我>kDk我>+ 1),然后,对于0 < < 1和<我>k我>1,我们有
例如,如果<我>D我>= 10<年代up>6年代up>KMV的概要大小为<我>k我>= 1024,那么,概率= 0.95,估计量<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">将在真实值的±4%以内;这个结果是由等式(6)的右边和数值求解得到的。当然,在实践中,<我>D我>将是未知的,但我们可以评估的精度<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">近似代替<我>D我>与<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">在(6)的右边求解。
还可以推导出误差边界<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">.正如Beyer等人所讨论的,<年代up>3.一个>年代up>明显优于<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">当<我>k我>是小;例如,当<我>k我>=16和= 0.95时,使用无偏估计器可减少接近20%的。作为<我>k我>的增加,<我>k我>1<我米g src="https://dl.acm.org/cms/attachment/f91b5688-8ebb-41eb-946d-b196b752ae91/ap.gif" border="0" hspace="2" alt="ap.gif">k我>两个估计器的表现相似。
前面的开发假设哈希函数的行为是与<我>D我>分布式交换机在数据集中的一个集合<我>D我>统一的随机数。在实践中,我们必须使用真实的哈希函数,它只能近似于这个理想值;见第二部分。<一个href="#F3">图3一个>展示了使用真实哈希函数对真实数据的影响。RDW数据库来自于一家大型金融公司的数据仓库,由24个关系表组成,共有504个属性,大约260万元组。对于几个不同的哈希函数,我们计算了相对误差RE(<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">) = |<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">D我>|/<我>D我>超过数据库中的多个数据集。哈希函数在拜尔等人中有详细的描述。<年代up>3.一个>年代up>;例如,高级加密标准(AES)哈希函数是一个建立良好的密码函数,已被广泛研究。“基线”曲线对应于我们分析中使用的理想化哈希函数。可以看出,实际的精度与理想的结果是一致的,即使对概要尺寸也可以获得合理的精度<我>k我><100年。在Beyer等人中,<年代up>3.一个>年代up>我们发现不同哈希函数的相对性能对数据的规则度是敏感的;AES哈希函数对于这样的数据属性是相对稳健的,是我们推荐的哈希函数。
4.2.多个DVs分析
当已知分布式交换机的数量很大时,我们可以建立一个最小方差的性质<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">估计器,并开发有用的近似误差边界,可用于选择概要大小之前的数据处理。
最小方差性能:基于数据样本估计未知参数的经典统计方法是最大似然法。<年代up>7日,4.2秒。年代up>最大似然估计的一个基本结果<年代up>17一个>,秒。4.2.2年代up>断言,当样本容量变大时,一个未知参数的最大似然估计在所有可能的参数估计中方差最小。我们表明,<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">渐近等价于最大似然估计量(MLE)为<我>D我>而且<我>k我>成为大。因此,对于<我>D我><我米g src="https://dl.acm.org/cms/attachment/f191daed-aac2-4dd9-9e2e-a2943378c734/gt.gif" border="0" hspace="2" alt="gt.gif">k我><我米g src="https://dl.acm.org/cms/attachment/f191daed-aac2-4dd9-9e2e-a2943378c734/gt.gif" border="0" hspace="2" alt="gt.gif">1,估计量<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">有一个很好的近似,最小可能方差对任何估计<我>D我>.
为了找到最大似然估计,我们将dv -估计问题转化为参数估计问题。具体地说,回想一下,<我>U我><年代ub>(<我>k我>年代ub>)年代ub>有pdf<我>f我><年代ub>k,维我>年代ub>的MLE估计<我>D我>定义为值<我米g src="https://dl.acm.org/cms/attachment/b9b49df4-23e8-41b6-9843-7f5c88603949/cacm5210_bj.gif" border="0" hspace="2" alt="cacm5210_bj.gif">这使可能性最大化<我>l我>(<我>D我>;<我>U我><年代ub>(<我>k我>年代ub>)年代ub>)的观察<我>U我><年代ub>(<我>k我>年代ub>)年代ub>,定义为<我>l我>(<我>D我>;<我>U我><年代ub>(<我>k我>年代ub>)年代ub>) =<我>f我><年代ub>k,维我>年代ub>(<我>U我><年代ub>(<我>k我>年代ub>)年代ub>).粗略地说,<我米g src="https://dl.acm.org/cms/attachment/b9b49df4-23e8-41b6-9843-7f5c88603949/cacm5210_bj.gif" border="0" hspace="2" alt="cacm5210_bj.gif">最大化看到价值的概率<我>U我><年代ub>(<我>k我>年代ub>)年代ub>这实际上是观察到的。我们通过解方程来求这个最大值<我>l'我>(<我>D我>;<我>U我><年代ub>(<我>k我>年代ub>)年代ub>) = 0,其中素数表示对的微分<我>D。我>我们有<我>l'我>(<我>D我>;<我>U我><年代ub>(<我>k我>年代ub>)年代ub>) = ln (1<我>U我><年代ub>(<我>k我>年代ub>)年代ub>)(<我>D我><我>k我>+ 1) + (<我>D我>+ 1),表示二格函数。如果<我>x我>足够大,则(<我>x我>)<我米g src="https://dl.acm.org/cms/attachment/f91b5688-8ebb-41eb-946d-b196b752ae91/ap.gif" border="0" hspace="2" alt="ap.gif">ln (<我>x我>1)+,其中<我米g src="https://dl.acm.org/cms/attachment/f91b5688-8ebb-41eb-946d-b196b752ae91/ap.gif" border="0" hspace="2" alt="ap.gif">0.5772为欧拉常数。应用这个近似,我们得到<我米g src="https://dl.acm.org/cms/attachment/559c8fa7-de2b-48d8-8494-b2b32764f9bb/cacm5210_bk.gif" border="0" hspace="2" alt="cacm5210_bk.gif">k / U我><年代ub>(<我>k我>年代ub>)年代ub>,使MLE估计量与基本估计量大致相似<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">前提是<我>D我><我米g src="https://dl.acm.org/cms/attachment/f191daed-aac2-4dd9-9e2e-a2943378c734/gt.gif" border="0" hspace="2" alt="gt.gif">k我><我米g src="https://dl.acm.org/cms/attachment/f191daed-aac2-4dd9-9e2e-a2943378c734/gt.gif" border="0" hspace="2" alt="gt.gif">1.事实上,我们的实验表明<我米g src="https://dl.acm.org/cms/attachment/559c8fa7-de2b-48d8-8494-b2b32764f9bb/cacm5210_bk.gif" border="0" hspace="2" alt="cacm5210_bk.gif">而且<我米g src="https://dl.acm.org/cms/attachment/ef697858-f634-4128-839f-a6c021585f6c/cacm5210_bd.gif" border="0" hspace="2" alt="cacm5210_bd.gif">从实际的角度来看是无法区分的。由此可见,<我米g src="https://dl.acm.org/cms/attachment/559c8fa7-de2b-48d8-8494-b2b32764f9bb/cacm5210_bk.gif" border="0" hspace="2" alt="cacm5210_bk.gif">(<我>k/k我>1)<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">渐近等价于<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">作为<我>k我>.
近似误差范围:为了获得分布式交换机数目较大时的近似概率误差界,我们简单地让<我>D我>(6),收益率
拜尔等人给出了另一种推导。<年代up>3.一个>年代up>使用强大的证明技术,利用指数分布的众所周知的性质。近似误差界与精确误差界不同,它的优点是不涉及未知量<我>D我>.因此,给定所需的和值,可以在处理数据之前使用它们来帮助确定目标概要的大小。当<我>D我>不大,结果推荐的概要大小略大于必要的大小,但不太浪费。它也显示在拜尔等。<年代up>3.一个>年代up>那<我>E我>[RE (<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">)]<我米g src="https://dl.acm.org/cms/attachment/f91b5688-8ebb-41eb-946d-b196b752ae91/ap.gif" border="0" hspace="2" alt="ap.gif">((<我>k我>2)/2)<年代up>1/2年代up>对于大型<我>D我>,进一步明确摘要大小与准确性的关系。
到目前为止,讨论集中在改进创建和使用概要来估计单个基本分区(即单个数据集中)中分布式交换机的数量的过程。然而,正如在引言中所讨论的那样,我们技术的真正力量在于将一个巨大的数据集分割成分区的能力,并行地为分区创建概要,然后组合概要来获得任意分区组合的DV估计,例如,如果兴趣组合实际上是所有分区的并集,那么,就像在经典设置中一样,我们可以估计整个数据集中DVs的数量,同时并行处理传统的顺序扫描数据。另一方面,分区交点的分布式交换机数量的估计可用于估计相似性度量,如Jaccard距离。
因此,我们将重点转移到复合分区的DV估计上,该复合分区是使用交集、并集和差的多集操作从一组基本分区创建的。为了处理复合分区,我们使用计数器来增加KMV概要;我们展示了在父分区的多集操作下产生的AKMV概要是“关闭”的。closure属性意味着if<我>一个我>而且<我>B我>是复合分区和<我>E我>是获得<我>一个我>而且<我>B我>通过一个多集操作,然后我们可以计算一个AKMV的概要<我>E我>从相应的AKMV概要为<我>一个我>而且<我>B我>,并无偏倚地估计中DVs的数量<我>E我>从这个结果的概要。这个过程避免了访问用于创建的每个基本分区的概要<我>一个我>而且<我>B我>.AKMV概要还可以处理数据集中单个项目的删除。正如下面所讨论的,我们在复合分区中使用的实际DV估计器通常是简单的扩展<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">在第4节开发的估计器。
5.1.AKMV对照表
我们始终假设所有的概要都是使用相同的哈希函数创建的<我>h我>:<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">{0,1,…,<我>米我>},<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">表示出现在分区中的数据值的域<我>米我>= (|<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">|<年代up>2年代up>),如第2节所述。我们首先关注只插入的环境,并在第5.3节中讨论删除。
我们首先定义基本分区的AKMV概要<我>一个我>,在那里<我>一个我>有KMV简介吗<我>l我>= (<我>h我>(<我>v我><年代ub>1年代ub>),<我>h我>(<我>v我><年代ub>2年代ub>),…<我>h我>(<我>v我><年代ub>k我>年代ub>))的大小<我>k我>,<我>h我>(<我>v我><年代ub>1年代ub>) <<我>h我>(<我>v我><年代ub>2年代ub>) <…<<我>h我>(<我>v我><年代ub>k我>年代ub>).AKMV简介<我>一个我>被定义为<我>l我><年代up>+年代up>= (<我>l,c我>),<我>c我>= (<我>c我>(<我>v我><年代ub>1年代ub>),<我>c我>(<我>v我><年代ub>2年代ub>),…<我>c我>(<我>v我><年代ub>k我>年代ub>)是一套<我>k我>非负的计数器。的数量<我>c我>(<我>v我>的多样性<我>一个我>的价值<我>v我>.开始的两行<一个href="#F4">图4一个>显示AKMV概要L中的归一化哈希值和相应的计数器值<年代up>+年代up>一个我>年代ub>和L<年代up>+年代up>B我>年代ub>两个基本分区<我>一个我>而且<我>B我>,分别。(圆圈和正方形表示归一化哈希值;铭刻的数字代表计数器值。)
AKMV简介的大小为<我>O我>(<我>k我>日志<我>D我>+<我>k我>日志<我>N我>),<我>N我>是否包含数据项的数量<我>一个我>.它很容易修改<一个href="#UF1">算法1一个>通过。创建和维护计数器<我>O我>(1)操作。修改后的概要保留了原结构的复杂性<我>O我>(<我>N我>+<我>k我>日志<我>k我>日志<我>D我>).
为了定义复合分区的AKMV概要,我们首先定义一个操作符<我米g src="https://dl.acm.org/cms/attachment/af084a7b-1d64-40b2-905b-86dc4edf45fe/oplus.gif" border="0" hspace="2" alt="oplus.gif">组合KMV简介。考虑两个分区<我>一个我>而且<我>B我>,以及他们的KMV简介<我>l我><年代ub>一个我>年代ub>而且<我>l我><年代ub>B我>年代ub>的大小<我>k我><年代ub>一个我>年代ub>而且<我>k我><年代ub>B我>年代ub>,分别。定义<我>l我><年代ub>一个我>年代ub>l我><年代ub>B我>年代ub>的有序列表<我>k我>最小的值<我>l我><年代ub>一个我>年代ub>l我><年代ub>B我>年代ub>,在那里<我>k我>=敏(<我>k<年代ub>一个年代ub>k<年代ub>B年代ub>),我们暂时治疗<我>l我><年代ub>一个我>年代ub>而且<我>l我><年代ub>B我>年代ub>作为集合而不是有序列表。(见第3行<一个href="#F4">图4一个>;黄色的点对应的值出现在两个<我>l我><年代ub>一个我>年代ub>而且<我>l我><年代ub>B我>年代ub>)。观察到的<我米g src="https://dl.acm.org/cms/attachment/af084a7b-1d64-40b2-905b-86dc4edf45fe/oplus.gif" border="0" hspace="2" alt="oplus.gif">运算符是对称的和结合的。
定理3。<我>有序列表L = L<年代ub>一个年代ub>l<年代ub>B年代ub>A的KMV概要是size-k吗<我米g src="https://dl.acm.org/cms/attachment/49448504-b07d-468c-987c-13380212ab09/cacm5210_bl.gif" border="0" hspace="2" alt="cacm5210_bl.gif">B k我>=敏(<我>k<年代ub>一个年代ub>k<年代ub>B年代ub>).
证明。我们再次暂时治疗<我>l我><年代ub>一个我>年代ub>而且<我>l我><年代ub>B我>年代ub>作为集。对于一个多重集<我>年代我>与<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>年代我>)我,写<我>h我>(<我>年代我>) = {<我>h我>(<我>v我>):<我>v我><我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">(<我>年代我>)},并表示为<我>G我>的集合<我>k我>最小的值<我>h我>(<我>一个我><我米g src="https://dl.acm.org/cms/attachment/49448504-b07d-468c-987c-13380212ab09/cacm5210_bl.gif" border="0" hspace="2" alt="cacm5210_bl.gif">B我>).观察到<我>G我>包含了<我>k”我>最小的值<我>h我>(<我>一个我>)对于一些<我>k”我><我>k我>,这些<我>k”我>因此,值也包含在<我>l我><年代ub>一个我>年代ub>,也就是说,<我>G我><我>h我>(<我>一个我>)我l我><年代ub>一个我>年代ub>.同样的,<我>G我><我>h我>(<我>B我>)我l我><年代ub>B我>年代ub>,所以<我>G我>我l我><年代ub>一个我>年代ub>l我><年代ub>B我>年代ub>.对于任何<我>h我>我<我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">(<我>l我><年代ub>一个我>年代ub>l我><年代ub>b我>年代ub>) \<我>G我>,我们有<我>h我>>马克斯<年代ub>h”<我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">G我>年代ub>h我>根据定义<我>G我>,因为<我>h我><我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">h我>(<我>一个我><我米g src="https://dl.acm.org/cms/attachment/49448504-b07d-468c-987c-13380212ab09/cacm5210_bl.gif" border="0" hspace="2" alt="cacm5210_bl.gif">B我>).因此<我>G我>实际上包括<我>k我>最小的值<我>l我><年代ub>一个我>年代ub>l我><年代ub>B我>年代ub>,所以<我>l我>=<我>G我>.现在观察,根据定义,<我>G我>准确的是尺寸-<我>k我>K米V的简介<我>一个我><我米g src="https://dl.acm.org/cms/attachment/49448504-b07d-468c-987c-13380212ab09/cacm5210_bl.gif" border="0" hspace="2" alt="cacm5210_bl.gif">B我>.<我米g src="https://dl.acm.org/cms/attachment/c9b4680e-5752-4acd-922b-69e3111d15a1/squ.gif" border="0" hspace="2" alt="squ.gif">
接下来,我们定义复合分区的AKMV概要<我>E我>创建的<我>n我>2基本分区<我>一个我><年代ub>1年代ub>,<我>一个我><年代ub>2年代ub>、……<我>一个我><年代ub>n我>年代ub>使用多集并、交和集差运算符。一些示例<我>E我>=<我>一个我><年代ub>1年代ub>\ +<我>一个我><年代ub>2年代ub>而且<我>E我>= ((<我>一个我><年代ub>1年代ub>一个我><年代ub>2年代ub>)<我米g src="https://dl.acm.org/cms/attachment/df664c37-c0bf-4973-afdb-af9de60fc429/cacm5210_bm.gif" border="0" hspace="2" alt="cacm5210_bm.gif">(<我>一个我><年代ub>3.年代ub>一个我><年代ub>4年代ub>)) \ +<我>一个我><年代ub>5年代ub>.AKMV的简介<我>E我>被定义为<我>l我><年代up>+年代up>E我>年代ub>= (<我>l<年代ub>E年代ub>C<年代ub>E年代ub>),<我米g src="https://dl.acm.org/cms/attachment/929a237b-e1c7-4b79-9d9d-96f8ebd4ed94/cacm5210_bn.gif" border="0" hspace="2" alt="cacm5210_bn.gif">的大小<我>k我>=敏(<我米g src="https://dl.acm.org/cms/attachment/3af760c5-e832-43f3-ab64-ff08b529ee58/cacm5210_bo.gif" border="0" hspace="2" alt="cacm5210_bo.gif">),,<我米g src="https://dl.acm.org/cms/attachment/7a8e6a17-2f70-48cd-a52a-50bbb5c82e49/cacm5210_bp.gif" border="0" hspace="2" alt="cacm5210_bp.gif">柜台,<我>c我><年代ub>E我>年代ub>(<我>v我>的多样性<我>v我>在<我>E我>;观察到<我>c我><年代ub>E我>年代ub>(<我>v我>) =0如果<我>v我>不存在于<我>E我>,以便可以有一个或多个零值计数器;参见第4行<一个href="#F4">图4一个>的情况下<我>E我>=<我>一个我><我米g src="https://dl.acm.org/cms/attachment/df664c37-c0bf-4973-afdb-af9de60fc429/cacm5210_bm.gif" border="0" hspace="2" alt="cacm5210_bm.gif">B我>.
有了这些定义,复合分区上的AKMV概要集合在多集操作下是封闭的,并且可以从基本分区的概要逐步建立一个AKMV概要。具体地说,假设我们合并(基本或复合)分区<我>一个我>而且<我>B我>有各自的AKMV概要<我>l我><年代up>+年代up>一个我>年代ub>= (<我>l我><年代ub>一个我>年代ub>,<我>C我><年代ub>一个我>年代ub>),<我>l我><年代up>+年代up>B我>年代ub>= (<我>l我><年代ub>B我>年代ub>,<我>C我><年代ub>B我>年代ub>)来创建<我>E我>=一个<我>B我>,在那里<我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">{<我米g src="https://dl.acm.org/cms/attachment/49448504-b07d-468c-987c-13380212ab09/cacm5210_bl.gif" border="0" hspace="2" alt="cacm5210_bl.gif">,<我米g src="https://dl.acm.org/cms/attachment/df664c37-c0bf-4973-afdb-af9de60fc429/cacm5210_bm.gif" border="0" hspace="2" alt="cacm5210_bm.gif">\ +}。然后AKMV的概要为<我>E我>是(<我>l我><年代ub>一个我>年代ub>l<年代ub>B年代ub>c<年代ub>E年代ub>),
正如Beyer等人和Gemulla所讨论的,<年代up>3.一个>,<一个href="#R11">11一个>年代up>AKMV的概要有时可以被简化。例如,如果所有分区都是普通集(不是多重集),并且普通集操作用于创建复合分区,那么AKMV计数器可以被一个紧凑的位向量替换,从而产生一个<我>O我>(<我>k我>日志<我>D我>)简介大小。
5.2.AKMV摘要的DV估计量
我们现在展示如何使用分区的AKMV概要来估计一个复合分区的分布式交换机的数量;为此,我们需要推广第4节的无偏DV估计量。考虑一个复合分区<我>E我>创建的<我>n我>2基本分区<我>一个我><年代ub>1年代ub>,<我>一个我><年代ub>2年代ub>、……<我>一个我><年代ub>n我>年代ub>使用多集操作,以及AKMV简介<我>l我><年代up>+年代up>E我>年代ub>= (<我>l我><年代ub>E我>年代ub>,<我>C我><年代ub>E我>年代ub>),<我>l我><年代ub>E我>年代ub>= (<我>h我>(<我>v我><年代ub>1年代ub>),<我>h我>(<我>v我><年代ub>2年代ub>),…<我>h我>(<我>v我><年代ub>k我>年代ub>)).表示由<我>V我><年代ub>l我>年代ub>= {<我>v我><年代ub>1年代ub>,<我>v我><年代ub>2年代ub>、……<我>v我><年代ub>k我>年代ub>的元素对应的一组数据值<我>l我><年代ub>E我>年代ub>.(回想一下我们的假设,即不存在哈希冲突。)集<我>K我><年代ub>E我>年代ub>= | {<我>v我><我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">V我><年代ub>l我>年代ub>:<我>c我><年代ub>E我>年代ub>(<我>v我>)>0} |;对于示例<我>E我>=<我>一个我><我米g src="https://dl.acm.org/cms/attachment/df664c37-c0bf-4973-afdb-af9de60fc429/cacm5210_bm.gif" border="0" hspace="2" alt="cacm5210_bm.gif">B我>在<一个href="#F4">图4一个>,<我>K我><年代ub>E我>年代ub>= 2。根据定理3<我>l我><年代ub>E我>年代ub>是一个尺寸,<我>k我>K米V的多集概要<我>一个我><年代ub>=<我>一个我><年代ub>1年代ub>一个我><年代ub>2年代ub>...<我米g src="https://dl.acm.org/cms/attachment/49448504-b07d-468c-987c-13380212ab09/cacm5210_bl.gif" border="0" hspace="2" alt="cacm5210_bl.gif">一个我><年代ub>n我>年代ub>.关键是,在我们的随机哈希模型下,<我>V我><年代ub>l我>年代ub>可以看作是随机样本的大小吗<我>k我>均匀绘制,没有替换<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>一个我><年代ub>);表示由<我>D我><年代ub>= |<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>一个我><年代ub>)|中DVs的数量<我>一个我><年代ub>.的数量<我>K我><年代ub>E我>年代ub>是一个表示元素数量的随机变量吗<我>V我><年代ub>l我>年代ub>它也属于集合<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>E我>).由此可见,<我>K我><年代ub>E我>年代ub>具有超几何分布:设置<我>D我><年代ub>E我>年代ub>= |<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>E我>)|<我米g src="https://dl.acm.org/cms/attachment/49d4aa2b-be1c-4de0-bf9f-6040187bbdc9/cacm5210_bq.gif" border="0" hspace="2" alt="cacm5210_bq.gif">.
我们现在估计<我>D我><年代ub>E我>年代ub>使用<我>K我><年代ub>E我>年代ub>,如上面定义的,和<我>U我><年代ub>(<我>k我>年代ub>)年代ub>中最大的哈希值<我>l我><年代ub>E我>年代ub>.从4.1节和定理3中,我们知道<我米g src="https://dl.acm.org/cms/attachment/065fdec1-cbab-4baa-a302-afc99bc2ab14/cacm5210_br.gif" border="0" hspace="2" alt="cacm5210_br.gif">是?的无偏估计量<我>D我><年代ub>;我们想通过乘以比值=来“纠正”这个估计<我>D我><年代ub>E我>年代ub>/<我>D我><年代ub>.我们不知道,但一个合理的估计是
样品中元素的比例<我>V我><年代ub>l我>年代ub>我(<我>一个我><年代ub>)属于<我米g src="https://dl.acm.org/cms/attachment/1c5d6107-4d4c-4c32-8077-6ffdb3f09a3b/cacm5210_bc.gif" border="0" hspace="2" alt="cacm5210_bc.gif">(<我>E我>).这就引出了我们建议的估计器
定理4。<我>如果k我>> 1<我>然后我><我米g src="https://dl.acm.org/cms/attachment/387f813d-1a80-4720-8098-db54378ffdef/cacm5210_bs.gif" border="0" hspace="2" alt="cacm5210_bs.gif">.<我>如果k我>> 2,<我>然后我>
证明。的分布<我>K我><年代ub>E我>年代ub>不依赖于哈希值{<我>h我>(<我>v我>):<我>v我><我米g src="https://dl.acm.org/cms/attachment/08a88cbc-51fe-46b4-b2f9-808de7263241/isin.gif" border="0" hspace="2" alt="isin.gif">(<我>一个我><年代ub>)}。由此可见,随机变量<我>K我><年代ub>E我>年代ub>而且<我>U我><年代ub>(<我>k我>年代ub>)年代ub>,也就是变量<我米g src="https://dl.acm.org/cms/attachment/28714c7b-6aa9-4d0a-bbe1-b1eb6f57d0c8/cacm5210_bt.gif" border="0" hspace="2" alt="cacm5210_bt.gif">而且<我>U我><年代ub>(<我>k我>年代ub>)年代ub>,在统计上是独立的。根据超几何分布的标准性质,<我>E我>[<我>K我><年代ub>E我>年代ub>] =<我>kD我><年代ub>E我>年代ub>/<我>D我><年代ub>,所以<我米g src="https://dl.acm.org/cms/attachment/38848d39-f8bc-43fc-9bbf-f0f7d03cd3dc/cacm5210_bu.gif" border="0" hspace="2" alt="cacm5210_bu.gif">.第二个断言遵循类似的方式。<我米g src="https://dl.acm.org/cms/attachment/c9b4680e-5752-4acd-922b-69e3111d15a1/squ.gif" border="0" hspace="2" alt="squ.gif">
因此<我米g src="https://dl.acm.org/cms/attachment/b9b49df4-23e8-41b6-9843-7f5c88603949/cacm5210_bj.gif" border="0" hspace="2" alt="cacm5210_bj.gif">E我>年代ub>是公正的<我>D我><年代ub>E我>年代ub>.它还由估计量的证明<我米g src="https://dl.acm.org/cms/attachment/78b8b78c-a5a7-4630-990d-a3ac32644877/cacm5210_bf.gif" border="0" hspace="2" alt="cacm5210_bf.gif">是公正的<我>D我><年代ub>E我>年代ub>/<我>D我><年代ub>.在特殊情况下<我>E我>=<我>一个我><我>B我>对于两个普通集合<我>一个我>而且<我>B我>,比值对应雅卡德距离<我>J我>(<我>一个、B我>),我们得到这个量的无偏估计量。我们还可以得到推广(6)中的边界的概率界;参见Beyer等人。<年代up>3.一个>年代up>获取详细信息。
图5一个>显示在估计复合分区中分布式交换机数量时AKMV估计器的准确性。对于这个实验,我们计算了一个KMV的大小概要<我>k我>=8192为RDW数据库中的每个数据集。然后,对于每一对可能的概要,我们使用<我米g src="https://dl.acm.org/cms/attachment/aac1237e-104d-443a-8c64-b0d85ff9320c/cacm5210_bv.gif" border="0" hspace="2" alt="cacm5210_bv.gif">来估计并集和交集的DV计数,并使用我们新的无偏估计器估计集域之间的Jaccard距离<我米g src="https://dl.acm.org/cms/attachment/5eb0dd58-fe28-4b55-967c-a90dc2272d8a/cacm5210_bw.gif" border="0" hspace="2" alt="cacm5210_bw.gif">我们还使用一种最好的估计器来估计这些数量:SDLogLog估计器,它是在Durand和Flajolet中给出的LogLog估计器的一个高度调优的实现。<年代up>8一个>年代up>对于后一种估计量,我们直接估计联合中DVs的数量,然后使用包含/排除规则来估计交集的DV计数,然后是Jaccard距离。图中为每个估计器显示了这三个多集操作的相对误差直方图。(直方图显示,对于每个可能的RE值,DV估计产生该值的数据集对的数量。)对于大多数数据集,基于KMV概要的无偏估计器提供的估计几乎比SDLogLog的估计准确十倍,即使两种方法使用的可用内存完全相同。
5.3.删除
我们现在展示AKMV概要如何轻松地支持单个条目的删除。考虑一个分区<我>一个我>它接收形式为+的事务流<我>v我>或<我>v我>,分别对应于值的插入或删除<我>v我>.一个朴素的方法维护两个AKMV概要:一个概要<我>l我><年代up>+年代up>我我>年代ub>多重集的<我>一个我><年代ub>我我>年代ub>插入的项目和概要<我>l我><年代up>+年代up>d我>年代ub>多重集的<我>一个我><年代ub>d我>年代ub>删除项。计算多集差分的AKMV概要<我>一个我><年代ub>我我>年代ub>\<年代ub>+年代ub>一个我><年代ub>d我>年代ub>生成AKMV简介<我>l我><年代up>+年代up>一个我>年代ub>真多集的<我>一个我>.我们实际上并不需要两个概要:只需要在一个AKMV概要中维护计数器<我>l我>通过在每次插入时递增计数器,在每次删除时递减计数器。如果我们保留计数器值为0的概要条目,我们就会精确地生成概要<我>l我><年代up>+年代up>一个我>年代ub>上面所描述的。如果太多计数器等于0,基于概要的DV估计的质量将会下降。每当删除的数量导致错误界限变得不可接受时,就可以扫描数据来计算新的概要。
许多发展与拜尔等人所描述的工作同时发生,或随后发生。<年代up>3.一个>年代up>达菲尔德等。<年代up>7一个>年代up>为加权项目设计了一个抽样方案,称为“优先抽样”,以估计“子集和”,即项目子集的权重和。优先级抽样可以看作是为一个项目分配优先级<我>我我>与重量<我>w我><年代ub>我我>年代ub>通过产生随机数<我>U我><年代ub>我我>年代ub>均匀地在[0,1 /]上<我>w我><年代ub>我我>年代ub>],并存储<我>k我>年代米一个llest-priority物品。在单位权重的特殊情况下,如果我们使用哈希函数而不是生成随机数,如果我们消除重复的优先级,则概要化为KMV概要,当子集对应于整个总体时,子集和估计量重合于<我米g src="https://dl.acm.org/cms/attachment/534c5c82-6d12-40ef-9c76-c101a2bf1cca/cacm5210_bg.gif" border="0" hspace="2" alt="cacm5210_bg.gif">.如果重复的优先级被计算而不是被消除,就得到了AKMV的概要(但我们随后使用不同的估计器)。在Szegedy中建立了基于优先抽样估计的“几乎最小”方差特性<年代up>20.一个>年代up>;这一结果延续到KMV概要,并加强了我们的渐近最小方差结果。Cohen等人,<年代up>5一个>年代up>优先抽样方法最近已推广到各种优先分配方案。
自从拜尔等人发表论文以来,<年代up>3.一个>年代up>kmv类型的概要和相应的估计器已经被用于估计基于时间的滑动窗口中的项目数量,<年代up>12一个>年代up>集合相似性查询的选择性,<年代up>15一个>年代up>发布列表的交集大小,用于内容管理系统的olap式查询,<年代up>19一个>年代up>以及文档键统计数据,用于在发布-订阅系统中识别有希望的发布者。<年代up>22一个>年代up>
我们重新讨论了DV估计的经典问题,但是从一个面向概要的观点。通过结合和推广前人关于DV估计的结果,我们得到了AKMV概要,以及相应的无偏DV估计器。我们的概要构造成本相对较低,精度较高,可以组合起来轻松处理复合分区,允许灵活和可扩展的DV估计。
1.Astrahan, M., Schkolnick, M., Whang, K.在不排序的情况下近似一个属性唯一值的数量。<我>正,Sys。12我>(1987),1115。
2.Bar-Yossef, Z., Jayram, t.s., Kumar, R., Sivakumar, D., Trevisan, L.在数据流中计算不同的元素。在<我>Proc。随机我>(2002),110。
3.bayer, k.s., Haas, p.j., Reinwald, B., Sismanis, Y., Gemulla, R.关于多集操作下的不同值估计的概要。在<我>Proc。ACM SIGMOD我>(2007),199210。
4.布朗,p.g.,哈斯,P.J.样本数据仓库技术。在<我>Proc。ICDE我>(2006)。
5.Cohen, E., Kaplan, H.使用下k草图的更紧密估计。<我>Proc. VLDB赋值我>, 1(2008), 213224。
6.Dasu, T., Johnson, T., Muthukrishnan, S., Shkapenyuk, V.挖掘数据库结构;或者,如何构建一个数据质量的浏览器。在<我>Proc。ACM SIGMOD我>(2002),240251。
7.基于优先抽样的任意子集和估计方法。<我>j.ACM54我>, 6(2007), 32。
8.Durand, M., Flajolet, P.大基数的对数计数。在<我>Proc ESA。我>(2003.),605617。
9.Flajolet, P., Martin, G.N.数据库应用的概率计数算法。<我>j.排版系统。Sci 31。我>(1985),182209。
10.Ganguly, S., Garofalakis, M., Rastogi, R.跟踪连续更新流上的集表达式基数。<我>VlDBj.13我>(2004),3.543.69。
11.Gemulla, R。<我>进化数据集的采样算法。我>博士论文,德累斯顿理工学院,2008年。<一个href="http://nbn-resolving.de/urn:nbn:de:bsz:14-ds-1224861856184-11644">http://nbn-resolving.de/urn:nbn:de:bsz:14-ds-1224861856184-11644一个>.
12.王晓峰,王晓峰,王晓峰。有界空间中基于时间的采样滑动窗口。在<我>Proc。SIGMOD我>(2008),3.793.92。
13.数据流上的不同值估计。在M. Garofalakis J. Gehrke和R. Rastogi的编辑中,<我>数据流管理:处理高速数据流。我>施普林格,2009年。出现。
14.在有限总体中类数的估计。<我>j·阿。中央集权。93年协会。我>(1998),14751487。
15.Hadjieleftheriou, M., Yu, X., Koudas, N., Srivastava, D.哈希样本:集相似性选择查询的选择性估计器。<我>Proc. VLDB赋值我>, 1(2008), 201212。
16.Motwani, R., Raghavan, P.<我>随机算法。我>剑桥大学出版社(1995)。
17.Serfling,效力<我>数理统计的近似定理。我>威利,纽约(1980)。
18.Shukla, A., Deshpande, P., Naughton, J.F, Ramasamy, K.存在层次的多维聚集的存储估计。在<我>Proc。VLDB我>(1996),52253.1。
19.Simitsis, A., Baid, A., Sismanis, Y., Reinwald, B.多维内容探索。<我>Proc. VLDB赋值我>, 1(2008), 660671。
20.DLT优先级抽样本质上是最优的。在<我>Proc。获得STOC我>(2006),150158。
21.一个用于数据库应用的线性时间概率计数算法。<我>一个C米反式。15数据库系统。我>(1990),20.8229。
22.齐默,C., Tryfonopoulos, C., Weikum, G.利用相关关键词改进近似信息过滤。在<我>市立Proc。我>(2008),3.23.3.30。
凯文·拜尔(<一个href="mailto:kbeyer@us.ibm.com">kbeyer@us.ibm.com一个>), IBM阿尔马登研究中心,圣何塞,加州。
Rainer Gemulla(<一个href="mailto:rgemull@us.ibm.com">rgemull@us.ibm.com一个>), IBM阿尔马登研究中心,圣何塞,加州。
Peter j .哈斯(<一个href="mailto:phaas@us.ibm.com">phaas@us.ibm.com一个>), IBM阿尔马登研究中心,圣何塞,加州。
贝特Reinwald(<一个href="mailto:reinwald@us.ibm.com">reinwald@us.ibm.com一个>), IBM阿尔马登研究中心,圣何塞,加州。
Yannis Sismanis(<一个href="mailto:syannis@us.ibm.com">syannis@us.ibm.com一个>), IBM阿尔马登研究中心,圣何塞,加州。
a.回忆一下<我>多重集我>,也叫a<我>袋我>,是值的无序集合,其中给定的值可能出现多次,例如{3,3,2,3,7,3,2}。多集并集、交集和差集以一种自然的方式定义:if<我>n<年代ub>一个年代ub>(<我>v我>),<我>n<年代ub>B年代ub>(<我>v我>)表示价值的多样性<我>v我>在多重集<我>一个我>而且<我>B我>,则的多重度<我>v我>在<我>一个我><我米g src="https://dl.acm.org/cms/attachment/82c1b2bc-65db-4826-b066-029a6f4bcd6f/cacm5210_ba.gif" border="0" hspace="2" alt="cacm5210_ba.gif">B我>,<我>一个我><我米g src="https://dl.acm.org/cms/attachment/40e3c8f8-d614-437e-acb6-9c47cd533680/cacm5210_bb.gif" border="0" hspace="2" alt="cacm5210_bb.gif">B我>,<我>一个\ + B我>分别为<我>n我><年代ub>一个我>年代ub>(<我>v我>) +<我>n我><年代ub>B我>年代ub>(<我>v我>)、min (<我>n我><年代ub>一个我>年代ub>(<我>v我>),<我>n我><年代ub>B我>年代ub>(<我>v我>))和马克斯(<我>n我><年代ub>一个我>年代ub>(<我>v我>)<我>n我><年代ub>B我>年代ub>(<我>v我>),0)。
这篇研究论文的前一个版本发表在<我>20.07年ACM SIGMOD会议记录我>.
DOI: http://doi.acm.org/10.1145/1562764.1562787
图1。单位间隔上的50个随机点(<我>D我>= 50,<我>k我>= 20)。
图2。对数计数。
图3。对RDW数据集的哈希效果。
图4。结合两个AKMV概要的大小<我>k我>=6(概要元素有颜色)。
图5。在RDW数据集上对联合,交集和Jaccard距离的精度比较。
算法1。(KMV计算)。
©2009 acm 0001-0782/09/1000 $10.00
允许制作本作品的全部或部分的数字或硬拷贝用于个人或课堂使用,但前提是该拷贝不是为了盈利或商业利益而制作或分发,并且该拷贝在第一页上带有本通知和完整引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。
数字图书馆是由计算机协会出版的。版权所有©2009 ACM有限公司
没有发现记录