Procédé pour trouver « plus propre » sous-ensemble de données sous-ensemble à-dire avec la variabilité la plus faible

StackOverflow https://stackoverflow.com/questions/718866

Question

Je suis en train de trouver une tendance dans plusieurs jeux de données. Les tendances de la meilleure supposera la recherche en ligne en forme, mais si j'imagine que la procédure ne serait pas trop différent pour tout autre modèle (juste peut-être plus de temps).

Il y a 3 scénarios envisageables:

  1. Toutes les bonnes données où toutes les données correspond à une seule tendance avec une faible variabilité
  2. Toutes les mauvaises données où tout ou la plupart des données présente une grande variabilité et l'ensemble des données doit être mis au rebut.
  3. partielles bonnes données où certaines données peuvent être bon alors que le reste doit être mis au rebut.
  

Si le pourcentage net de données avec une extrême variabilité est trop élevé, doit être mis au rebut l'ensemble. Cela implique qu'il n'y a essentiellement que ce type de données et le pourcentage de mauvaises données varie:

     

0% Mauvais = Cas 1
  100% Mauvais = Cas n ° 2

     

Je suis à la recherche que pour les sections contiguës à faible Variabilité; dire que je ne me soucie pas s'il y a des points individuels qui correspondent à la tendance

Ce que je cherche est une façon intelligente de la section sous-section l'ensemble de données et la recherche de la tendance spécifiée. Comme cela est la nature du problème, je ne suis pas à la recherche pour les sections qui correspondent le mieux à la tendance générale. Je comprends que la sous-section avec des données « propres » finira ayant des propriétés courbe de tendance légèrement différentes que l'ensemble (qui contiendrait les valeurs aberrantes). C'est exactement ce que je veux puisque cette partie des données serait mieux refléter au mieux la tendance actuelle.

Je suis couramment en C ++, mais, depuis que je suis en train de faire le code open source et multiplateforme, je tiens aux normes ISO C ++. Cela implique pas .NET, mais si vous avez un exemple .NET j'apprécierait si vous pouviez aussi me aider à convertir à l'ISO C ++. J'ai aussi connaissance de JAVA, un certain assemblage et Fortran.

Les ensembles de données eux-mêmes ne sont pas énormes mais il y a environ 150 millions d'entre eux et si la force brute peut ne pas être la meilleure façon.

Merci d'avance


Je comprends que je l'ai laissé des choses en l'air et alors laissez-moi préciser:

  • Chaque jeu de données peut, et probablement, ont des tendances; à savoir que je ne cherche pas la même tendance dans tous les ensembles de données.
  • L'utilisateur du programme définira la proximité d'un ajustement qu'ils veulent
  • L'utilisateur du programme définira comment le sous-ensemble contigu doit être saisie de son compte pour montage tendance
  • Dans le cas où le programme est étendu pour permettre tout type d'ajustement (non seulement linéaire), l'utilisateur définira ce modèle est d'être en forme - ce n'est pas une priorité et si la requête ci-dessus est résolu alors je suis sûr cette expansion serait relativement trivial
  • Les valeurs aberrantes viennent à la suite de la nature de l'expérience et la technique d'acquisition de données dans lequel les données des sections « mauvais » doivent encore être même collectées que ces domaines sont connus pour donner des valeurs aberrantes. Le rejet de ces valeurs aberrantes ne signifie pas que les données sont manipulées pour s'adapter à toute tendance (disclaimer statistiques, hehe).
Était-ce utile?

La solution

L'algorithme de RANSAC est une approche de ce que vous cherchez si je vous comprends bien. http://en.wikipedia.org/wiki/RANSAC

Autres conseils

Vous pouvez utiliser le terme « valeurs aberrantes » dans vos recherches. Une valeur aberrante est un point particulier de données qui représente soit une condition spéciale non capturé dans la conception de l'expérience, ou un coup de chance statistique (un point saisi des exstreams de la distribution dans un ensemble de données trop petit pour attendre à ce que trop se produire).

élimination des valeurs aberrantes comporte un certain risque de biaiser le résultat par votre attente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top