0

Использование фурье-анализа для прогнозирования временных рядов

11

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

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

Проще говоря: я выполняю FFT для t=0,1,2,...,10, а затем использую IFFT на коэффициентах. Могу ли я использовать восстановленный временной ряд для t=11,12,...,20?

1 ответ(ов)

0

Похоже, что вы хотите сочетания экстраполяции и денойзинга.

Вы говорите, что хотите повторить наблюдаемые данные несколько раз. В таком случае просто повторите наблюдаемые данные. Нет необходимости в преобразовании Фурье.

Но вы также хотите найти "шаблоны". Я предполагаю, что это означает нахождение доминирующих частотных компонентов в наблюдаемых данных. Если да, то да, выполните преобразование Фурье, сохраните крупнейшие коэффициенты и удалите остальные.

X = scipy.fft(x)
Y = scipy.zeros(len(X))
Y[важные_частоты] = X[важные_частоты]

Что касается периодического повторения: пусть z = [x, x], то есть два периода сигнала x. Тогда Z[2k] = X[k] для всех k из {0, 1, ..., N-1}, и нули в остальных местах.

Z = scipy.zeros(2*len(X))
Z[::2] = X
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь