Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 131

 

Выпущен релиз 10-й версии тернарного классификатора jPrediction

В новой версии реализована кроссвалидация.

За счёт кроссвалидации обобщающая способность на OOS по сравнению с 9-й версией заметно улучшилась, особенно на нестационарных данных. В то же время обобщающая способность по результатам тестирования на разных частях выборки, которая выдается в качестве характеристик модели у 9-й и 10-й версий практически не изменилась.

Поскольку изменения не коснулись пользовательского интерфейса, то инструкция для пользователей 9-й версии остаётся в силе. Ссылки на скачивание свежих версий jPrediction, а также его исходных кодов можно найти в инструкции.

 

Awl Writer:
1) он просто сравнивает два временных ряда по абсолютным значениям, т.е. нужна предв.нормировка сдвига и масштаба по вертикальной оси, и очень много зависит от конкретной реализации.

2) Например, здесь https://www.mql5.com/ru/code/10755 берутся для сравнения 2 куска фиксированной длины

3) и не учитывается, что один из них может быть длиннее, другой короче

4), да и объём вычислений можно значительно сократить и т.д. Речь может идти о кластеризации по специфичным для DTW параметрам - можно вычислить не только "степень сходства" двух фрагментов, но и соотношение горизонтальных масштабов.

1) Ну перед сравнением на схожесть двух рядов алгоритмом DTW нормировка естественно делается только обычная..  те заменяем абсолютные значения цен на диапазон скажем от 0 до 1  , что вы имеете ввиду под нормировкой сдвига и масштаба ? поясните пожалуйста 

2) Спасибо за ссылку, посмотрел и просто офигел мягко говоря, я придумал точно такую же идею как и автор , занимался точно такими же исследованиями,  прошел точно тот же эволюционный путь что и он, от обычной корреляции до DTW,  аж мурашки по коже...  мы занимались одним и тем же, думали про одно и тоже просто в разное время в разных местах, жесть...

3) Да не учитывается хотя было бы правильно учитывать, но я догадываюсь почему автор этого не реализовал, дело в том что если уже начать думать глубже  типа: "а как это реализовать" то вылезает куча вопросов на которые нет ответов...

ведь это уже не просто поиск схожестей  с DTW на участках с фикс. длинной как у меня в кластеризации или у автора статьи в его алгоритме, а все гораздо сложнее...

вот например несколько вопросов которые всплывают 

      1. Как сравнивать схожесть текущего ценового паттерна с историческими паттернами  если нужно не только гулять по истории и искать схожесть но еще и при каждом сравнении динамически расширять/сужать  как текущий паттерн так и исторический с которым сравниваем?

      2. Как бороться с нехваткой выч. мощностей лично у меня для DTW даже на фиксировано длине двух участков не хватает мощности в полном объеме, а при варианте ( 1. )  нагрузка возрастает в тысячи раз без преувеличения....

4) Как??? 

 
mytarmailS:

1. Можно привести значения ряда к диапазону [0;1], но лучше imho устранить постоянную составляющую, вычтя из каждого элемента среднее значение (МА), и разделить каждый элемент на среднеквадратичное отклонение. Браузер, паразит такой, уничтожил часть текста.

3-4. Если вы вглядитесь в суть алгоритма, как заполняется матрица, то многое станет понятным. Сравниваются два отрезка равной длины, у которых фиксированы начало и конец. Мы можем зафиксировать только начало и сделать конец плавающим, и ввести в алгоритм ограничение коэффициента масштаба от 0,5 до 2 - получится DTW with constraints. Результатом работы будет уже не одно число, а два, и это даст нам дополнительный предиктор. Как сократить объём вычислений - находим "особые точки" (экстремумы), подтягиваем их друг к другу, и тем самым выкидываем большую часть площади матрицы, подробнее по ссылкам. См. также в википедии Dynamic Time Warping, раздел References.

 
Alexey Burnakov:

Господа, новая задачка от меня:

 Здесь лежит набор данных в формате .R:  https://drive.google.com/open?id=0B_Au3ANgcG7CcjZVRU9fbUZyUkE

 В наборе примерно 40 000 строк, 101 столбец. Крайний правый столбец - целевая переменная. Слева - 100 входов.

Предлагаю вам попробовать построить регрессионную модель, предсказывающую значение 101-ого столбца на основе 100 остальных столбцов, на первых 20 000 наблюдений.

На оставшихся 20 000+ наблюдениях построенная модель должна показать R^2 не хуже 0.5.

 Затем я раскрываю способ генерации данных и даю свое решение.

 

Подсказка - это данные временного ряда. На вход подается 100 отсчетов, прогноз на 1 вперед. Это не цены и не котировки и не их производные. 

 

 

Алексей 

Кто пытался? Мы с коллегами хотим обучить сверточную НС. Там идет feature mapping. Надеемся.

Вроде, нестандартное применение метода. С другой стороны мы просто представляем на вход одномерную "картинку" и там можно смаппить соседние "пиксели" и их всякие взаимодействия. 

 
Alexey Burnakov:

Кто пытался? Мы с коллегами хотим обучить сверточную НС. Там идет feature mapping. Надеемся.

Вроде, нестандартное применение метода. С другой стороны мы просто представляем на вход одномерную "картинку" и там можно смаппить соседние "пиксели" и их всякие взаимодействия. 

Так пусть коллеги и попытаются, или слабо?
 
Alexey Burnakov:

Мы с коллегами хотим обучить сверточную НС. Там идет feature mapping. Надеемся. 

Интересно, жду впечатлений...
 
mytarmailS:


      1. Как сравнивать схожесть текущего ценового паттерна с историческими паттернами  если нужно не только гулять по истории и искать схожесть но еще и при каждом сравнении динамически расширять/сужать  как текущий паттерн так и исторический с которым сравниваем?


А зачем такая необходимость? Если паттерн имеет аналогию в истории, то он должен соответствовать и по длительности. По крайней мере я искал соразмерные участки, когда делал поиск по паттерну.
 
Youri Tarshecki:
А зачем такая необходимость? Если паттерн имеет аналогию в истории, то он должен соответствовать и по длительности. По крайней мере я искал соразмерные участки, когда делал поиск по паттерну.

 

1) Ну как минимум потому что на рынке абсолютно одинаковых паттернов нет,

2) и потому что dtw дает такую шикарную возможность

3) и потому что результат поиска одинаковых паттернов по размерам нам всем знаком, и в том числе вам...  или вы меня удивите? :) 

 
Event:
Так пусть коллеги и попытаются, или слабо?
А в чем смысл твоих слов, пассажир? Не хочешь пытаться, или своим путём. Я сам работаю над своей же задачей и мне интересно.
 
mytarmailS:
Интересно, жду впечатлений...
А что еще скажешь? Готовеньких результатов ждешь?
Причина обращения: