Особенности классификации временных рядов


43

Я рассматриваю проблему (мультиклассовой) классификации на основе временных рядов переменной длины , то есть найти функцию через глобальное представление серии времени с помощью набора выбранных функций фиксированного размера зависящего от , а затем используйте стандартные методы классификации для этого набора функций. Я не заинтересован в прогнозировании, то есть в прогнозированииf ( X T ) = y [ 1 .. K ]Tv i D T ϕ ( X T ) = v 1 , , v DR , x T + 1

f(XT)=y[1..K]for XT=(x1,,xT)with xtRd ,
viDT
ϕ(XT)=v1,,vDR ,
xT+1, Например, мы можем проанализировать, как человек идет, чтобы предсказать пол человека.

Какие стандартные функции я могу принять во внимание? Например, мы можем, очевидно, использовать среднее значение и дисперсию серии (или моменты более высокого порядка), а также посмотреть на частотную область, например, энергию, содержащуюся в некотором интервале дискретного преобразования Фурье серии (или дискретного вейвлет-преобразования ).

Ответы:


45

Простые статистические функции

  • Средство в каждом из измеренийd
  • Стандартные отклонения этих размеровd
  • Моменты асимметрии , куртоза и высших порядков измеренийd
  • Максимальные и минимальные значения

Особенности анализа временных рядов

  • В взаимной корреляцией между каждым измерением и Авто-Корреляциядd×d1 d
  • Порядки авторегрессионной (AR), интегрированной (I) и скользящей средней (MA) части оценочной модели ARIMA
  • Параметры AR-части
  • Параметры MA-части

Возможности, связанные с частотной областью

См. Morchen03 для изучения функций энергосбережения на DFT и DWT

  • Частоты пиков по амплитуде в ДПФ для развернутых измеренийдk d
  • k квантили этих ДПФ

1
Эмиль, этот вопрос похож на тот, который я только что задал ( stats.stackexchange.com/questions/51475/… ). Сможете ли вы опубликовать код R для функций DFT?
B_Miner

Есть ли какой-либо метод, основанный на шейплетах для временных рядов переменной длины?
Симона

8

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

Вы можете рассмотреть возможность включения функций, рассчитанных по производным (или интегралам) вашего сигнала. Например, я бы поспорил, что быстрое ускорение / замедление является достаточно хорошим предиктором вождения, подверженного авариям. Эта информация, очевидно, все еще присутствует в сигнале положения, но она не так явно выражена.

Вы также можете рассмотреть возможность замены коэффициентов Фурье вейвлет или вейвлет пакетного представления. Основным преимуществом вейвлетов является то, что они позволяют локализовать элемент как по частоте, так и по времени, в то время как традиционные коэффициенты Фурье ограничены только временем. Это может быть особенно полезно, если ваши данные содержат компоненты, которые включаются / выключаются нерегулярно или имеют прямоугольные импульсы, которые могут быть проблематичными для методов Фурье.


6

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

Комплексный обзор возможных функций временных рядов

Пакет python tsfresh автоматизирует извлечение этих функций. Его документация описывает различные расчетные функции. Вы можете найти страницу с расчетными функциями здесь .

Отказ от ответственности: я один из авторов tsfresh.


5

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

Автоэнкодер пытается выучить функцию . Другими словами, он пытается выучить приближение к функции тождества, чтобы вывести , аналогичный .Х Т Х Тf(XT)XTX^TXT

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

Функция Extractor

Таким образом, ваш желаемый будет эквивалентен выходными значения слоя в ближайшем к центру глубокого автоассоциатора, если вы ограничиваете количество скрытых блоков в средних комнатах в .ϕ(XT)=v1,,vDRD

Кроме того, вы можете использовать множество вариантов автоэнкодера, чтобы найти лучшее решение вашей проблемы.


4

Связанный документ будет несколько поучительным, поскольку его интересует более или менее та же проблема в другом контексте.

Реферат (в интернет-архиве)

Бумага PDF


1

В зависимости от длины вашего временного ряда, обычный подход состоит в том, чтобы разделять данные на сегменты, например, 10 секунд.

Однако часто перед разбиением временного ряда на сегменты необходимо выполнить некоторую предварительную обработку, такую ​​как фильтрация и отклонение артефактов. Затем вы можете вычислить различные особенности, такие как те, которые основаны на частоте (то есть взять FFT для каждой эпохи), времени (например, среднее значение, дисперсия и т. Д. Временных рядов в этой эпохе) или морфологии (то есть форма сигнала / временные ряды в каждую эпоху).

Обычно функции, используемые для классификации сегментов (эпох) временного ряда / сигнала, зависят от конкретной области, но вейвлет / фурье-анализ - это просто инструменты, позволяющие вам исследовать ваш сигнал в частотной / частотно-временной области, а не сами по себе.

В задаче классификации каждая эпоха будет иметь метку класса, например, «счастливый» или «грустный», затем вы обучите классификатор различать «счастливые» и «грустные» эпохи, используя 6 функций, рассчитанных для каждой эпохи.

В случае, если каждый временной ряд представляет отдельный случай для классификации, вам необходимо рассчитать каждый объект по всем выборкам временного ряда. БПФ здесь имеет значение только в том случае, если сигнал является линейным инвариантом времени (LTI), т. Е. Если сигнал можно считать стационарным на протяжении всего временного ряда, если сигнал не является стационарным в течение интересующего периода, вейвлет-анализ может быть более подходящий. Этот подход будет означать, что каждый временной ряд будет производить один вектор признаков и будет представлять собой один случай для классификации.


Я всегда чувствовал, что разбиение временных рядов, естественно непрерывного процесса, на отдельные периоды (или эпохи) приводит к потере информации. Если в серии нет естественных эпох, как выбирать эпохи? Вероятно, найдутся эпохи, подходящие для любого желаемого результата.
Cam.Davidson.Pilon

1
Не уверен, что найдется эпоха, подходящая для любого результата, но для любой практической проблемы. С нестационарным сигналом вам нужно найти какой-то способ, чтобы учесть временные колебания (если сигнал / временной ряд адекватно описаны аналитически или линейно инвариантен во времени это не обязательно). Длина эпохи опять-таки зависит от конкретной области, но обычно выбирается такой, чтобы быть достаточно короткой, чтобы сигнал был стационарным в течение интересующего периода времени (эпохи).
BGreene

Б. Грин, не могли бы вы объяснить, в чем состоит преимущество разделения серии на эпохи для выбора признаков, используемых в классификации? Я рассматриваю это разбиение как помощник для последующих вычислений (например, FFT), но не как нечто, связанное с выбором самих функций. Возможно, это связано с упомянутой вами «морфологией».
Эмиль

Разделение на эпохи не имеет ничего общего с выбором функций. Если у вас длинный сигнал (например, 10 часов записи с частотой дискретизации 100 Гц), то для того, чтобы проверить, как сигнал меняется со временем, нужно разбить его на эпохи. В задаче классификации каждая эпоха будет иметь метку класса, например, «счастливый» или «грустный», затем вы обучите классификатор различать «счастливые» и «грустные» эпохи, используя 6 функций, рассчитанных для каждой эпохи.
BGreene

Хорошо :) Это определенно не связано с моим первоначальным вопросом. Я рассматриваю случай, когда класс маркирует всю серию. Я собираюсь отредактировать свой вопрос, чтобы добавить поясняющий пример.
Эмиль
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.