Supposons que j'ai un ensemble de données: Amount of money (100, 50, 150, 200, 35, 60 ,50, 20, 500)
. J'ai parcouru le Web à la recherche de techniques qui peuvent être utilisées pour trouver une valeur aberrante possible dans cet ensemble de données, mais je me suis retrouvé confus.
Ma question est la suivante : quels algorithmes, techniques ou méthodes peuvent être utilisés pour détecter d'éventuelles valeurs aberrantes dans cet ensemble de données?
PS : Considérez que les données ne suivent pas une distribution normale. Merci.
algorithms
outlier
Nation Chirara
la source
la source
Réponses:
Vous pouvez utiliser BoxPlot pour l'analyse des valeurs aberrantes. Je voudrais vous montrer comment faire cela en Python:
Considérez vos données comme un tableau:
Maintenant, utilisez seaborn pour tracer le boxplot:
Ainsi, vous obtiendrez une intrigue qui ressemble un peu à ceci:
On dirait que 500 est la seule valeur aberrante pour moi. Mais tout dépend de l'analyse et du niveau de tolérance de l'analyste ou du statisticien et aussi de l'énoncé du problème.
Vous pouvez jeter un œil à l' une de mes réponses sur le CrossValidated SE pour plus de tests.
Et il y a plusieurs belles questions sur les valeurs aberrantes et les algorithmes et techniques pour les détecter.
Mon préféré est la technique de distance Mahalanobis .
la source
Une façon de penser la détection des valeurs aberrantes consiste à créer un modèle prédictif, puis à vérifier si un point se situe dans la plage des prévisions. D'un point de vue théorique de l'information, vous pouvez voir à quel point chaque observation augmente l'entropie de votre modèle.
Si vous traitez ces données comme une simple collection de chiffres et que vous n'avez pas de modèle proposé pour la façon dont elles sont générées, vous pourriez tout aussi bien regarder la moyenne. Si vous êtes certain que les nombres ne sont pas normalement distribués, vous ne pouvez pas dire à quel point un nombre donné est éloigné de la moyenne, mais vous pouvez simplement le regarder en termes absolus.
En appliquant cela, vous pouvez prendre la moyenne de tous les nombres, puis exclure chaque nombre et prendre la moyenne des autres. La moyenne la plus différente de la moyenne mondiale est la plus grande valeur aberrante. Voici du python:
la source
Une approche simple consisterait à utiliser la même chose que les boîtes à moustaches: à l'écart de 1,5 (médiane-q1) ou 1,5 (q3-médiane) = valeur aberrante.
Je le trouve utile dans de nombreux cas, même pas parfait et peut-être trop simple.
Il a l'avantage de ne pas supposer la normalité.
la source