Je travaille sur un algorithme qui prend un vecteur du point de données le plus récent d'un certain nombre de flux de capteurs et compare la distance euclidienne aux vecteurs précédents. Le problème est que les différents flux de données proviennent de capteurs complètement différents, donc prendre une simple distance euclidienne surestimera considérablement certaines valeurs. De toute évidence, j'ai besoin d'un moyen de normaliser les données. Cependant, puisque l'algorithme est conçu pour fonctionner en temps réel, je ne peux pas utiliser d'informations sur un flux de données dans son ensemble dans la normalisation. Jusqu'à présent, je viens de suivre la plus grande valeur observée pour chaque capteur dans la phase de démarrage (les 500 premiers vecteurs de données), puis de diviser toutes les données futures de ce capteur par cette valeur. Cela fonctionne étonnamment bien, mais semble très inélégant.
Je n'ai pas eu beaucoup de chance pour trouver un algorithme préexistant pour cela, mais peut-être que je ne cherche tout simplement pas aux bons endroits. Quelqu'un en connaît-il un? Ou avez-vous des idées? J'ai vu une suggestion d'utiliser une moyenne courante (probablement calculée par l'algorithme de Wellford), mais que si je le faisais, plusieurs lectures de la même valeur ne se présenteraient pas comme étant identiques, ce qui semble être un assez gros problème, sauf si je manque quelque chose. Toutes les pensées sont appréciées! Merci!
la source