percentile(), percentiles() (toplama işlevi)

işlevi, percentile()expr tarafından tanımlanan popülasyonun belirtilen en yakın sıralama yüzdebirliği için bir tahmin hesaplar. Doğruluk, yüzde birlik bölgedeki popülasyon yoğunluğuna bağlıdır.

percentiles() ile benzer şekilde percentile()çalışır. Ancak, percentiles() her yüzdebirlik değeri ayrı ayrı hesaplamaktan daha verimli olan birden çok yüzdebirlik değeri aynı anda hesaplayabilir.

Ağırlıklı yüzdebirlik dilimleri hesaplamak için bkz. percentilesw().

Not

Bu işlev summarize işleciyle birlikte kullanılır.

Syntax

percentile(ifade,Yüzdebirlik)

percentiles(ifade,yüzdebirlik dilimler)

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
ifade string ✔️ Toplama hesaplaması için kullanılacak ifade.
Yüzdebirlik int veya long ✔️ Yüzde birlik değeri belirten bir sabit.
yüzdebirlik dilimler int veya long ✔️ Bir veya daha fazla virgülle ayrılmış yüzdebirlik.

Döndürülenler

Her biri ayrı bir sütunda olmak üzere grupta belirtilen yüzdebirlik değerlerin ifade tahminlerini içeren bir tablo döndürür.

Not

Tek bir sütundaki yüzde birlik değerleri döndürmek için bkz . Yüzdebirlik değerleri dizi olarak döndürme.

Örnekler

Tek yüzdebirlik değeri hesaplama

Aşağıdaki örnekte, örnek kümesinin %95'inden DamageProperty büyük ve örnek kümesinin %5'inden küçük olma değeri gösterilmektedir.

StormEvents | summarize percentile(DamageProperty, 95) by State

Çıkış

Gösterilen sonuçlar tablosu yalnızca ilk 10 satırı içerir.

Durum percentile_DamageProperty_95
ATLANTIC SOUTH 0
FLORİDA 40000
GÜRCİSTAN 143333
MİSSİSSİPPİ 80000
AMERİkA SAMOA 250000
KENTUCKY 35000
OHIO 150000
KANSAS 51392
MICHIGAN 49167
ALABAMA 50000

Birden çok yüzdebirlik değerleri hesaplama

Aşağıdaki örnekte 5, 50 (ortanca) ve 95 kullanılarak aynı anda hesaplanan değeri DamageProperty gösterilmektedir.

StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State

Çıkış

Gösterilen sonuçlar tablosu yalnızca ilk 10 satırı içerir.

Durum percentile_DamageProperty_5 percentile_DamageProperty_50 percentile_DamageProperty_95
ATLANTIC SOUTH 0 0 0
FLORİDA 0 0 40000
GÜRCİSTAN 0 0 143333
MİSSİSSİPPİ 0 0 80000
AMERİkA SAMOA 0 0 250000
KENTUCKY 0 0 35000
OHIO 0 2000 150000
KANSAS 0 0 51392
MICHIGAN 0 0 49167
ALABAMA 0 0 50000
... ...

Yüzdebirlik değerleri dizi olarak döndürme

Değerleri tek tek sütunlarda döndürmek yerine işlevini kullanarak percentiles_array() dinamik dizi türünde tek bir sütundaki yüzde birlik değerleri döndürebilirsiniz.

Syntax

percentiles_array(, ifadeyüzdebirlik dilimler)

Parametreler

Ad Tür Gerekli Açıklama
ifade string ✔️ Toplama hesaplaması için kullanılacak ifade.
yüzdebirlik dilimler int, long veya dinamik ✔️ Bir veya daha fazla virgülle ayrılmış yüzdebirlik dilim veya dinamik yüzdebirlik dizisi. Her yüzdebirlik bir tamsayı veya uzun değer olabilir.

Döndürülenler

Dinamik dizi türünün tek bir sütunu olarak grupta belirtilen yüzde birlik değerlerin ifadeleri için bir tahmin döndürür.

Örnekler

Virgülle ayrılmış yüzdebirlik dilimler

Birden çok yüzdebirlik değerler, percentiles() ile olduğu gibi birden çok sütun yerine tek bir dinamik sütunda dizi olarak elde edilebilir.

TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName

Çıkış

Sonuçlar tablosu yalnızca ilk 10 satırı görüntüler.

