quantileGK
quantile を計算します。
Greenwald-Khanna アルゴリズムは、データストリームに対する分位点を非常に効率よく計算するためのアルゴリズムです。
このアルゴリズムは、2001 年に Michael Greenwald と Sanjeev Khanna によって提案されました。
大規模なデータストリームに対して正確な分位点をリアルタイムで計算する必要があるデータベースやビッグデータシステムで広く利用されています。
このアルゴリズムは非常に効率的で、各項目あたり O(log n) の空間と O(log log n) の時間しか必要としません (ここで、n は入力サイズです) 。
また、精度も非常に高く、高い確率で近似的な分位点の値を返します。
quantileGK は ClickHouse の他の quantile 関数とは異なり、近似分位点の精度をユーザーが制御できます。
構文
medianGK
パラメータ
accuracy— 分位点の精度を指定します。正の定数整数です。accuracyの値が大きいほど、誤差は小さくなります。たとえば、accuracy引数を 100 に設定すると、高い確率で、計算される分位点の誤差は 1% 以下になります。計算される分位点の精度と、アルゴリズムの計算の複雑さにはトレードオフがあります。accuracyを大きくすると、分位点を正確に計算するために、より多くのメモリとコンピュートリソースが必要になります。一方、accuracy引数を小さくすると、精度はわずかに低下するものの、より高速でメモリ効率の高い計算が可能です。UInt*level— 任意。分位点のレベルです。0 から 1 までの定数浮動小数点数。デフォルト値: 0.5。level=0.5の場合、この関数は中央値を計算します。Float*
expr— カラム値に対する式で、数値データ型、Date、または DateTime になります。(U)Int*またはFloat*またはDecimal*またはDateまたはDateTime
Float64 または Date または DateTime
例
異なる精度レベルで分位点を計算する
Query
Response
Query
Response