Cela peut sembler contre-intuitif, mais utiliser l'approche que vous décrivez n'a pas de sens (pour reprendre votre formulation, je préfère écrire "peut conduire à des résultats très différents de ceux prévus") et il ne faut jamais le faire: les risques de cela ne fonctionne pas sont conséquentes et en outre, il existe une alternative plus simple, beaucoup plus sûre et mieux établie disponible sans frais supplémentaires.
Premièrement, il est vrai que s'il y a une seule valeur aberrante, vous la trouverez finalement en utilisant la procédure que vous proposez. Mais, en général (lorsqu'il peut y avoir plus d'une seule valeur aberrante dans les données), l'algorithme que vous suggérez se décompose complètement, dans le sens de vous conduire potentiellement à rejeter un bon point de données comme une valeur aberrante ou à garder les valeurs aberrantes comme de bons points de données avec des conséquences potentiellement catastrophiques.
Ci-dessous, je donne un exemple numérique simple où la règle que vous proposez tombe en panne, puis je propose une alternative beaucoup plus sûre et plus établie, mais avant cela, j'expliquerai a) ce qui ne va pas avec la méthode que vous proposez et b) ce qui est généralement préféré alternative à elle est.
En substance, vous ne pouvez pas utiliser la distance entre une observation et la moyenne et l'écart-type de vos données pour détecter de manière fiable les valeurs aberrantes, car les estimations que vous utilisez (moyenne et écart-type de sortie) sont toujours susceptibles d'être tirées vers le reste. valeurs aberrantes: c'est ce qu'on appelle l'effet de masquage.
En résumé, une façon simple de détecter de façon fiable les valeurs aberrantes consiste à utiliser l'idée générale que vous avez suggérée (distance par rapport à l'estimation de l'emplacement et de l'échelle), mais en remplaçant les estimateurs que vous avez utilisés (en omettant une moyenne, sd) par des estimateurs robustes, c'est-à-dire des estimations conçu pour être beaucoup moins susceptible d'être influencé par des valeurs aberrantes.
Considérez cet exemple, où j'ajoute 3 valeurs aberrantes à 47 observations authentiques tirées d'un 0,1 normal:
n <- 50
set.seed(123) # for reproducibility
x <- round(rnorm(n,0,1), 1)
x[1] <- x[1]+1000
x[2] <- x[2]+10
x[3] <- x[3]+10
Le code ci-dessous calcule l'indice d'extériorité sur la base de la moyenne et de l'écart-type (un par exemple l'approche que vous proposez).
out_1 <- rep(NA,n)
for(i in 1:n){ out_1[i] <- abs( x[i]-mean(x[-i]) )/sd(x[-i]) }
et ce code produit l'intrigue que vous voyez ci-dessous.
plot(x, out_1, ylim=c(0,1), xlim=c(-3,20))
points(x[1:3], out_1[1:3], col="red", pch=16)
L'image 1 illustre la valeur de votre indice de périphérie en fonction de la valeur des observations (le plus éloigné des valeurs aberrantes est en dehors de la plage de ce graphique, mais les deux autres sont représentés par des points rouges). Comme vous pouvez le voir, à l'exception du plus extrême, un indice de périphérie construit comme vous le suggérez ne révélerait pas les valeurs aberrantes: en effet, les deuxième et troisième valeurs aberrantes (plus douces) ont désormais même une valeur (sur votre indice de périphérie) plus petite que toutesles observations authentiques! ... Sous l'approche que vous proposez, on garderait ces deux valeurs extrêmes dans l'ensemble des observations authentiques, vous amenant à utiliser les 49 observations restantes comme si elles provenaient du même processus homogène, vous donnant une finale estimation de la moyenne et du sd sur la base de ces 49 points de données de 0,45 et 2,32, une très mauvaise description de l'une ou l'autre partie de votre échantillon!
XjeX
O ( xje, X) = | Xje- med ( X) |fou (X)
med (X)Xfou (X)
Dans R, ce deuxième indice de périphérie peut être calculé comme:
out_2 <- abs( x-median(x) )/mad(x)
et tracé (comme précédemment) en utilisant:
plot(x, out_2, ylim=c(0,15), xlim=c(-3,20))
points(x[1:3], out_2[1:3], col="red", pch=16)
L'image 2 trace la valeur de cet autre indice d'éloignement pour le même ensemble de données. Comme vous pouvez le voir, les trois valeurs aberrantes sont maintenant clairement révélées comme telles. De plus, cette règle de détection des valeurs aberrantes a des propriétés statistiques établies. Cela conduit, entre autres, à des règles de coupure utilisables. Par exemple, si la partie authentique des données peut être supposée provenir d'une distribution symétrique avec un second moment fini, vous pouvez rejeter tous les points de données pour lesquels
| Xje- med ( X) |fou (X)> 3,5
comme des valeurs aberrantes. Dans l'exemple ci-dessus, l'application de cette règle vous conduirait à signaler correctement les observations 1, 2 et 3. Si vous les rejetez, la moyenne et le sd des observations restantes sont de 0,021 et 0,93 réceptivement, une bien meilleure description de la partie authentique de l'échantillon. !