Comment exécuter Grubbs’ Tester en Python
Le test de Grubbs est utilisé pour identifier la présence de valeurs aberrantes dans un ensemble de données. Pour utiliser ce test, un ensemble de données doit être approximativement distribué normalement et contenir au moins 7 observations.
Ce didacticiel explique comment effectuer le test de Grubbs en Python.
Test de Grubbs en Python
Pour effectuer le test de Grubbs en Python, nous pouvons utiliser la fonction smirnov_grubbs() du package outlier_utils , qui utilise la syntaxe suivante :
smirnov_grubbs.test (données, alpha = 0,05)
où:
- data : un vecteur numérique de valeurs de données
- alpha : Le niveau de signification à utiliser pour le test. La valeur par défaut est 0,05
Pour utiliser cette fonction, vous devez d’abord installer le package outlier_utils :
pip install outlier_utils
Une fois ce package installé, vous pouvez effectuer le test de Grubbs. Les exemples suivants illustrent comment procéder.
Exemple 1 : Test de Grubbs bilatéral
Le code suivant illustre comment effectuer un test de Grubbs bilatéral, qui détectera les valeurs aberrantes aux deux extrémités de l’ensemble de données.
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test grubbs.test(data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
Cette fonction renvoie simplement un tableau sans les valeurs aberrantes. Dans ce cas, la valeur maximale de 40 était une valeur aberrante et a donc été supprimée.
Exemple 2 : Test de Grubbs unilatéral
Le code suivant illustre comment effectuer un test de Grubbs unilatéral pour la valeur minimale et la valeur maximale dans un ensemble de données :
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs.min_test(data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs.max_test(data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
Le test de valeur aberrante minimale n’a pas détecté la valeur minimale comme valeur aberrante. Cependant, le test de valeur aberrante maximale a déterminé que la valeur maximale de 40 était une valeur aberrante et a donc été supprimée.
Exemple 3 : Extraire l’index de la valeur aberrante
Le code suivant illustre comment extraire l’index de la valeur aberrante :
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify index (if any) of the outlier grubbs.max_test_indices(data, alpha=.05) [16]
Cela nous indique qu’il existe une valeur aberrante à la position d’index 16 du tableau.
Exemple 4 : Extraire la valeur de la valeur aberrante
Le code suivant illustre comment extraire la valeur de la valeur aberrante :
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify the actual value (if any) of the outlier grubbs.max_test_outliers(data, alpha=.05) [40]
Cela nous indique qu’il existe une valeur aberrante d’une valeur de 40.
Comment gérer les valeurs aberrantes
Si le test de Grubbs identifie une valeur aberrante dans votre ensemble de données, vous disposez de plusieurs options :
1. Vérifiez à nouveau que la valeur n’est pas une faute de frappe ou une erreur de saisie de données. Parfois, les valeurs qui apparaissent comme des valeurs aberrantes dans les ensembles de données sont simplement des fautes de frappe commises par un individu lors de la saisie des données. Tout d’abord, vérifiez que la valeur a été saisie correctement avant de prendre d’autres décisions.
2. Attribuez une nouvelle valeur à la valeur aberrante . Si la valeur aberrante s’avère être le résultat d’une faute de frappe ou d’une erreur de saisie de données, vous pouvez décider de lui attribuer une nouvelle valeur, telle que la moyenne ou la médiane de l’ensemble de données.
3. Supprimez la valeur aberrante. Si la valeur est réellement aberrante, vous pouvez choisir de la supprimer si elle aura un impact significatif sur votre analyse.