quantileTDigestWeighted
quantileTDigestWeighted
導入バージョン: v20.1
数値データシーケンスに対して t-digest アルゴリズムを使用して、おおよその分位数を計算します。 この関数は、シーケンス内の各要素の重みを考慮に入れます。
最大誤差は 1% です。
メモリ消費量は log(n) で、ここで n は値の数です。
この関数のパフォーマンスは、quantile や quantileTiming よりも劣ります。
State サイズと精度の比率という観点では、この関数は quantile よりもはるかに優れています。
結果はクエリの実行順序に依存し、非決定的です。
同じクエリ内で異なるレベルの複数の quantile* 関数を使用する場合、内部状態は結合されません(つまり、そのクエリは本来可能な場合ほど効率的に動作しません)。
このような場合は、quantiles 関数を使用してください。
注記
quantileTDigestWeighted の使用はごく小さいデータセットに対しては推奨されておらず、大きな誤差につながる可能性があります。
この場合は、代わりに quantileTDigest の使用を検討してください。
構文
別名: medianTDigestWeighted
パラメーター
level— 省略可能。分位数のレベル。0 から 1 までの定数の浮動小数点数。levelの値は[0.01, 0.99]の範囲を使用することを推奨します。デフォルト値: 0.5。level=0.5のとき、この関数は中央値を計算します。Float*
引数
expr— 数値型、Date、または DateTime を結果とするカラム値に対する式。(U)Int*またはFloat*またはDecimal*またはDateまたはDateTimeweight— シーケンス要素の重みを持つカラム。重みは、その値が出現する回数です。UInt*
戻り値
指定されたレベルの近似分位数。Float64 または Date または DateTime
例
t-digest を用いた重み付き分位数の計算
関連項目