LogLogCounting 基数估计算法

2019-02-17  本文已影响0人  芒果菠萝蛋炒饭

介绍

基数估计算法(Cardinality Estimation Algorithm)是基于概率统计理论的估算给定数据集中不重复元素基数的算法。
它是一种基于概率统计理论所设计的概率算法,克服了精确基数计数算法的诸多弊端(如内存需求过大或难以合并等),同时可以通过一定手段将误差控制在所要求的范围内。

什么是基数?

基数指的是一个集合(这里的集合可以包含重复元素,不是集合论中定义的集合)中不同元素的个数,例如集合{1, 2, 3, 3, 4, 5, 5, 6, 6, 6}有9个元素,但是其中不重复的元素只有 1、 2、 3、 4、 5、 6,所以它的基数是6。如果一个集合是有限集,则其基数是一个自然数。

应用场景

一个网站中有10个链接,我们需要统计这10个链接分别被多少个独立访客点击过,即每个链接的UV数量。

基数统计算法

数据的收集和存储不是这篇文章的重点,假设我们已经拿到了数据:10个链接的用户访问数据集合,我们如何获取这些集合的基数呢?

传统的方法

LogLogCounting

上一篇 下一篇

猜你喜欢

热点阅读