SensorName percentiles_Value avg_Value
sensor-82 ["0.048141473520867069","0.24407515500271132","0.48974511106780577","0.74160998970950343","0.94587903204190071"] 0.493950914
sensor-130 ["0.049200214398937764","0.25735850440187535","0.51206374010048239","0.74182335059053839","0.95210342463616771"] 0.505111463
sensor-56 ["0.04857779335488676","0.24709868149337144","0.49668762923789589","0.74458470404241883","0.94889104840865857"] 0.497955018
sensor-24 ["0.051507199150534679","0.24803904945640423","0.50397070213183581","0.75653888126010793","0.9518782718727431"] 0.501084379
sensor-47 ["0.045991246974755672","0.24644331118208851","0.48089197707088743","0.74475142784472248","0.9518322864959039"] 0.49386228
sensor-135 ["0.05132897529660399","0.24204987641954018","0.48470113942206461","0.74275730068433621","0.94784079559229406"] 0.494817619
sensor-74 ["0.048914714739047828","0.25160926036445724","0.49832498850160978","0.75257887767110776","0.94932261924236094"] 0.501627252
sensor-173 ["0.048333149363009836","0.26084250046756496","0.51288012531934613","0.74964772791583412","0.95156058795294"] 0.505401226
sensor-28 ["0.048511161184567046","0.2547387968731824","0.50101318228599656","0.75693845702682039","0.95243122486483989"] 0.502066244
sensor-34 ["0.049980293859462954","0.25094722564949412","0.50914023067384762","0.75571549713447961","0.95176564809278674"] 0.504309494
... ... ...

Dinamik yüzdebirlik dizi

için percentiles_array yüzdebirlik değerleri dinamik bir tamsayı veya kayan noktalı sayı dizisinde belirtilebilir. Dizinin sabit olması gerekir ancak değişmez değer olması gerekmez.

TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName

Çıkış

Sonuçlar tablosu yalnızca ilk 10 satırı görüntüler.

SensorName percentiles_Value avg_Value
sensor-82 ["0.048141473520867069","0.24407515500271132","0.48974511106780577","0.74160998970950343","0.94587903204190071"] 0.493950914
sensor-130 ["0.049200214398937764","0.25735850440187535","0.51206374010048239","0.74182335059053839","0.95210342463616771"] 0.505111463
sensor-56 ["0.04857779335488676","0.24709868149337144","0.49668762923789589","0.74458470404241883","0.94889104840865857"] 0.497955018
sensor-24 ["0.051507199150534679","0.24803904945640423","0.50397070213183581","0.75653888126010793","0.9518782718727431"] 0.501084379
sensor-47 ["0.045991246974755672","0.24644331118208851","0.48089197707088743","0.74475142784472248","0.9518322864959039"] 0.49386228
sensor-135 ["0.05132897529660399","0.24204987641954018","0.48470113942206461","0.74275730068433621","0.94784079559229406"] 0.494817619
sensor-74 ["0.048914714739047828","0.25160926036445724","0.49832498850160978","0.75257887767110776","0.94932261924236094"] 0.501627252
sensor-173 ["0.048333149363009836","0.26084250046756496","0.51288012531934613","0.74964772791583412","0.95156058795294"] 0.505401226
sensor-28 ["0.048511161184567046","0.2547387968731824","0.50101318228599656","0.75693845702682039","0.95243122486483989"] 0.502066244
sensor-34 ["0.049980293859462954","0.25094722564949412","0.50914023067384762","0.75571549713447961","0.95176564809278674"] 0.504309494
... ... ...

En yakın sıralama yüzdebirliği

Sıralı değerler listesinin artan düzende sıralanmış P yüzdebirliği (<0 P<= 100), listedeki en küçük değerdir. Verilerin P yüzdesi, P. yüzdebirlik değere eşit veya daha azdır (yüzdebirlik dilimler hakkındaki Wikipedia makalesinden).

0.yüzdebirlik dilimleri, popülasyonun en küçük üyesi olacak şekilde tanımlayın.

Not

Hesaplamanın yaklaşık yapısı dikkate alındığında, gerçek döndürülen değer popülasyonun bir üyesi olmayabilir. En yakın derece tanımı , P=50'nin ortanca değerin ilişkilendirilmiş tanımına uymadığı anlamına gelir. Belirli bir uygulama için bu tutarsızlığı değerlendirirken popülasyonun boyutu ve tahmin hatası dikkate alınmalıdır.

Yüzdebirlik dilimlerde tahmin hatası

Yüzdebirlik dilimler toplamı , T-Digest kullanarak yaklaşık bir değer sağlar.

Not

  • Tahmin hatasındaki sınırlar, istenen yüzdebirlik değeriyle farklılık gösterir. En iyi doğruluk [0..100] ölçeğinin her iki ucundadır. 0 ve 100 yüzdebirlik değerleri, dağılımın tam olarak en küçük ve en yüksek değerleridir. Doğruluk, ölçeğin ortasına doğru yavaş yavaş azalır. Ortanca değerde en kötüdür ve %1 ile sınırlanır.
  • Hata sınırları değerde değil, derecelendirmede gözlemlenir. Yüzdebirlik(X, 50) değerinin Xm olduğunu varsayalım. Tahmin, X değerlerinin en az %49'unun ve en çok %51'inin Xm değerine eşit veya daha az olmasını garanti eder. Xm ile X'in gerçek ortanca değeri arasındaki farkta teorik bir sınır yoktur.
  • Tahmin bazen kesin bir değere neden olabilir, ancak ne zaman böyle olacağını tanımlamak için güvenilir koşullar yoktur.