Méthode outliers()

Identifie les valeurs statistiques aberrantes dans une colonne numérique. Des valeurs aberrantes peuvent être identifiées pour la colonne dans son ensemble ou pour des groupes distincts basés sur les valeurs identiques contenues dans une ou plusieurs colonnes clés.

Syntaxe

nom_cadre_données.outliers(keys = ["colonne_clé", "...n"]|None, on = "colonne_numérique", distance = nombre_écarts_types, method = mean|median)

Paramètres

Nom Description
keys = ["colonne_clé", "...n"] | None
  • colonne_clé colonne(s) clé(s) à utiliser pour regrouper les données dans le cadre de données

    Pour chaque groupe, un écart type est calculé pour les valeurs numériques du groupe dans colonne_numérique. L'écart type du groupe est utilisé comme référence pour identifier les valeurs aberrantes du groupe.

    Si vous effectuez un regroupement selon plusieurs colonnes, c'est que vous avez créé des groupes imbriqués. L'ordre de l'imbrication suit l'ordre dans lequel vous indiquez les colonnes.

    Les colonnes clés sont placées le plus à gauche dans le cadre de données de sortie.

    Remarque

    La méthode outliers() trie automatiquement le cadre de données par rapport aux colonnes clés avant d'identifier des valeurs aberrantes.

  • None les données ne sont pas regroupées et les valeurs aberrantes sont identifiées pour colonne_numérique dans son ensemble

    Un écart-type est calculé pour colonne_numérique dans son ensemble. L'écart-type de la colonne est utilisé comme référence pour identifier les valeurs aberrantes de la colonne.

on = "colonne_numérique"

Colonne numérique à examiner pour y rechercher des valeurs aberrantes. Vous ne pouvez examiner qu'une seule colonne à la fois.

Les valeurs aberrantes sont les valeurs sortant des limites supérieure et inférieure définies par l'écart type du groupe ou de la colonne ou par un multiple spécifié de l'écart type.

distance = nombre_écarts_types

Dans colonne_numérique, nombre d'écarts types compris entre la moyenne ou la médiane et les limites supérieure et inférieure de valeurs aberrantes. Vous pouvez spécifier un entier positif ou une valeur numérique décimale (0,5; 1; 1,5; 2 . . . )

La formule permettant de créer des limites de valeurs aberrantes est la suivante :

moyenne/médiane ± (nombre_écarts_types * écart type)

Remarque

L'écart type est un indicateur de dispersion d'un jeu de données, c'est-à-dire qu'il indique dans quelle mesure les valeurs s'étalent. Le calcul des valeurs aberrantes utilise l'écart type de la population.

Exemple de limites de valeurs aberrantes

distance = 2

définit, pour colonne_numérique dans son ensemble, ou pour chaque groupe de colonnes clés :

  • une limite supérieure de valeurs aberrantes située à 2 écarts types au-dessus de la moyenne ou de la médiane

    moyenne/médiane + (2 * écarts types)

  • une limite inférieure de valeurs aberrantes située à 2 écarts types en dessous de la moyenne ou de la médiane

    moyenne/médiane – (2 * écarts types)

Toutes les valeurs supérieures à la limite supérieure ou inférieures à la limite inférieure sont considérées comme des valeurs aberrantes dans les résultats de sortie.

Remarque

Pour le même jeu de données, à mesure que vous augmentez la valeur dans nombre_écarts_types, vous diminuez peut-être le nombre de valeurs aberrantes renvoyé.

method = mean | median

facultatif

Méthode de calcul du point central des valeurs dans colonne_numérique (la colonne valeur aberrante).

  • mean calcule la moyenne des valeurs
  • median calcule la médiane des valeurs

Le point central est calculé pour l'un ou l'autre des éléments suivants :

  • soit pour les valeurs numériques de chaque groupe de colonnes clés
  • soit pour la colonne numérique dans son ensemble

Le point central est utilisé par la suite pour calculer l'écart-type de chaque groupe ou de la colonne numérique dans son ensemble.

Si vous omettez method, c'est la valeur de moyenne par défaut qui est utilisée.

Astuce

Si les données dans lesquelles vous recherchez des valeurs aberrantes sont sensiblement faussées, le recours à la médiane peut produire des résultats plus représentatifs du volume de données.

Renvoie

Un cadre de données HCL.

Exemples

Identifier les montants de transactions sortant de l'ordinaire

Dans l'intégralité d'un cadre de données Accounts receivable, vous souhaitez identifier les montants des transactions sortant de l'ordinaire.

