Как применить конвейер преобразования данных к неизвестным данным в задаче классификации временных рядов?

Вопрос или проблема

Я работаю над задачей классификации человеческой активности на основе данных о позах. Из-за качества изображений при применении модели оценивания поз, в данных есть множество пропущенных значений. Мой конвейер преобразования данных для этого обучающего набора включает интерполяцию пропущенных значений и заполнение их назад/вперед с предопределённым лимитом.

Мой вопрос: когда и где следует применять этот конвейер к обучающим данным: на всем наборе данных или на каждом фрагменте, который будет получен с помощью скользящего окна?

Поскольку в процессе вывода я буду получать данные о позах по кадрам в реальном времени до тех пор, пока не соберу фрагмент длиной window_size, следует ли применить конвейер к этому окну?

Ответ или решение

Для применения трансформационного пайплайна данных на неведомых данных в задаче классификации временных рядов необходимо учитывать несколько факторов, касающихся как предобработки данных во время обучения, так и во время инференса.

1. Применение трансформационного пайплайна к тренировочным данным

Ваш пайплайн для тренировочного набора данных включает интерполяцию пропущенных значений и методы импутации с использованием backfill/forwardfill. Теперь давайте рассмотрим, как и когда применять его:

  • При обработке тренировочных данных: В общем случае, вы должны применять ваш пайплайн на всем тренировочном наборе данных. Это позволит модели учесть все потенциальные пропуски и аномалии в данных, которые могут возникнуть в процессе сбора данных о движении.

  • При использовании слайдов (sliding window): С точки зрения алгоритмов обработки временных рядов, при использовании метода слайдового окна, каждая срезка данных – это подмножество полной последовательности данных. Таким образом, вам нужно применять свой пайплайн к каждому срезу данных (каждому окну) индивидуально, чтобы гарантировать, что интерполяция и импутация выполняются правильно, особенно если ваши данные имеют временные зависимости.

2. Применение пайплайна на неведомых данных (инференс)

На этапе инференса, когда вы получаете новые данные в реальном времени по одному кадру:

  • Обработка окна: Вам следует применять тот же трансформационный пайплайн к каждому новому срезу (окну) данных, когда вы накапливаете его до достижения длины размером окна (window_size). Это важно, так как на этапе инференса ваши данные могут содержать пропуски, аналогично тому, что вы видели в тренировочных данных.

    1. Сбор данных в окно: Организуйте поступающие данные в массив или структуру, которая будет вместить ваш размер окна.
    2. Применение пайплайна: После достижения необходимого размера окна примените вашу предобработку: сначала интерполяцию, затем backfill/forwardfill. Это гарантирует, что ваша модель будет иметь корректные данные для предсказания классов активности.

Заключение

Таким образом, ваша трансформационная обработка должна применяться как к тренировочному набору данных в целом, так и к каждому окну данных на этапе инференса. Это позволит вашей модели наиболее точно учитывать пропуски и поддерживать качество предсказаний на основе входных данных. Удачи в вашей работе по классификации активности человека!

Оцените материал
Добавить комментарий

Капча загружается...