2013-10-04 5 views
2

У меня есть набор сообщений, каждый из которых имеет отметку времени прибытия. Я хотел бы проанализировать набор и определить периодичность прибытия сообщений. (Имея это, я могу с определенной степенью уверенности обнаруживать, когда последующие сообщения опаздывают или отсутствуют.) Таким образом, дискретное преобразование Фурье кажется логичным выбором вытащить частоту (и) из набора.Извлечение периодичности из временных меток прибытия сообщений

Однако все объяснения дискретных преобразований Фурье, которые я видел, начинаются с конечного набора значений, отобранных с постоянной частотой. В то время как у меня есть просто набор значений (монотонно увеличивающие значения метки времени).

Преобразование в данные временных рядов?

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

Больше Специфические

У меня есть много наборов: Мне нужно выполнить этот расчет столько раз, сколько у меня есть много различных наборов сообщений анализировать. Каждый набор сообщений может составлять порядка 1000 сообщений, охватывающих до года реального времени. Поэтому, если я обращусь (как я думаю выше), один набор сообщений в временной ряд; это ~ 32 миллиона (в секундах в год) временных рядов данных с точностью до 1000 ненулевых значений.

Некоторые из наборов сообщений встречаются чаще: ~ 5000 сообщений по шкале дней - так что это будет больше похоже на ~ 400 000 временных рядов данных, но все же с только ~ 5000 ненулевыми значениями.

Является ли это нормальным (конвертировать время прибытия в временной ряд, а затем направлять на обычную работу FFT)? Или существует другой способ применения преобразований Фурье к моим фактическим данным (время прибытия сообщения)?

+1

Да, вам нужно уложить сообщение в равномерно разнесенные ячейки, а затем обрабатывать эти ячейки как временные ряды и генерировать спектр из временных рядов, используя, например, метод на основе БПФ. –

+0

... можете ли вы сделать свой комментарий в ответ? Может также получить баллы upvote/accept :) –

+0

Конечно - считайте это ... –

ответ

2

Я предлагаю вам записать сообщение в в равномерно распределенные ячейки подходящей продолжительности, а затем обработать эти ячейки как временные ряды и сгенерировать спектр из серии, используя, например, метод на основе БПФ. Результирующий спектр должен показывать любые периодичности как пики вокруг определенных частот бинов.

Смежные вопросы