Ich arbeite an einem Algorithmus, der einen Vektor des neuesten Datenpunkts aus einer Reihe von Sensorströmen aufnimmt und den euklidischen Abstand mit vorherigen Vektoren vergleicht. Das Problem ist, dass die verschiedenen Datenströme von völlig verschiedenen Sensoren stammen, sodass bei einer einfachen euklidischen Entfernung einige Werte dramatisch überbetont werden. Klar, ich brauche einen Weg, um die Daten zu normalisieren. Da der Algorithmus jedoch so konzipiert ist, dass er in Echtzeit ausgeführt wird, kann ich keine Informationen zu einem Datenstrom als Ganzes in der Normalisierung verwenden. Bisher habe ich nur den größten Wert verfolgt, der für jeden Sensor in der Startphase gesehen wurde (die ersten 500 Datenvektoren) und dann alle zukünftigen Daten von diesem Sensor durch diesen Wert dividiert. Das funktioniert überraschend gut, fühlt sich aber sehr unelegant an.
Ich hatte nicht viel Glück, einen bereits existierenden Algorithmus dafür zu finden, aber vielleicht suche ich einfach nicht an den richtigen Stellen. Kennt jemand einen? Oder irgendwelche Ideen? Ich sah einen Vorschlag, einen Mittelwert zu verwenden (wahrscheinlich nach Wellfords Algorithmus berechnet), aber wenn ich das täte, würden mehrere Ablesungen desselben Wertes nicht als gleich erscheinen, was ein ziemlich großes Problem zu sein scheint, es sei denn, ich vermisse etwas Alle mögliche Gedanken werden geschätzt! Vielen Dank!
quelle