Вопрос или проблема
Рассмотрим полет, представленный в виде данных с пространственными (широта
, долгота
, высота
) и временными (временная метка
) координатами. По мере полета у меня есть переменная, отслеживающая длину предыдущего сегмента, проведенного в определенных условиях (например, температура выше определенного порога), accumulatedMilesWithCondition
:
широта | долгота | временная метка | высота | accumulatedMilesWithCondition | узел |
---|---|---|---|---|---|
-17.5456 | -149.5954 | 2020-06-01 21:00:00.000 | 5.0853 | 0.00 | ВЫЛЕТ |
-17.5543 | -149.6081 | 2020-06-01 21:00:33.300 | 43.1430 | 10.54 | ПРОМЕЖУТОЧНЫЙ |
— | — | — | — | — | — |
-22.0070 | 166.1995 | 2020-06-02 04:50:29.300 | -23.3268 | 1140.58 | НАЗНАЧЕНИЕ |
Я смоделировал тот же полет (тот же вылет, назначение, время начала) с немного отличающимися условиями, что привело к тому, что данные имеют немного отличающиеся пространственные (кроме вылета и назначения, очевидно) и временные координаты.
Я хочу вывести метрику, которая даст мне оценку того, насколько “похожа” переменная accumulatedMilesWithCondition
между разными полетами. Например, здесь я сравниваю 3 разные версии одного и того же полета с использованием цветового отображения, которое выделяет области, где accumulatedMilesWithCondition
увеличивается (то есть области, где мои условия выполняются).
Идея заключается в том, чтобы иметь метрику, которая дает более количественное представление о том, насколько эти “изображения” визуально похожи.
Я экспериментировал с различными метриками, но проблема в том, что во всех этих случаях мне всегда нужно как-то ресемплировать до общего индекса, и это сложно сделать, потому что единственный инвариант этих полетов — это координаты вылета и назначения, в то время как остальное может развиваться свободно (хотя, как я сказал, обычно различия действительно малы). Это означает, что также количество точек для некоторых полетов может быть разным.
У вас есть идеи по поводу стратегий сравнения характеристик различных траекторий полетов?
Я думаю, что вариационный автоэнкодер (VAE) с 1D сверточным кодирующим этапом может подойти.
1D сверточный кодирующий этап сможет кодировать данные о траектории, которые длинные, многомерные и переменной длины.
Помещение этого в архитектуру VAE означало бы, что сеть обучается представлять образцы так, чтобы похожие образцы располагались близко друг к другу в этом пространстве.
Это похоже на сокращение размерности, где вы можете спроецировать данные в двумерное пространство и обнаружить, что связанные образцы группируются вместе. Сложность для этой конкретной задачи возникает из структуры данных, где нам нужно справляться с переменной длиной последовательности среди прочего.
Предположим, вы обучили такую сеть, и затем хотите измерить схожесть двух новых траекторий. Вы пропускаете их обе через кодировщик и считываете их кодировки. Затем вы можете вычислить расстояние между кодировками (скаляр $d\ge0$), и интерпретировать его как меру различия.
Ответ или решение
Для оценки сходства между особенностями траекторий полетов часто требуется выбрать такой показатель, который может учесть как временные, так и пространственные изменения в данных, таких как долгота, широта, высота и временные метки. Представленный набор данных также содержит переменную accumulatedMilesWithCondition
, характеризующую накопленные мили, пройденные при определенных условиях, что усложняет задачу анализа.
Теория
Одним из подходов к оценке сходства между траекториями полетов может быть использование метрик, рассчитанных для временных рядов и пространственных данных одновременно. Среди популярных методов — расстояние на основе временного ряда, такие как расстояние динамического времени (DTW), которое позволяет сравнивать временные ряды, различающиеся по длине и не идеально синхронизированные. Это метод, классически используемый в задачах, где временные ряды варьируются и требуют гибкого выравнивания данных.
Однако, в данной задаче воспользоваться только DTW недостаточно, так как в траектории полета участие принимает не только временной, но и пространственный фактор. Мы должны учитывать также особенности многомерных данных: долгота, широта, высота и особенности их изменения. Использование нейронных сетей, а именно сложных архитектур, таких как вариационный автоэнкодер (VAE), позволяет создать модели, способные учесть такие многоаспектные зависимости.
Пример
Вариационный автоэнкодер (VAE) с одномерной сверточной связью на этапе кодирования может служить примером для решения описанной задачи. VAE способен кодировать последовательности данных, которые:
- Являются многомерными.
- Имеют переменную длину.
- Включают временные и пространственные аспекты.
VAE создает низкоразмерное представление входных данных, в котором схожие экземпляры располагаются в близости друг от друга. Это позволяет отображать траектории в скрытом пространстве, что дает возможность анализировать их сходство через евклидово или косинусное расстояние в этом пространстве.
Применение
В контексте задачи, вы можете тренировать VAE на выборке имеющихся данных полетов, представив каждую траекторию в виде многомерного временного ряда. В процессе обучения VAE будет стараться генерировать такие латентные представления, которые сохранят важные свойства этих временных рядов, включая accumulatedMilesWithCondition
.
Когда у вас имеются две новых траектории для сравнения, вы пропускаете их через закодированную часть обученной сети и получаете соответствующие латентные векторы. Далее, для вычисления меры диссходства между траекториями можно использовать простое евклидово расстояние или более сложные алгоритмы на основе кластеризации данных.
Данный подход позволяет:
- Обрабатывать данные разной длины.
- Сохранить значимую информацию о временных и пространственных особенностях.
- Обеспечить интуитивно понятную интерпретацию метрики, полученной в смысле схожести представленных условий.
Кроме того, стоит отметить, что использование метода основано на обучении представлений, что позволяет адаптировать модель при появлении нового опыта данных, тем самым повышая устойчивость к изменяющимся условиям и улучшая способность сети к обобщению.
Таким образом, вариационный автоэнкодер (VAE) предлагает подход, который способен учитывать множество аспектов траекторий полетов, обеспечивая высокую степень точности и информативности при сравнении accumulatedMilesWithCondition
для различных полетов.