Skip to main content
QUICK REVIEW

[论文解读] Computing Extremely Accurate Quantiles Using t-Digests

Ted Dunning, Otmar Ertl|arXiv (Cornell University)|Feb 11, 2019
Distributed and Parallel Computing Systems参考文献 3被引用 42
一句话总结

本论文介绍 t-digests,一种在线数据结构,用于在内存有限的情况下实现精确的分位数估计,特别是在尾部,并展示如何合并摘要以及使用不同的尺度函数来实现受控的误差界限。

ABSTRACT

We present on-line algorithms for computing approximations of rank-based statistics that give high accuracy, particularly near the tails of a distribution, with very small sketches. Notably, the method allows a quantile $q$ to be computed with an accuracy relative to $\max(q, 1-q)$ rather than absolute accuracy as with most other methods. This new algorithm is robust with respect to skewed distributions or ordered datasets and allows separately computed summaries to be combined with no loss in accuracy. An open-source Java implementation of this algorithm is available from the author. Independent implementations in Go and Python are also available.

研究动机与目标

  • 提供在线算法,以高精度近似基于排名的统计量,特别是在分布尾部。
  • 实现常量内存使用并对分位数估计保持恒定相对误差。
  • 允许独立摘要的合并而不损失准确性,便于可扩展分析。
  • 使灵活的处理模式(先缓冲再合并和流式聚类)成为从大规模或分区数据集中构建 t-digests 的可选方案。

提出的方法

  • 将 t-digest 定义为样本的簇划分,每个簇有均值和权重。
  • 使用尺度函数 k(q) 来约束簇的大小,并确保尾部位的簇较小以提升尾部准确性。
  • 提供两种构建方法:缓冲并合并和逐点最近簇聚类。
  • 允许合并独立的 t-digest,同時保持大小保证和相对准确性。
  • 描述在不同簇配置下,簇之间经验累积分布函数的插值方法。
  • 提供替代尺度函数(k0、k1、k2、k3),并保障质心数量以及摘要合并的性质。
  • 给出将数据缓冲区逐步合并到现有 t-digest 的算法(算法1)以及聚类变体(算法2)。

实验结果

研究问题

  • RQ1在线分位数估计如何在常量内存下实现高精度,尤其在分布尾部?
  • RQ2独立计算的摘要能否合并,而不牺牲准确性或排序性质?
  • RQ3哪些尺度函数最能控制簇大小,以平衡尾部准确性、整体误差和摘要大小?
  • RQ4不同的摘要构建方法(缓冲-合并与聚类)在实际中如何影响准确性和性能?
  • RQ5给定簇集合数据,哪些插值方案能产生准确的分位数估计?

主要发现

  • t-digests 提供常量内存,并对分位数的相对误差几乎保持恒定,尤其接近尾部。
  • 尺度函数约束簇大小,使极端分位数使用的小簇,从而在不使簇数量激增的前提下提升尾部准确性。
  • 在某些尺度函数下,合并独立的 t-digest 能得到有效摘要并保持准确性,便于并行和 OLAP 使用。
  • 不同的尺度函数(k0、k1、k2、k3)在摘要大小、准确性和尾部行为之间提供权衡;k2/k3 加紧尾部聚簇。
  • 簇之间的插值方案处理多样本簇和单样本簇的情况,以改善 CDF 估计。
  • 实验结果表明,当 δ=100 时,尾部在 q 近0或1时误差为个位数 ppm,中间区间的精度则偏好某些尺度(k1 相对于 k2/k3)。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。