公积金缴存基数怎么算(公积金缴存基数8000是意思)

  • 时间:
  • 浏览:84
  • 来源:奥一装修网

公积金基数公式

1。什么是基数计数基数计数是指对一批数据中唯一元素的数量进行计数。它通常用于计算独立用户(UV)的数量,维度的独立值的数量等。实现基数统计的最直接方法是使用诸如集合之类的数据结构。当一个元素永远不会出现时,一个元素会被添加到集合中。如果是这样,则集合保持不变。在大数据场景中,基数统计的实现通常面临以下两个问题:如果有效地存储原始数据以避免数据占用过多的空间,那么如果可以跨越不同的维度就涉及到存储空间压缩的问题。计算不同时间段的基数。例如,在计算每日紫外线的情况下,如果要计算每周或每月的紫外线,则本文旨在介绍当前成熟的基数计算方法,并与示例进行比较以解决上述问题。对这两个问题的影响最终导致了本文的重点,即HyperLogLog算法的实现和应用。 2。 Bitmap2。1基本原理位图执行基数计算的方法是首先定义一个位数组。数组中的每个位对应一个数据值。由于bit是计算机中最小的单元,因此使用bit可以大大减少存储空间。例如,数组【1,3,4,5】,则对应的位图为【0,0,0,1,1,1,0,1】,并且每个新元素都添加到现有位图。执行“或”运算并在位图中计算1的数目,以获得基数计算的结果。 这是因为在位图之间很好地支持OR。在对两个位图进行“或”运算之后,将使用这两个条件组合下的基数计算结果。因此,使用位图可以在任何条件下实现基数计算。 2。2空间使用情况。根据上述原理构造位图。如果计算1亿个数据的基值,则大约需要8/1024/1024〜= 12M的内存。如果有100个此类对象,则需要1。2G的存储空间。可以看出,内存仍然很大。在实际业务中,基本上很少使用。 3。线性计数的基本原理3。1以下通过示例描述了线性计数的计算过程:Data哈希:假设原始数据的基数为n,则使用哈希空间为m的一组哈希函数H将原始数据转换为一组将希腊阵列统一分组。桶数据统计:构建长度为m的位图,其中每个位对应于哈希空间中的一个值。如果生成的哈希数组的值存在,则将相应的位设置为1。设置所有值后,统计位图中0的位数为u。 基数估计的结果可以通过以下公式计算:请注意,此处的log是指自然对数。

住房公积金缴纳基数

公式的推导过程可以参考本文。最重要的是要清楚,在n个数据哈希之后,位图中的位值为0,这是伯努利事件。牢记这一点,理解公式推导要容易得多。 3。2空间使用线性计数的空间使用。与位图相比,空间复杂度相同,只是线性降低。因此,对于1亿个原始数据,仍需要MB级别的存储空间来存储。线性计数在实际应用中也很少使用。 4。 LogLog计数4。1伯努利过程在介绍LogLog计数之前,让我们回顾一下伯努利过程的概念。 伯努利过程是由有限或无限数量的独立随机变量X1,X2,X3,。。。组成的离散时间随机过程,其中X1,X2,X3,。。。满足以下条件:每个i,Xi等于0或1。对于每个i,Xi = 1的概率等于p。换句话说,伯努利过程是一系列独立且分布均匀的伯努利试验。每个Xi的2个结果也称为“成功”或“失败”。因此,当用数字0或1表示时,该数字称为第i次尝试的成功次数。 举个常见的例子:每次抛硬币之后,出现正面和负面出现的概率分别为1/2。如果您一直投掷硬币直到正面出现,这就是伯努利过程。这样,我们假设总共有n个伯努利过程,然后有以下两个结论:n次的Bernoulli过程的抛出次数不大于kmaxn次的Bernoulli过程的抛出次数,并且至少等于kmax的一次抛出的概率已知为k次。出现正数:1/2 ^ k,然后:第一种情况的概率为:第二种情况的概率为:如果n 》》 2 ^ k,则P(x》 = kmax)为0; if n 4。2如何用LogLog Counting计算基数等效地被认为是伯努利过程,这是LogLog Counting的关键。在这里,我们可以哈希原始数据。哈希数组满足均匀分布。将每个元素都视为抛硬币的过程。将元素转换为二进制后,每个位出现0和1的概率相等。从高位置开始,第一次出现1的位置被记录为k,它等于抛硬币时的第一个正面。所有元素均显示为1的位置的最大值记录为kmax,然后2 ^ kmax是基础计算。的结果。

公积金缴存基数计算器

4。3 LogLog Counting计算过程数据散列:这类似于线性计数,两者都需要确保散列数据满足统一分布。转换为二进制:将散列后的每个元素都转换为二进制。由于散列后数据满足均匀分布,因此二进制数据的每个位0和1的概率为1/2,其中二进制数据的位数为L。计算第一个1出现的位置:计算每个二进制数据,第一个1出现的次数。所有时间的最大值为kmax,则最终结果为2 ^ kmax。下图显示了元素的k值计算过程。 4。4数据存储区上方的计算过程,因为它是一个估计器,所以可能会发生一些导致错误的事故。因此,这里介绍数据桶的方法。取哈希空间并将其划分为m个存储桶。使用哈希值的前几位来确定数据属于哪个存储桶。然后取存储桶中数据的k值,最后计算kmax。然后,对所有铲斗的kmax求平均值,从而通过对多个估算值求平均值来消除单个估算中可能存在的意外错误。计算公式如下:4。5错误更正和分析以上过程仍然存在错误,将上述过程修改为无偏估计的过程过于复杂,因此这里不再赘述。应该理解,最终结果的误差公式为:4。6在此处使用空格时,我们可以理解LogLog Counting中的两个日志,它们的含义如下:First log,类似于线性计数,因为使用散列,数据空间被压缩。第二个日志,因为存储了哈希值的前1个的次数,所以只需要存储结果k即可代替原始哈希值,这进一步节省了空间。将哈希值加到32位之后,每个存储桶需要5位来保存kmax的值,并且m个存储桶为m5 / 8B。如果基数为1亿(227),则存储桶数为1024时,每个存储桶的基数限制为227/2 ^ 10 = 217,log(log(217))= 4。09,则每个存储桶需要5bit来保存kmax。总所需空间为/ 8,等于640B,其中很小5。适应性计数表明LogLog Counting可以使用几何平均值,当基数较小时可能会发生。一些水桶是空的。空桶的最终平均值的计算更加麻烦。自适应计数的思想是将线性计数和LogLog计数相结合。线性计数和LogLog计数的存储结构相似,除了Linear Couting关心存储桶是否为空,并且LogLog Counting需要存储桶中的kmax。 最终分析得出的结论是,当空桶率大于0。051时,使用线性计数的偏差率较小;当空桶率小于0。051时,使用LogLog Counting的偏差率较小。 6。 HyperLogLog CountingHyperLogLog Counting基于LogLog Counting,并且将用于计算铲斗之间的几何平均值修改为谐波平均值。谐波平均值的计算公式如下:使用谐波平均值后的偏差公式为:

公积金缴存基数20000

可见偏差期望值小于LogLog Counting。 今日参考素描:HyperLogLog —大数据基础架构解释基数估计算法的基石(第1部分:基本概念)