Вход
Регистрация

Сжатие размерности для временного ряда?

Здравствуйте! Стоит задача сжать временной ряд, преобразовать его в в данные меньшей размерности. Скажем есть 32 входа, надо получить 8 или 16. Чтобы отброшенные данные содержали шум.

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

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

Есть другой вариант, раскладывать ряд по собственным компонентам, SSA методом (гусеница), пока не пробовал. Но тут собственные вектора берутся непосредственно из участка ряда.

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

Или какие есть стандартные способы?
Заранее спасибо.