HyperLogLog Register Harmonic Estimate
Estimate distinct values from bucketwise leading-zero maxima and a harmonic aggregate.
Free theory articleEstimate distinct values from bucketwise leading-zero maxima and a harmonic aggregate.
Concept & interpretation
Estimate distinct values from bucketwise leading-zero maxima and a harmonic aggregate.
Experiment
Using the module at https://riano.app/module/hyperloglog-register-harmonic-estimate, try the following configurations:
- Set Stream to "Empty" and Prefix to "16". Notice the raw estimate is 10.768, and corrected is 0.
- Set Stream to "Repeated" and Prefix to "16". The stream contains the exact same hash (2048) 16 times. Observe that only one register (M[0]) becomes 1, giving a corrected estimate of ~1.03.
- Set Stream to "Mixed" and Prefix to "16". This shows typical behavior when hash functions distribute items among various buckets.
- Set Stream to "Spread" and Prefix to "16". Notice that the exact distinct hashes count is perfectly predicted by the corrected estimate.