メインコンテンツへスキップ
メインコンテンツへスキップ

quantileTDigestWeighted

数値データ列に対して t-digest アルゴリズムを用いて近似的な quantile を計算します。この関数は各要素の重みを考慮に入れます。最大誤差は 1% です。メモリ消費量は log(n) で、ここで n は値の個数です。

この関数のパフォーマンスは quantilequantileTiming よりも低くなります。State サイズと精度の比率という観点では、この関数は quantile よりもはるかに優れています。

結果はクエリを実行する順序に依存し、非決定的です。

同一クエリ内で異なるレベルを持つ複数の quantile* 関数を使用する場合、内部状態は結合されません(つまり、クエリは本来可能な効率よりも低い効率で動作します)。このような場合は、quantiles 関数の使用を検討してください。

注記

quantileTDigestWeightedごく小さいデータセットに対しての使用は推奨されず、大きな誤差を招く可能性があります。このような場合は、代わりに quantileTDigest の使用を検討してください。

構文

quantileTDigestWeighted(level)(expr, weight)

別名: medianTDigestWeighted.

引数

  • level — 分位数のレベル。省略可能なパラメータ。0 から 1 までの定数の浮動小数点数。level の値として [0.01, 0.99] の範囲を使用することを推奨します。デフォルト値: 0.5。level=0.5 の場合、この関数は中央値を計算します。
  • expr — カラム値を対象とした式で、結果が数値型のデータ型Date または DateTime となるもの。
  • weight — シーケンス要素の重みを持つカラム。重みは値の出現回数です。

戻り値

  • 指定されたレベルの近似分位数。

型:

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

クエリ:

SELECT quantileTDigestWeighted(number, 1) FROM numbers(10)

結果:

┌─quantileTDigestWeighted(number, 1)─┐
│                                4.5 │
└────────────────────────────────────┘

関連項目