Quantile Computation Using Binning and Frequency Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing exact quantiles for distributed data systems and big data environments is challenging due to the large amount of unsorted data, which prevents efficient sorting and can lead to non-convergence issues with iterative algorithms and high computational costs with sorting-based methods.

Innovation Solution

A method that computes quantile values in at most three passes through the dataset by determining maximum and minimum values, binning, and calculating frequency counters, allowing for exact quantile computation without the need for expensive sorting or iterative convergence criteria, thereby efficiently handling large datasets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If sorting-based methods are used to compute quantiles, then measurement precision is improved, but computational cost increases significantly

Engineering Contradiction:
Improvequantile computation accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The data range is segmented into multiple bins based on maximum and minimum values. Frequency counters are computed for each bin independently, allowing parallel processing and reducing overall computational complexity while maintaining quantile accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The approach transforms the problem from exact sorting to frequency-based estimation by changing the parameter representation. Instead of sorting all values, the method uses bin boundaries and frequency counts to determine quantiles, significantly reducing computational power requirements.

Inventive Principle:
Principle #35Parameter changes

2Power

If iterative algorithms are used for quantile computation, then computational cost is reduced, but non-convergence issues occur

Engineering Contradiction:
Improvecomputational costVSAvoidalgorithm convergence
Core Design Contradiction:
PowerVSReliability

Solution Approach 1:

The method performs preliminary actions by computing maximum and minimum values first, then establishing bin boundaries before computing frequency counters. This preliminary structuring ensures that the quantile computation converges reliably without requiring iterative algorithms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Bin boundaries and frequency counters serve as intermediaries between the raw data and the final quantile values. This intermediary structure provides a reliable computational path that avoids the non-convergence issues of direct iterative methods.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If multiple passes through the dataset are performed, then measurement precision is improved, but loss of time increases

Engineering Contradiction:
Improvequantile computation accuracyVSAvoiddata processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The method extracts only the essential information needed for quantile computation by computing frequency counters for bins rather than processing individual values multiple times. This extraction approach maintains precision while reducing the time cost of multiple passes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Maximum and minimum values are computed in a preliminary pass to establish bin boundaries before the main frequency counting passes. This preliminary action structures the data efficiently, reducing the time required for subsequent precision-computing passes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10127192B1Analytic system for fast quantile computation
Publication Date: 2018.11.13 SAS INSTITUTE INC
  • US10127192B1 patent drawing
  • US10127192B1 patent drawing
  • US10127192B1 patent drawing

AI summary

A computing device computes a quantile value. A maximum value and a minimum value are computed for unsorted variable values. An upper bin value and a lower bin value are computed for each bin of a plurality of bins using the maximum and minimum values. A frequency counter is computed for each bin by reading the unsorted variable values a second time. Each frequency counter is a count of the variable values within a respective bin. A bin number and a cumulative rank value are computed for a quantile. The bin number identifies a specific within which a quantile value associated with the quantile is located. The cumulative rank value identifies a cumulative rank for the quantile value associated with the quantile. Frequency data is computed using the frequency counters. The quantile value is computed using the frequency data and the cumulative rank value for the quantile and output.