percentile(), percentiles() (fonction d’agrégation)
La percentile()
fonction calcule une estimation pour le centile de rang le plus proche spécifié de la population définie par expr.
La précision dépend de la densité de population dans la région du centile.
percentiles()
fonctionne de la même façon que percentile()
. Toutefois, percentiles()
peut calculer plusieurs valeurs centiles à la fois, ce qui est plus efficace que le calcul de chaque valeur de centile séparément.
Pour calculer les centiles pondérés, consultez centilesw().
Notes
Cette fonction est utilisée conjointement avec l’opérateur summarize.
Syntax
percentile(
Expr,
Percentile)
percentiles(
Expr,
Percentiles)
Découvrez les conventions de syntaxe.
Paramètres
Nom | Type | Obligatoire | Description |
---|---|---|---|
expr | string |
✔️ | Expression à utiliser pour le calcul d’agrégation. |
Percentile | int ou long | ✔️ | Constante qui spécifie le centile. |
Percentiles | int ou long | ✔️ | Un ou plusieurs centiles séparés par des virgules. |
Retours
Retourne une table avec les estimations pour expr des centiles spécifiés dans le groupe, chacun dans une colonne distincte.
Notes
Pour retourner les centiles dans une seule colonne, consultez Retourner des centiles sous forme de tableau.
Exemples
Calculer un centile unique
L’exemple suivant montre que la valeur est DamageProperty
supérieure à 95 % du jeu d’échantillons et inférieure à 5 % du jeu d’échantillons.
StormEvents | summarize percentile(DamageProperty, 95) by State
Sortie
Le tableau des résultats affiché inclut uniquement les 10 premières lignes.
State | percentile_DamageProperty_95 |
---|---|
ATLANTIQUE SUD | 0 |
FLORIDE | 40000 |
GEORGIE | 143333 |
MISSISSIPPI | 80000 |
SAMOA AMÉRICAINES | 250 000 |
KENTUCKY | 35000 |
OHIO | 150000 |
KANSAS | 51392 |
MICHIGAN | 49167 |
ALABAMA | 50000 |
Calculer plusieurs centiles
L’exemple suivant montre la valeur de calculée simultanément à l’aide de DamageProperty
5, 50 (médiane) et 95.
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
Sortie
Le tableau des résultats affiché inclut uniquement les 10 premières lignes.
State | percentile_DamageProperty_5 | percentile_DamageProperty_50 | percentile_DamageProperty_95 |
---|---|---|---|
ATLANTIQUE SUD | 0 | 0 | 0 |
FLORIDE | 0 | 0 | 40000 |
GEORGIE | 0 | 0 | 143333 |
MISSISSIPPI | 0 | 0 | 80000 |
SAMOA AMÉRICAINES | 0 | 0 | 250 000 |
KENTUCKY | 0 | 0 | 35000 |
OHIO | 0 | 2000 | 150000 |
KANSAS | 0 | 0 | 51392 |
MICHIGAN | 0 | 0 | 49167 |
ALABAMA | 0 | 0 | 50000 |
... | ... |
Retourner des centiles sous forme de tableau
Au lieu de retourner les valeurs dans des colonnes individuelles, utilisez la percentiles_array()
fonction pour renvoyer les centiles dans une seule colonne de type tableau dynamique.
Syntax
percentiles_array(
Expr,
Percentiles)
Paramètres
Nom | Type | Obligatoire | Description |
---|---|---|---|
expr | string |
✔️ | Expression à utiliser pour le calcul d’agrégation. |
Percentiles | int, long ou dynamique | ✔️ | Un ou plusieurs centiles séparés par des virgules ou un tableau dynamique de centiles. Chaque centile peut être un entier ou une valeur longue. |
Retours
Retourne une estimation pour expr des centiles spécifiés dans le groupe sous la forme d’une seule colonne de type tableau dynamique.
Exemples
Centiles séparés par des virgules
Plusieurs centiles peuvent être obtenus sous la forme d’un tableau dans une seule colonne dynamique, plutôt que dans plusieurs colonnes comme avec les centiles().
TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName
Sortie
Le tableau des résultats affiche uniquement les 10 premières lignes.
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 |
... | ... | ... |
Tableau dynamique de centiles
Les centiles pour percentiles_array
peuvent être spécifiés dans un tableau dynamique de nombres entiers ou à virgule flottante. Le tableau doit être constant, mais il n’est pas obligatoire d’être littéral.
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
Sortie
Le tableau des résultats affiche uniquement les 10 premières lignes.
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 |
... | ... | ... |
Centile de rang le plus proche
P-th centile (0 <P<= 100) d’une liste de valeurs triées dans l’ordre croissant est la plus petite valeur de la liste. Le pourcentage P des données est inférieur ou égal à la valeur P-th centile (de l’article wikipédia sur les centiles).
Définissez le 0-ième centile comme étant le plus petit membre de la population.
Notes
Étant donné la nature approximative du calcul, la valeur réelle retournée peut ne pas être un membre de la population. La définition de rang le plus proche signifie que P=50 n’est pas conforme à la définition interpolative de la médiane. Lors de l’évaluation de l’importance de cette différence pour l’application spécifique, la taille de la population et une erreur d’estimation doivent être pris en compte.
Erreur d’estimation dans les centiles
L’agrégation de centiles fournit une valeur approximative au moyen de T-Digest.
Notes
- Les limites de l’erreur d’estimation dépendent de la valeur du centile demandé. La meilleure précision est aux deux extrémités de l’échelle [0..100]. Les centiles 0 et 100 sont les valeurs minimales et maximales exactes de la distribution. La précision diminue progressivement vers le milieu de l’échelle. C’est le pire à la médiane et est plafonné à 1%.
- Les limites d’erreur sont observées sur le classement, et non sur la valeur. Supposons que percentile(X, 50) a retourné une valeur de Xm. L’estimation garantit qu’au moins 49 % et au maximum 51 % des valeurs de X sont inférieures ou égales à Xm. Il n’existe aucune limite théorique quant à la différence entre Xm et la valeur médiane réelle de X.
- L’estimation peut parfois donner lieu à une valeur précise, mais il n’existe aucune condition fiable pour définir quand ce sera le cas.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour