percentile(), percentiles() (sammansättningsfunktion)
Funktionen percentile()
beräknar en uppskattning för den angivna percentilen i närmaste rangordning i populationen som definieras av uttr.
Noggrannheten beror på populationens densitet i percentilens region.
percentiles()
fungerar på samma sätt som percentile()
. Kan dock percentiles()
beräkna flera percentilvärden samtidigt, vilket är mer effektivt än att beräkna varje percentilvärde separat.
Information om hur du beräknar viktade percentiler finns i percentilesw().
Anteckning
Den här funktionen används tillsammans med summarize-operatorn.
Syntax
percentile(
Uttryck,
Percentil)
percentiles(
Uttryck,
percentiler)
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
Uttryck | string |
✔️ | Uttrycket som ska användas för aggregeringsberäkning. |
Percentil | int eller long | ✔️ | En konstant som anger percentilen. |
percentiler | int eller long | ✔️ | En eller flera kommaavgränsade percentiler. |
Returer
Returnerar en tabell med uppskattningarna för uttr av de angivna percentilerna i gruppen, var och en i en separat kolumn.
Anteckning
Information om hur du returnerar percentilerna i en enda kolumn finns i Returnera percentiler som en matris.
Exempel
Beräkna en percentil
I följande exempel visas värdet DamageProperty
för att vara större än 95 % av urvalsuppsättningen och mindre än 5 % av urvalsuppsättningen.
StormEvents | summarize percentile(DamageProperty, 95) by State
Resultat
Resultattabellen som visas innehåller bara de första 10 raderna.
Tillstånd | percentile_DamageProperty_95 |
---|---|
ATLANTEN, SÖDRA | 0 |
FLORIDA | 40000 |
GEORGIEN | 143333 |
MISSISSIPPI | 80000 |
AMERIKANSKA SAMOA | 250000 |
KENTUCKY | 35000 |
Ohio | 150000 |
KANSAS | 51392 |
MICHIGAN | 49167 |
ALABAMA | 50000 |
Beräkna flera percentiler
I följande exempel visas värdet DamageProperty
för samtidigt beräknat med 5, 50 (median) och 95.
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
Resultat
Resultattabellen som visas innehåller bara de första 10 raderna.
Tillstånd | percentile_DamageProperty_5 | percentile_DamageProperty_50 | percentile_DamageProperty_95 |
---|---|---|---|
ATLANTEN, SÖDRA | 0 | 0 | 0 |
FLORIDA | 0 | 0 | 40000 |
GEORGIEN | 0 | 0 | 143333 |
MISSISSIPPI | 0 | 0 | 80000 |
AMERIKANSKA SAMOA | 0 | 0 | 250000 |
KENTUCKY | 0 | 0 | 35000 |
Ohio | 0 | 2000 | 150000 |
KANSAS | 0 | 0 | 51392 |
MICHIGAN | 0 | 0 | 49167 |
ALABAMA | 0 | 0 | 50000 |
... | ... |
Returnera percentiler som en matris
I stället för att returnera värdena i enskilda kolumner använder du percentiles_array()
funktionen för att returnera percentilerna i en enda kolumn av dynamisk matristyp.
Syntax
percentiles_array(
Uttryck,
percentiler)
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
Uttryck | string |
✔️ | Uttrycket som ska användas för aggregeringsberäkning. |
percentiler | int, long eller dynamic | ✔️ | En eller flera kommaavgränsade percentiler eller en dynamisk matris med percentiler. Varje percentil kan vara ett heltal eller ett långt värde. |
Returer
Returnerar en uppskattning för de angivna percentilerna i gruppen som en enda kolumn av dynamisk matristyp.
Exempel
Kommaavgränsade percentiler
Flera percentiler kan hämtas som en matris i en enda dynamisk kolumn, i stället för i flera kolumner som med percentiler().
TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName
Resultat
Resultattabellen visar endast de första 10 raderna.
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 |
... | ... | ... |
Dynamisk matris med percentiler
Percentiler för percentiles_array
kan anges i en dynamisk matris med heltal eller flyttalsnummer. Matrisen måste vara konstant men behöver inte vara literal.
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
Resultat
Resultattabellen visar endast de första 10 raderna.
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 |
... | ... | ... |
Närmaste rangordnings percentil
P:e percentilen (0 <P<= 100) i en lista över ordnade värden, sorterade i stigande ordning, är det minsta värdet i listan. P-procenten av data är mindre eller lika med P-percentilvärdet (från Wikipedia-artikel om percentiler).
Definiera 0:e percentilerna så att de är den minsta medlemmen i populationen.
Anteckning
Med tanke på beräkningens ungefärliga karaktär kanske det faktiska returnerade värdet inte är medlem i populationen. Närmsta rangdefinition innebär att P=50 inte överensstämmer med medianens interpolativa definition. När du utvärderar betydelsen av denna avvikelse för det specifika programmet bör populationens storlek och ett uppskattningsfel beaktas.
Uppskattningsfel i percentiler
Percentilaggregatet ger ett ungefärligt värde med T-Digest.
Anteckning
- Gränserna för uppskattningsfelet varierar med värdet för den begärda percentilen. Den bästa noggrannheten är i båda ändar av [0..100]-skalan. Percentilerna 0 och 100 är de exakta lägsta och högsta värdena för fördelningen. Noggrannheten minskar gradvis mot mitten av skalan. Det är sämst vid medianvärdet och är begränsat till 1 %.
- Felgränsen observeras i rangordningen, inte på värdet. Anta att percentilen(X, 50) returnerade värdet Xm. Uppskattningen garanterar att minst 49 % och högst 51 % av värdena för X är mindre eller lika med Xm. Det finns ingen teoretisk gräns för skillnaden mellan Xm och det faktiska medianvärdet för X.
- Uppskattningen kan ibland resultera i ett exakt värde, men det finns inga tillförlitliga villkor att definiera när så är fallet.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för