ClickHouse/docs/ja/sql-reference/aggregate-functions/reference/quantiletdigestweighted.md
2024-11-18 11:58:58 +09:00

3.3 KiB

slug sidebar_position
/ja/sql-reference/aggregate-functions/reference/quantiletdigestweighted 179

quantileTDigestWeighted

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

この関数のパフォーマンスは、quantilequantileTimingのパフォーマンスよりも低いです。ただし、状態サイズと精度の比率に関しては、この関数はquantileよりも優れています。

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

異なるレベルの複数のquantile*関数をクエリに使用する場合、内部状態は結合されません(つまり、クエリは効率的には動作しません)。この場合、quantiles関数を使用してください。

:::note
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 │
└────────────────────────────────────┘

関連項目