Saltar al contenido principal

quantilesGK

Introducido en: v23.4.0 Calcula múltiples cuantiles de una secuencia de datos numéricos en distintos niveles simultáneamente mediante el algoritmo Greenwald-Khanna. Esta función funciona de forma similar a quantileGK, pero permite calcular varios niveles de cuantiles en una sola pasada, lo que resulta más eficiente que llamar a funciones de cuantiles individuales. El algoritmo Greenwald-Khanna se utiliza para calcular cuantiles en un flujo de datos de forma muy eficiente. Fue introducido por Michael Greenwald y Sanjeev Khanna en 2001. El algoritmo es muy eficiente, ya que solo requiere O(log n) de espacio y O(log log n) de tiempo por elemento (donde n es el tamaño de la entrada). También es muy preciso, ya que proporciona valores aproximados de cuantiles con una precisión ajustable. Sintaxis
quantilesGK(accuracy, level1, level2, ...)(expr)
Parámetros
  • accuracy — Precisión de los cuantiles. Entero positivo constante. Cuanto mayor sea el valor de precisión, menor será el error. Por ejemplo, si el argumento de precisión se establece en 100, los cuantiles calculados tendrán un error no superior al 1 % con alta probabilidad. Existe un equilibrio entre la precisión de los cuantiles calculados y la complejidad computacional del algoritmo. UInt*
  • level — Niveles de los cuantiles. Uno o varios números de coma flotante constantes entre 0 y 1. Float*
Argumentos Valor devuelto Array de cuantiles de los niveles especificados, en el mismo orden en que se indicaron dichos niveles. Array(Float64) o Array(Date) o Array(DateTime) Ejemplos Cálculo de varios cuantiles con el algoritmo GK
Query
SELECT quantilesGK(1, 0.25, 0.5, 0.75)(number + 1) FROM numbers(1000);
Response
┌─quantilesGK(1, 0.25, 0.5, 0.75)(plus(number, 1))─┐
│ [1, 1, 1]                                        │
└──────────────────────────────────────────────────┘
Cuantiles con mayor precisión
Query
SELECT quantilesGK(100, 0.25, 0.5, 0.75)(number + 1) FROM numbers(1000);
Response
┌─quantilesGK(100, 0.25, 0.5, 0.75)(plus(number, 1))─┐
│ [251, 498, 741]                                    │
└────────────────────────────────────────────────────┘
Última modificación el 10 de junio de 2026