J'ai besoin d'obtenir une valeur aussi précise que possible pour la luminosité d'une source de lumière principalement stable étant donné douze valeurs de luminosité d'échantillon. Le capteur est imparfait, et la lumière peut parfois "scintiller" plus ou moins sombre, ce qui peut être ignoré, d'où mon besoin de détection des valeurs aberrantes (je pense?).
J'ai fait quelques lectures sur diverses approches ici et je ne peux pas décider de l'approche à suivre. Le nombre de valeurs aberrantes n'est jamais connu à l'avance et sera souvent nul. Le scintillement est généralement un très grand écart par rapport à la luminosité stable (suffisamment pour vraiment gâcher toute moyenne prise avec un gros présent), mais pas nécessairement.
Voici un échantillon de 12 mesures pour l'exhaustivité de la question:
295.5214, 277.7749, 274.6538, 272.5897, 271.0733, 292.5856, 282.0986, 275.0419, 273.084, 273.1783, 274.0317, 290.1837
Mon intuition est qu'il n'y a probablement pas de valeurs aberrantes dans cet ensemble particulier, bien que 292 et 295 semblent un peu élevés.
Donc, ma question est, quelle serait la meilleure approche ici? Je dois mentionner que les valeurs proviennent de la prise de la distance euclidienne des composants RG et B de la lumière à partir d'un point zéro (noir). Il serait difficile par programmation, mais possible, de revenir à ces valeurs si nécessaire. La distance euclidienne a été utilisée comme mesure de la "force globale" car je ne suis pas intéressé par la couleur, juste la force de la sortie. Cependant, il y a une chance raisonnable que les scintillements que j'ai mentionnés ont une composition RVB différente de la sortie habituelle.
Pour le moment, je joue avec une sorte de fonction qui se répétera jusqu'à ce qu'une adhésion stable aux mesures autorisées soit atteinte par:
- Trouver l'écart-type
- Tout mettre à l'extérieur, disons 2 SD dans une liste d'ignorance
- Recalculer la moyenne et l'écart-type avec la liste d'ignorance exclue
- Redécider qui ignorer en fonction de la nouvelle moyenne et de l'écart-type (évaluer les 12)
- Répétez jusqu'à stabilité.
Y a-t-il une valeur à cette approche?
Tous les commentaires sont acceptés avec reconnaissance!
la source
Réponses:
Les valeurs aberrantes dans les petits échantillons peuvent toujours être très difficiles à détecter. Dans la plupart des cas, en fait, je préconiserais que si vous estimez que vos données ne sont pas carrément corrompues, une valeur "aberrante" pourrait ne pas être problématique et son exclusion pourrait être déraisonnable. L'utilisation de techniques statistiques robustes sera probablement plus sensée et plus proche d'une solution intermédiaire. Vous avez un petit échantillon; essayez de faire en sorte que chaque point d'échantillonnage compte. :)
Concernant votre approche suggérée: je n'appliquerais pas à la hâte une hypothèse de normalité à vos données avec une règle 68-95-99.7 (comme vous semblez le faire avec votre règle heuristique 2SD). L'inégalité de Chebyshev suppose pour une fois une règle 75-88.9-93.8 qui est clairement moins rigide. D'autres « règles » existent également; la section Identification des valeurs aberrantes du lemme des valeurs aberrantes dans wikipedia contient un ensemble d'heuristiques.
En voici une autre: Une référence de livre gratuite que j'ai rencontrée à ce sujet, le e-Handbook of Statistical Methods du NIST / SEMATECH , présente l'idée suivante d'Iglewicz et Hoaglin (1993): Utiliser des scores modifiés tels que:Z M
où est votre médiane et MAD est l' écart absolu médian de votre échantillon. Supposons ensuite que les valeurs absolues de supérieures à 3,5 sont des valeurs aberrantes potentielles. Il s'agit d'une suggestion semi-paramétrique (comme la plupart d'entre eux, le paramètre ici étant le ). Dans votre cas d'exemple, cela exclurait marginalement votre 295,5 mais conserverait clairement votre mesure 292,6 ... (Pour ce qui vaut, je n'exclurais aucune valeur de votre cas d'exemple.)x~ M 3.5
Encore une fois, étant donné que vous avez un très petit échantillon, si vous pensez que votre échantillon n'est pas manifestement corrompu (un humain de 9'4 "de hauteur), je vous conseillerais de ne pas exclure les données à la hâte. Vos" valeurs suspectes "pourraient être des données non corrompues; leur utilisation pourrait en fait aider plutôt que nuire à votre analyse.
la source
Le test Q de Dixon pour les valeurs aberrantes dans de très petits ensembles de données semble bien correspondre à ce genre de situation:
http://en.wikipedia.org/wiki/Dixon%27s_Q_test
http://www.chem.uoa.gr/applets/AppletQtest/Text_Qtest2.htm
la source
Pointez le premier - il peut être utile de revenir à la couleur RVB. Il est rarement bon de jeter des données, et l'ampleur du vecteur RVB n'est pas le seul moyen de représenter la luminosité - la luminosité perçue est différente, tout comme la valeur en HSV.
Mais en mettant cela de côté et en traitant les données dont vous disposez, avez-vous envisagé de former cela comme un problème de classification plutôt que de modélisation et de faire un apprentissage automatique? Vous avez une entrée, qui est un vecteur contenant 12 valeurs réelles (les lectures de luminosité). Vous avez une sortie, qui est un vecteur de 12 valeurs binaires (1 = inlier, 0 = outlier). Obtenez plusieurs jeux de lecture de luminosité et étiquetez-les vous-même à la main, en indiquant quelle lecture de luminosité dans chaque jeu est une valeur aberrante / aberrante. Quelque chose comme ça:
Ensuite, exécutez le tout à travers un classificateur d'une sorte:
Et tu as fini! Pas la peine de chercher à trouver la «règle» qui sépare les valeurs aberrantes des valeurs aberrantes vous-même. Obtenez simplement quelques ensembles de données qui semblent raisonnables et laissez la machine le faire pour vous :)
~~~
EDIT: Incidemment, votre méthode proposée, où vous ajustez itérativement un gaussien puis classifiez chaque échantillon plus de 2 écarts-types comme une valeur aberrante, ressemble beaucoup à un algorithme de maximisation des attentes. Quelque chose comme ça:
Si vous suivez cette voie, il peut être utile de rechercher les algorithmes EM et de vérifier les hypothèses que vous construisez dans votre modèle.
la source