2011-06-27 2 views
0

Fondamentalement, j'ai des données horaires et quotidiennes commeQuel est le meilleur algorithme de clustering pour trouver des outliers?

Jour 1

Heures, Mesure (1,21) (2,22) (3,27) (4,24)

jour 2 heures, mesure (1,23) (2,26) (3,29) (4,20)

maintenant, je veux trouver outli Les données sont prises en compte en considérant les variations horaires et les variations journalières en utilisant l'analyse bivariée ... qui inclut les heures et les mesures ...

Alors quel est le meilleur algorithme de clustering est plus approprié pour trouver des valeurs aberrantes considérant ce scénario? .

+0

Il n'y a vraiment aucun moyen « meilleur ». "Donc, un bon conseil ici est: Méfiez-vous des bons conseils à ce sujet." --Berton Gunter (répondant à la question de savoir quelle est la meilleure façon de détecter une valeur aberrante) R-help, Sept 2004 –

Répondre

2

un 'bon' conseil (: P) Je peux vous donner c'est (basé sur mon expérience) ce n'est pas une bonne idée de traiter le temps comme des caractéristiques spatiales. Alors méfiez-vous des solutions qui font cela. Vous pouvez probablement commencer par rechercher dans la littérature la détection des valeurs aberrantes pour les données de séries chronologiques.

2

Vous devriez vraiment utiliser une représentation différente pour vos données. Pourquoi n'utilisez-vous pas une méthode de détection aberrante réelle, si vous voulez détecter les valeurs aberrantes?

Autre que cela, il suffit de lire une partie de la littérature. k-means par exemple est connu pour avoir des problèmes avec les outliers. D'autre part, DBSCAN est conçu pour être utilisé sur des données avec "Noise" (le N dans DBSCAN), qui sont essentiellement aberrantes.

Cependant, la façon dont vous représentez vos données ne fera rien de très bien.

1

Vous devez utiliser une méthode de détection des valeurs aberrantes basée sur les séries chronologiques en raison de la nature de vos données (elles ont leurs propres caractéristiques saisonnières, tendance, autocorrélation, etc.). Les valeurs aberrantes basées sur les séries temporelles sont de différentes sortes (AO, IO etc.) et c'est un peu compliqué mais il y a des applications qui le rendent facile à implémenter.

Téléchargez la dernière version de R à partir de http://cran.r-project.org/. Installez les paquets "prévisions" & "TSA". Utilisez la fonction auto.arima du progiciel de prévision pour dériver le meilleur ajustement de modèle pour vos données et passez ces variables avec vos données pour détecter les fonctions de détection des fonctions TSA. Ces fonctions afficheront toutes les valeurs aberrantes présentes dans les données avec leurs index temporels.

R est également facile à intégrer avec d'autres applications ou tout simplement exécuter un traitement par lots .... Hope that helps ...

Questions connexes