Я працюю над алгоритмом, який займає вектор останньої точки даних з ряду потоків датчиків і порівнює евклідову відстань з попередніми векторами. Проблема полягає в тому, що різні потоки даних походять від абсолютно різних датчиків, тому проходження простої евклідової відстані різко перекреслить деякі значення. Ясна річ, мені потрібен певний спосіб нормалізації даних. Однак, оскільки алгоритм призначений для роботи в режимі реального часу, я не можу використовувати будь-яку інформацію про будь-який потік даних в цілому для нормалізації. Я поки що відслідковував найбільше значення кожного датчика на етапі пуску (перші 500 векторів даних), а потім ділив усі майбутні дані з цього датчика на це значення. Це працює напрочуд добре, але відчуває себе дуже неелегантно.
Мені не пощастило знайти раніше існуючий алгоритм для цього, але, можливо, я просто не шукаю в потрібних місцях. Хтось знає про нього? Або є якісь ідеї? Я бачив одну пропозицію використовувати середнє значення (можливо, обчислене алгоритмом Велфорда), але якщо я це зробив, то кілька читання одного і того ж значення не виявляться як однакові, що здається досить великою проблемою, якщо я не я щось пропускаю. Будь-які думки вдячні! Дякую!