Vous décidez de définir les limites des valeurs aberrantes sur 3 fois l'écart type de la colonne Amount. Le test renvoie 16 valeurs aberrantes dans le cadre de données de 772 lignes.

outliers_ar = accounts_receivable.outliers(keys = None, on = "Amount", distance = 3, method = "mean")

Vous réitérez le test, mais vous augmentez le multiple de l'écart-type en le faisant passer à 3,5. Le test renvoie désormais 6 valeurs aberrantes car les limites des valeurs aberrantes sont bien plus loin du point central des valeurs dans la colonne Amount.

outliers_ar = accounts_receivable.outliers(keys = None, on = "Amount", distance = 3.5, method = "mean")

Identifier les montants des transactions sortant de l'ordinaire pour chaque client

Pour chaque client d'un cadre de données accounts receivable, vous souhaitez identifier les montants des transactions sortant de l'ordinaire.

Vous décidez de définir les limites des valeurs aberrantes sur 3 fois l'écart-type du groupe de transactions de chaque client.

outliers_customer_ar = accounts_receivable.outliers(keys = ["CustNum"], on = "Amount", distance = 3, method = "mean")

Le test renvoie 7 valeurs aberrantes. La moyenne et l'écart-type sont mentionnés pour chaque groupe de transactions de chaque client :

numéro de groupe CustNum Amount mean stdev distance
0 65003 4 954,64 833,83 1015,58 3
1 262001 3 567,34 438,81 772,44 3
1 262001 (2 044,82) 438,81 772,44 3
2 376005 (931,55) 484,57 411,18 3
3 501657 5 549,19 441,14 1332,80 3
4 811002 3 409,82 672,10 634,20 3
5 925007 3 393,87 906,16 736,48 3

Identification des valeurs aberrantes pour le client 262001

Le client 262001 présente 101 transactions dans le cadre de données Accounts receivable ; deux d'entre elles sont signalées comme étant des valeurs aberrantes car elles dépassent les limites des valeurs aberrantes correspondant à ce client-là :

Valeur aberrante Limite inférieure Limite supérieure Valeur aberrante
(2 044,82) (1 878,51) 2 756,13 3 567,34

Mode de calcul des limites des valeurs aberrantes pour le client 262001

Les limites des valeurs aberrantes correspondent à la moyenne de toutes les transactions du client 262001, plus ou moins le multiple spécifié de l'écart type des transactions :

moyenne de toutes les transactions du client 262001 438,81
Multiple spécifié de l'écart type 3
Écart type des transactions 772,44

438,81 ± (3 * 772,44)

= 438,81 ± 2 317,32

= (1 878,51) (limite inférieure)

= 2 756,13 (limite supérieure)

Utilisation de la médiane pour identifier les montants des transactions sortant de l'ordinaire pour chaque client

Vous utilisez la médiane, plutôt que la moyenne, pour effectuer le même test de recherche de valeurs aberrantes que celui effectué dans l'exemple précédent.

outliers_customer_ar_median = accounts_receivable.outliers(keys = ["CustNum"], on = "Amount", distance = 3, method = "median")

Le test renvoie 10 valeurs aberrantes au lieu des 7 renvoyées lors du test précédent. Selon la nature des données, la médiane et la moyenne peuvent renvoyer des résultats quelque peu différents :

numéro de groupe CustNum Amount median stdev distance
0 65003 4 954,64 663,68 1015,58 3
1 262001 3 567,34 450,67 772,44 3
1 262001 (2 044,82) 450,67 772,44 3
2 376005 (931,55) 517,16 411,18 3
3 501657 4 426,14 146,80 1332,80 3
3 501657 5 549,19 146,80 1332,80 3
4 811002 3 409,82 624,53 634,20 3
5 925007 2 972,78 717,88 736,48 3
5 925007 3 030,71 717,88 736,48 3
5 925007 3 393,87 717,88 736,48 3

Mode de calcul des limites des valeurs aberrantes pour chaque client

Les limites des valeurs aberrantes correspondent à la valeur médiane des transactions de chaque client, plus ou moins le multiple spécifié de l'écart type des transactions.

Par exemple, pour le client 262001 : 450,67 ± (3 * 772,44)

Remarques

Toutes les colonnes du cadre de données d'entrée sont automatiquement incluses dans le cadre de données de sortie. Les colonnes qui ne sont pas directement impliquées dans le calcul des valeurs aberrantes sont positionnées le plus à droite dans le cadre de données de sortie.