极值信号 ​
把不同元素计数中的每个元素均匀哈希为无限近似位串,令
FM 与 HLL ​
Flajolet–Martin 可用 bitmap 记录见过的 ranks,再由首个空位估计;单一极值方差较大,需多哈希/分组。HyperLogLog 用哈希前
调和聚合抑制少数异常大寄存器,相对标准误差约
罕见事件图像 ​
出现 rank 20 意味着观察到概率约
合并与边界 ​
两个 HLL 若使用相同哈希、桶数和 rank 定义,可逐寄存器取 max 得并集摘要。哈希偏差、对抗输入、少基数和哈希空间饱和都会产生系统误差;实际 HLL++ 使用小范围修正与偏差校准,常数须匹配版本。结果是概率估计,不是置信区间或确定上下界。
重复项与寄存器空间 ​
同一元素重复到达总产生相同桶与 rank,寄存器 max 不变,所以摘要天然估 distinct 而非流长度。每个寄存器只需存到哈希位宽的 rank,位数为
小基数时许多寄存器仍为零,linear counting 修正利用零寄存器比例;大基数接近哈希空间时碰撞饱和。直接在所有范围都用原始调和公式会产生已知偏差。
寄存器状态的数值轨迹 ​
取 [0,0,0,0]。若不同元素的 (桶号,rank) 依次为 (0,1),(2,3),(0,4),(2,2),状态依次变为 [1,0,0,0]、[1,0,3,0]、[4,0,3,0],最后一次不再改变。这个轨迹同时展示 max 更新、空桶和较小 rank 被吸收。
哈希位的拆分必须固定:前
寄存器可按固定小位宽紧凑打包,但更新某一字段时要掩码写回,避免进位污染相邻字段。由高精度摘要降采样到较小
参考资料
- Philippe Flajolet, G. Nigel Martin, Probabilistic Counting Algorithms for Data Base Applications, JCSS, 1985.
- Philippe Flajolet et al., HyperLogLog: The Analysis of a Near-Optimal Cardinality Estimation Algorithm, AOFA, 2007.