Bias Correction Table for HyperLogLog Estimator Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing estimators, such as the HyperLogLog (HLL) estimator, exhibit significant bias towards overestimation when determining small numbers of distinct values in a multiset, leading to inefficient use of computing resources and inaccurate results.

Innovation Solution

A computer system is configured with a bias table and a bias corrector to correct the estimation bias, using optimized entries with predetermined confidence intervals and interpolation methods to provide accurate estimates of distinct values, thereby reducing computational expense and improving accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If HLL estimator is used to estimate distinct values, then memory usage is reduced significantly, but estimation accuracy deteriorates for small numbers of distinct values due to overestimation bias

Engineering Contradiction:
Improvememory usageVSAvoidestimation accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent introduces a bias correction table as an intermediary component that mediates between the HLL estimator and the final result. The table stores pre-computed bias values that are looked up based on the HLL estimate, allowing the system to correct the overestimation bias without requiring additional complex computation or memory beyond the compact bias table

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter state by transforming the raw HLL estimate through a bias correction function. The correction process adjusts the estimated cardinality by applying a scaling factor derived from the bias table, effectively transforming the biased parameter into a corrected parameter that accurately reflects the true distinct value count

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If exact distinct value counting is performed, then measurement precision is improved, but computing resources are excessively consumed and memory grows unbounded

Engineering Contradiction:
Improvedistinct value counting accuracyVSAvoidcomputing resource efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the problem into two parts: (1) use the HLL estimator for rapid, memory-efficient initial estimation, and (2) apply bias correction from a pre-computed table for accuracy improvement. This segmentation allows the system to avoid the resource-intensive exact counting process while still achieving acceptable accuracy for small cardinalities

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If multiple distinct value estimators are maintained to address bias, then estimation accuracy for small values is improved, but device complexity increases

Engineering Contradiction:
Improvesmall cardinality estimation accuracyVSAvoidestimator management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the bias correction information from the complex process of maintaining multiple estimators and places it into a simple, pre-computed lookup table. This extraction allows the system to use a single HLL estimator while still achieving accurate results for small cardinalities by applying the pre-computed correction factors

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11416457B2Low cardinality bias correction system
Publication Date: 2022.08.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11416457B2 patent drawing
  • US11416457B2 patent drawing
  • US11416457B2 patent drawing

AI summary

Bias correcting system for small number estimators. A computer system includes a distinct value estimator configured to estimate a number of distinct values in a data set. The computer system includes a bias table for the estimator. The bias table includes entries with values corresponding to biases caused by the distinct value estimator correlated to values corresponding to numbers estimated. The entries in the table are optimized by having a set of entries with an optimized number of biases in the entries. The biases in the entries are associated with predetermined confidence intervals. The system includes a bias corrector configured to correct the number of distinct values in the multiset data estimated by the distinct value estimator set using values from the bias table to produce a corrected value. The system includes a user interface coupled to the bias corrector configured to output the corrected value to a user.