メインコンテンツまでスキップ
メインコンテンツまでスキップ

quantileGK

数値データシーケンスの分位数Greenwald-Khannaアルゴリズムを使用して計算します。Greenwald-Khannaアルゴリズムは、データのストリーム上で分位数を非常に効率的に計算するためのアルゴリズムです。このアルゴリズムは、2001年にMichael GreenwaldとSanjeev Khannaによって導入されました。リアルタイムで大規模なデータのストリーム上で正確な分位数を計算する必要があるデータベースやビッグデータシステムで広く使用されています。このアルゴリズムは非常に効率的で、O(log n)のメモリと、各要素に対してO(log log n)の時間を必要とします(ここでnは入力のサイズを表します)。また、高い精度を提供し、高い確率で近似的な分位数値を提供します。

quantileGKはClickHouseの他の分位数関数とは異なり、近似分位数結果の精度を制御することができます。

構文

エイリアス: medianGK

引数

  • accuracy — 分位数の精度。定数の正の整数。大きい精度値は誤差が小さくなります。例えば、accuracy引数が100に設定されている場合、計算された分位数の誤差は高い確率で1%を超えません。計算された分位数の精度とアルゴリズムの計算複雑度との間にはトレードオフがあります。大きな精度は分位数を正確に計算するためにより多くのメモリと計算リソースを必要としますが、小さな精度引数は、迅速でメモリ効率の良い計算を可能にしますが、若干の低い精度になります。

  • level — 分位数のレベル。オプションの引数。0から1までの定数浮動小数点数。デフォルト値: 0.5。level=0.5では、関数は中央値を計算します。

  • expr — 数値データ型またはDateDateTimeのカラム値に対する式。

返される値

  • 指定したレベルと精度の分位数。

タイプ:

  • 数値データ型入力の場合、Float64
  • 入力値がDate型の場合、Date
  • 入力値がDateTime型の場合、DateTime

参照

  • [median]/sql-reference/aggregate-functions/reference/median
  • quantiles