percentilis(), percentilis() (aggregációs függvény)

A percentile() függvény kiszámítja az expr által definiált sokaság megadott legközelebbi rangsorban megadott percentilisének becslését. A pontosság a percentilis régiójában lévő népesség sűrűségétől függ.

percentiles() ugyanúgy működik, mint a percentile(). percentiles() Egyszerre azonban több percentilisértéket is ki tud számítani, ami hatékonyabb, mint az egyes percentilisértékek külön-külön való kiszámítása.

A súlyozott percentilisek kiszámításához lásd: percentilisw().

Megjegyzés

Ezt a függvényt az összegző operátorral együtt használja a rendszer.

Syntax

percentile(Kifejezés,Percentilis)

percentiles(Kifejezés,percentilisek)

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
Kifejezés string ✔️ Az összesítés kiszámításához használandó kifejezés.
Percentilis int vagy long ✔️ Egy állandó, amely meghatározza a percentilis értékét.
percentilisek int vagy long ✔️ Egy vagy több vesszővel tagolt percentilis.

Válaszok

Egy táblát ad vissza, amely a csoport megadott percentiliseinek kifára vonatkozó becsléseit tartalmazza, mindegyik külön oszlopban található.

Megjegyzés

Ha egyetlen oszlopban szeretné visszaadni a percentiliseket, olvassa el a Percentilisek visszaadása tömbként című témakört.

Példák

Egy percentilis kiszámítása

Az alábbi példa a mintakészlet 95%-nál nagyobb és a mintakészlet 5%-nál kisebb értékét DamageProperty mutatja be.

StormEvents | summarize percentile(DamageProperty, 95) by State

Kimenet

A megjelenített eredménytábla csak az első 10 sort tartalmazza.

Állapot percentile_DamageProperty_95
ATLANTI-ÓCEÁN DÉLI RÉSZE 0
FLORIDA 40000
GRÚZIA 143333
MISSISSIPPI 80000
AMERIKAI SAMOA 250000
KENTUCKY 35000
Ohio 150000
KANSAS 51392
MICHIGAN 49167
ALABAMA 50000

Több percentilis kiszámítása

Az alábbi példa az 5, 50 (medián) és 95 használatával egyidejűleg kiszámított értéket DamageProperty mutatja be.

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

Kimenet

A megjelenített eredménytábla csak az első 10 sort tartalmazza.

Állapot percentile_DamageProperty_5 percentile_DamageProperty_50 percentile_DamageProperty_95
ATLANTI-ÓCEÁN DÉLI RÉSZE 0 0 0
FLORIDA 0 0 40000
GRÚZIA 0 0 143333
MISSISSIPPI 0 0 80000
AMERIKAI SAMOA 0 0 250000
KENTUCKY 0 0 35000
Ohio 0 2000 150000
KANSAS 0 0 51392
MICHIGAN 0 0 49167
ALABAMA 0 0 50000
... ...

Percentilisek visszaadása tömbként

Az egyes oszlopok értékeinek visszaadása helyett a percentiles_array() függvénnyel visszaadhatja a percentiliseket egyetlen dinamikus tömbtípusú oszlopban.

Syntax

percentiles_array(Kifejezés,percentilisek)

Paraméterek

Név Típus Kötelező Leírás
Kifejezés string ✔️ Az összesítés kiszámításához használandó kifejezés.
percentilisek int, long vagy dynamic ✔️ Egy vagy több vesszővel tagolt percentilis vagy percentilis dinamikus tömbje. Minden percentilis lehet egész vagy hosszú érték.

Válaszok

A csoportban megadott percentilisek kifáradásának becslését adja vissza egyetlen dinamikus tömbtípusú oszlopként.

Példák

Vesszővel tagolt percentilisek

Több percentilis tömbként is beszerezhető egyetlen dinamikus oszlopban, nem pedig több oszlopban, mint a percentilisekkel().

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

Kimenet

Az eredménytáblában csak az első 10 sor látható.

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
... ... ...

Percentilisek dinamikus tömbje

A percentilisei percentiles_array egész számokat vagy lebegőpontos számokat tartalmazó dinamikus tömbben adhatók meg. A tömbnek állandónak kell lennie, de nem kell literálnak lennie.

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

Kimenet

Az eredménytáblában csak az első 10 sor látható.

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
érzékelő-34 ["0.049980293859462954","0.25094722564949412","0.50914023067384762","0.75571549713447961","0.95176564809278674"] 0.504309494
... ... ...

Legközelebbi rangsor percentilis

A rendezett értékek listájának p-adik percentilise (0 <P<= 100) növekvő sorrendben rendezve a lista legkisebb értéke. Az adatok P százaléka kisebb vagy egyenlő a P-edik percentilis értékkel (a percentilisekről szóló Wikipédia-cikkből).

A 0-adik percentiliseket úgy határozza meg, hogy a népesség legkisebb tagja legyen.

Megjegyzés

A számítás hozzávetőleges jellegéből adódóan előfordulhat, hogy a tényleges visszaadott érték nem tagja a sokaságnak. A legközelebbi rangdefiníció azt jelenti, hogy a P=50 nem felel meg a medián interpolatív definíciójának. Ennek az eltérésnek az adott alkalmazásra vonatkozó jelentőségének értékelésekor figyelembe kell venni a populáció méretét és egy becslési hibát .

Becslési hiba percentilisekben

A percentilis-összesítés hozzávetőleges értéket ad a T-Digest használatával.

Megjegyzés

  • A becslési hiba határértékei a kért percentilis értékétől függően változnak. A legjobb pontosság a [0..100] skálázás mindkét végén található. A 0 és a 100 percentilis az eloszlás pontos minimális és maximális értékei. A pontosság fokozatosan csökken a skála közepe felé. Ez a legrosszabb a mediánnál, és 1%-ra van leképezve.
  • A hibahatárok a rangsorban vannak megfigyelve, nem az értéken. Tegyük fel, hogy a percentilis(X, 50) Xm értéket adott vissza. A becslés garantálja, hogy az X értékének legalább 49%-a és legfeljebb 51%-a kisebb vagy egyenlő az Xm értékével. Az Xm és az X tényleges mediánértéke közötti különbségnek nincs elméleti korlátja.
  • A becslés néha pontos értéket eredményezhet, de nincs megbízható feltétel annak meghatározásához, hogy mikor lesz ez a helyzet.