基于概率的hyperloglog数据结构实现大数据基数统计原理分析

本文深入探讨了hyperloglog算法在基数统计中的应用,解释了它如何通过伯努利过程和随机哈希编码实现去重,并通过调和平均数确保小数据量时的精确度。同时,介绍了在海量数据计算中,hyperloglog如何利用随机分布和最大似然估计进行基数估算。
摘要由CSDN通过智能技术生成

hyperloglog基数统计原理分析

从LogLog说起,其算法完整的基数计算公式如下:
在这里插入图片描述
那么hyperloglog与loglog不同的是采取调和平均数,计算公式:
在这里插入图片描述

问题1:hyperloglog怎么去重,而避免重复计数?

hyperloglog将需要被存储的内容计算得到随机分布的hash编码(随机分布128位的hash编码可模拟伯努利过程),那么相同的内容计算的哈希编码相同,这么就实现了去重。

问题2:伯努利过程是通过大量的实验策略,hyperloglog小数据量存储精确度误如何保证低?

Hyperloglog调和平均数,调和平均数保证了,平均值会总体向小值偏近。
举个例子:有4个桶,每个桶有2个bit位。那么有字符串计算hash值后有4位:10001,取低二位被分配到第1个桶,取高3位第一次出现1的位置为第3位。
那么,当content=1,此时根据loglog,平均数计算: 2^((3+0+0+0)/4)=1.7,DVLL=14<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值