SSA метод, пример работы с ALGLIB

 

Портировал из Matlab на MQL5 скрипт вычисления SSA

Сам расчет SSA выполнил в классе SSA (файл ssa_mathlab.mqh), скрипт из Matlab находится там же в виде комментариев, все файлы в архиве, второй арзив немного литературы по методу SSA

Неделю разбирался с методом SSA, но так и не получилось разобраться как делается прогнозирование методом SSA?

нужны хотя бы формулы, в сети читал, методов уйма, но ... на пальцах кто-нибудь может объяснить?

График EURUSD, H1, 2018.09.05 22:14 UTC, InstaForex Companies Group, MetaTrader 5, Demo
Файлы:
MQL5.zip  353 kb
pdf.zip  1963 kb
 
Igor Makanu:


Слышал про этот метод. Сам не в курсе, но в доходчивом объяснении почитал или посмотрел. Тема вверх. 

В маркете  продукт, кривоват( не по прогнозу) .да и статья вроде имелась.

 
Evgeny Belyaev:

Слышал про этот метод. Сам не в курсе, но в доходчивом объяснении почитал или посмотрел. Тема вверх. 

В маркете  продукт, кривоват( не по прогнозу) .да и статья вроде имелась.

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

 
Igor Makanu:

Прогнозируют рекрентной нейронной сетью. Но особо толкового от нее не добьешься. Пересовка дает о себе знать

 
Evgeny Raspaev:

Прогнозируют рекрентной нейронной сетью. Но особо толкового от нее не добьешься. Пересовка дает о себе знать

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

Вики Прогнозирование временных рядов методом SSA (пример)

как рассчитать эти матрицы?

 
Igor Makanu:

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

Вики Прогнозирование временных рядов методом SSA (пример)

как рассчитать эти матрицы?

Вот пример из этой статьи, делал года три назад.

Черные линии - прогноз.

Если интересно, дайте вашу почту в личку.

 
Igor Makanu:

Портировал из Matlab на MQL5 скрипт вычисления SSA

Сам расчет SSA выполнил в классе SSA (файл ssa_mathlab.mqh), скрипт из Matlab находится там же в виде комментариев, все файлы в архиве, второй арзив немного литературы по методу SSA

Неделю разбирался с методом SSA, но так и не получилось разобраться как делается прогнозирование методом SSA?

нужны хотя бы формулы, в сети читал, методов уйма, но ... на пальцах кто-нибудь может объяснить?

SSA метод апроксимирующий, поэтому он работает даже при наличии пропусков.

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

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

 
Vladimir Suslov:

Вот пример из этой статьи, делал года три назад.

Черные линии - прогноз.

Если интересно, дайте вашу почту в личку.

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

написал в ЛС почту

Nikolay Demko:

SSA метод апроксимирующий, поэтому он работает даже при наличии пропусков.

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

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

я читал про метод SSA, и эту информацию, поэтому и заинтересовала реализация под MQL5.... нужны формулы расчета матрицы Q и почему матрица V не совсем матрица V, а V* - понятно это это дополненная V - но чем? формулы нужны

 
В чем преимущество гусеницы перед нейросетью?
 
Maxim Dmitrievsky:
В чем преимущество гусеницы перед нейросетью?

это разные вещи, как бы на пальцах обьяснить...вот смотрите

1. НС это рекуррентная формула определяемая весовыми коэффициентами и расчетом сигмоиды

2. SSA это рекуррентная формула определяемая системой главных компонент (матрицы ковариации и матрица собственных векторов)

в 1 и в 2 принципы "обучения" одинаковые, а вот на "форварде" принципы расчета будут разные: НС будет использовать всегда одни и те же весовые коэффициенты, а SSA будет рассчитывать каждое новое значение путем пересчета своих матриц

понятное дело, что прогноз SSA и НС зависит от своих предидущих значений (обучение), но мне интересно, то что в SSA доступны для "подмены на свои значения" матрицы... в дальнейшем то и хочу эти матрицы через НС прогнать

ну и в целом - очередная зарядка для ума )))

 
Igor Makanu:

это разные вещи, как бы на пальцах обьяснить...вот смотрите

1. НС это рекуррентная формула определяемая весовыми коэффициентами и расчетом сигмоиды

2. SSA это рекуррентная формула определяемая системой главных компонент (матрицы ковариации и матрица собственных векторов)

в 1 и в 2 принципы "обучения" одинаковые, а вот на "форварде" принципы расчета будут разные: НС будет использовать всегда одни и те же весовые коэффициенты, а SSA будет рассчитывать каждое новое значение путем пересчета своих матриц

понятное дело, что прогноз SSA и НС зависит от своих предидущих значений (обучение), но мне интересно, то что в SSA доступны для "подмены на свои значения" матрицы... в дальнейшем то и хочу эти матрицы через НС прогнать

ну и в целом - очередная зарядка для ума )))

Интересно, что в английской справке алглиб присутствует этот метод, а в русской нет. И походу не портирован для МТ

http://www.alglib.net/time-series/singular-spectrum-analysis.php

Singular spectrum analysis (SSA) - ALGLIB, C++ and C# library
  • www.alglib.net
Singular spectrum analysis (SSA, also known as Caterpillar-SSA) is a non-parametric time series analysis method. It can be used to filter out noise components or to predict future values. ALGLIB package includes highly optimized SSA implementation available in several programming languages, including: ALGLIB for C++, a high performance C++...
Причина обращения: