2017-01-04 4 views
7

J'ai cherché partout la meilleure méthode pour identifier les valeurs aberrantes multivariées en utilisant R, mais je ne pense pas avoir encore trouvé d'approche crédible.Détection de valeurs aberrantes multivariées en utilisant R avec probabilité

Nous pouvons prendre les données iris à titre d'exemple que mes données contient également plusieurs champs

data(iris) 
df <- iris[, 1:4] #only taking the four numeric fields 

Tout d'abord, je me sers distance de Mahalanobis de la bibliothèque MVN

library(MVN) 
result <- mvOutlier(df, qqplot = TRUE, method = "quan") #non-adjusted 
result <- mvOutlier(df, qqplot = TRUE, method = "adj.quan") #adjusted Mahalonobis distance 

deux ont donné lieu à un grand nombre de valeurs aberrantes (50 sur 150 pour les non-ajustés et 49/150 pour les ajustés), ce qui, je pense, a besoin de plus de raffinement. Je ne peux malheureusement semblent ne pas trouver une variable dans la méthode mvOutlier de fixer le seuil (dit de plus en plus la probabilité d'un point une donnée aberrante, de sorte que nous avons un plus petit nombre)

En second lieu, je valeurs aberrantes bibliothèque . Ceci est de trouver univarié valeurs aberrantes. Donc, mon plan est de trouver les valeurs aberrantes sur chaque dimension des données et ces points étant des valeurs aberrantes sur toutes les dimensions sont considérées comme des valeurs aberrantes de l'ensemble de données. Pour cela, nous pouvons définir la probabilité, mais je ne pense pas qu'elle puisse remplacer la détection des valeurs aberrantes multivariées.

D'autres approches que j'ai essayé

    bibliothèque
  • (de mvoutlier): cela montre que l'intrigue. Il est difficile de trouver automatiquement les valeurs aberrantes. Et je ne sais pas comment ajouter la probabilité dans ce
  • la distance de cuisinier (link): un homme a dit qu'il a utilisé la distance de cuisinier mais je ne pense pas qu'il y ait une preuve académique solide pour prouver que ce D'accord.

Répondre

3

Je vous laisse avec ces deux liens, le premier est un document sur les différentes méthodes pour la détection d'observations aberrantes multivariées, tandis que le second se penche sur la façon de les mettre en œuvre dans l'affaire R.

distance de Cook est une manière valable d'observer l'influence d'un point de données et, en tant que telle, de détecter les points périphériques. Mahalanobis Distance est également utilisé régulièrement.

Pour votre exemple de test, le jeu de données iris n'est pas utile. Il est utilisé pour les problèmes de classification car il est clairement séparable. Votre exclusion de 50 points de données permettrait de se débarrasser d'une espèce entière.

Outlier Détection dans multivariée Data-

http://www.m-hikari.com/ams/ams-2015/ams-45-48-2015/13manojAMS45-48-2015-96.pdf

R mise en œuvre

http://r-statistics.co/Outlier-Treatment-With-R.html

+0

Salut Andrew, merci pour votre commentaire. La distance de Cook semble bonne mais je ne sais pas quoi mettre dans le Y quand il faut faire une ligne d'ajustement lm (Y ~., données) lorsque tous les champs de données sont indépendants de manière équivalente. Pour Mahalanobis Distance, je ne pense pas avoir vu de mise en œuvre de R. En outre, le document n'a rien dit sur l'augmentation/diminution du seuil. Je me demande ce qui se passe si je réduis le seuil à 3 fois la distance du cuisinier pour les valeurs aberrantes. Enfin, savez-vous comment tester la confiance/l'exactitude de ces méthodes? –