Применение преобразования вейвлета Хаара к данным временных рядов

Я пытаюсь применить вейвлет-преобразование Хаара к данным фондового рынка для уменьшения шума перед подачей данных в RNN (LSTM). Поскольку эти данные представлены в 1D, я использую одноуровневое DWT следующим образом:

import pywt
x = [3, 7, 1, 1, -2, 5, 4, 6, 1,11,34,44,66,888,33,455,10000,33]
cA, cD = pywt.dwt(x, 'haar')

У меня есть следующие вопросы:

  1. Используя одноуровневый DWT, мой временной ряд уже сократился наполовину в cA и cD. Я понимаю, что каждый элемент cA и cD относится к 2 элементам исходного временного ряда. Это все здорово, но как я могу сопоставить выходные массивы с исходной серией?
  2. Когда нам нужно делать многоуровневую декомпозицию? Кроме того, по мере увеличения уровня выходные массивы становятся меньше, и поэтому, опять же, я не могу сопоставить эти «очищенные от шума» данные с исходными временными рядами.
  3. Что между cA и cD следует использовать в качестве вывода этого преобразования для подачи в RNN?

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

Наилучшие пожелания,

Адиль


person Adeel Hashmi    schedule 25.09.2018    source источник
comment
Вы смогли получить ответ? Если да, то мне было бы интересно узнать.   -  person Moni    schedule 12.01.2019
comment
У меня есть пример (код C и ссылки на скрипты Matlab) здесь.   -  person alle_meije    schedule 27.07.2020
comment
Нет решения этой проблемы с моей стороны.   -  person Adeel Hashmi    schedule 29.07.2020