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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Igor Makanu
9517
Igor Makanu  

Портировал из 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
Evgeny Belyaev
131378
Evgeny Belyaev  
Igor Makanu:


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

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

Igor Makanu
9517
Igor Makanu  
Evgeny Belyaev:

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

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

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

Evgeny Raspaev
985
Evgeny Raspaev  
Igor Makanu:

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

Igor Makanu
9517
Igor Makanu  
Evgeny Raspaev:

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

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

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

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

Vladimir Suslov
521
Vladimir Suslov  
Igor Makanu:

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

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

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

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

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

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

Nikolay Demko
14056
Nikolay Demko  
Igor Makanu:

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

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

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

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

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

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

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

Igor Makanu
9517
Igor Makanu  
Vladimir Suslov:

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

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

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

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

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

Nikolay Demko:

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

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

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

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

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

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

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

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

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

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

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

Maxim Dmitrievsky
19140
Maxim Dmitrievsky  
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++...
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий