percentile(), percentiles() (funzione di aggregazione)
La percentile()
funzione calcola una stima per il percentile di rango più vicino specificato della popolazione definita da expr.
L'accuratezza dipende dalla densità della popolazione nell'area del percentile.
percentiles()
funziona in modo analogo a percentile()
. Tuttavia, percentiles()
può calcolare più valori percentile contemporaneamente, che è più efficiente rispetto al calcolo di ogni valore percentile separatamente.
Per calcolare i percentili ponderati, vedere percentilesw().
Nota
Questa funzione viene usata insieme all'operatore di riepilogo.
Sintassi
percentile(
Expr,
Percentile)
percentiles(
Expr,
Percentili)
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
Expr | string |
✔️ | Espressione da usare per il calcolo delle aggregazioni. |
Percentile | int o long | ✔️ | Costante che specifica il percentile. |
Percentili | int o long | ✔️ | Uno o più percentile delimitati da virgole. |
Restituisce
Restituisce una tabella con le stime per l'expr dei percentile specificati nel gruppo, ognuno in una colonna separata.
Nota
Per restituire i percentile in una singola colonna, vedere Percentile restituito come matrice.
Esempio
Calcolare il percentile singolo
L'esempio seguente mostra il valore di essere maggiore del DamageProperty
95% del set di campioni e minore del 5% del set di campioni.
StormEvents | summarize percentile(DamageProperty, 95) by State
Output
La tabella dei risultati mostrata include solo le prime 10 righe.
State | percentile_DamageProperty_95 |
---|---|
SUD ATLANTICO | 0 |
FLORIDA | 40000 |
GEORGIA | 143333 |
MISSISSIPPI | 80000 |
SAMOA AMERICANA | 250000 |
KENTUCKY | 35000 |
OHIO | 150000 |
KANSAS | 51392 |
MICHIGAN | 49167 |
ALABAMA | 50000 |
Calcolare più percentili
Nell'esempio seguente viene illustrato il valore di DamageProperty
calcolato simultaneamente usando 5, 50 (mediano) e 95.
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
Output
La tabella dei risultati mostrata include solo le prime 10 righe.
State | percentile_DamageProperty_5 | percentile_DamageProperty_50 | percentile_DamageProperty_95 |
---|---|---|---|
SUD ATLANTICO | 0 | 0 | 0 |
FLORIDA | 0 | 0 | 40000 |
GEORGIA | 0 | 0 | 143333 |
MISSISSIPPI | 0 | 0 | 80000 |
SAMOA AMERICANA | 0 | 0 | 250000 |
KENTUCKY | 0 | 0 | 35000 |
OHIO | 0 | 2000 | 150000 |
KANSAS | 0 | 0 | 51392 |
MICHIGAN | 0 | 0 | 49167 |
ALABAMA | 0 | 0 | 50000 |
... | ... |
Percentile restituito come matrice
Anziché restituire i valori nelle singole colonne, utilizzare la percentiles_array()
funzione per restituire i percentile in una singola colonna di tipo di matrice dinamica.
Sintassi
percentiles_array(
Expr,
Percentili)
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
Expr | string |
✔️ | Espressione da usare per il calcolo delle aggregazioni. |
Percentili | int, long o dinamico | ✔️ | Uno o più percentili separati da virgole o una matrice dinamica di percentile. Ogni percentile può essere un valore intero o lungo. |
Restituisce
Restituisce una stima per l'expr dei percentile specificati nel gruppo come singola colonna del tipo di matrice dinamica.
Esempio
Percentile delimitato da virgole
È possibile ottenere più percentile come matrice in una singola colonna dinamica anziché in più colonne come percentile().
TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName
Output
La tabella dei risultati visualizza solo le prime 10 righe.
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 |
... | ... | ... |
Matrice dinamica di percentile
Percentile per percentiles_array
può essere specificato in una matrice dinamica di numeri interi o a virgola mobile. La matrice deve essere costante, ma non deve essere letterale.
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
Output
La tabella dei risultati visualizza solo le prime 10 righe.
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 |
... | ... | ... |
Percentile di rango più vicino
P-th percentile (0 P<= 100<) di un elenco di valori ordinati, ordinati in ordine crescente, è il valore più piccolo nell'elenco. La percentuale P dei dati è minore o uguale al valore percentile P-th (dall'articolo di Wikipedia sui percentile).
Definire 0-th percentile per essere il membro più piccolo della popolazione.
Nota
Data la natura approssimativa del calcolo, il valore restituito effettivo potrebbe non essere un membro della popolazione. La definizione di classificazione più vicina indica che P=50 non è conforme alla definizione interpolativa del mediano. Quando si valuta l'importanza di questa discrepanza per l'applicazione specifica, è necessario tenere conto delle dimensioni della popolazione e di un errore di stima .
Errore di stima nei percentili
L'aggregazione dei percentili fornisce un valore approssimativo usando T-Digest.
Nota
- I limiti nell'errore di stima variano a seconda del valore del percentile richiesto. L'accuratezza migliore è a entrambe le estremità della scala [0..100]. Percentile 0 e 100 sono i valori minimi e massimi esatto della distribuzione. L'accuratezza diminuisce gradualmente verso il centro della scala. È peggio al mediano e viene limitato al 1%.
- I limiti di errore sono visibili nella classifica, non nel valore. Si supponga che percentile(X, 50) restituisce un valore di Xm. La stima garantisce che almeno il 49% e il 51% dei valori di X siano minori o uguali a Xm. Non esiste alcun limite teorico sulla differenza tra Xm e il valore mediano effettivo di X.
- La stima può talvolta causare un valore preciso, ma non esistono condizioni affidabili da definire quando sarà il caso.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per