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

 
Maxim Dmitrievsky #:
Решение приходит само, когда есть понимание. Кто поймет почему не работает, придумает.
Понятно.. 
Значит просто поговорить
 
mytarmailS #:
Понятно.. 
Значит просто поговорить
Это был призыв подумать, прежде чем заниматься ерундой типа трансформации исходного ряда в графы, кванты, уровни, синусоиды или че вы там еще напридумывали.
 
Maxim Dmitrievsky #:
Это был призыв подумать, прежде чем заниматься ерундой типа трансформации исходного ряда в графы, кванты, уровни, синусоиды или че вы там еще напридумывали.
То что задача не коректно ставиться, это я тут говорил уже давно, в последний раз страниц 10-20 назад, так что как бы меня тут учить не чему, я сам все прекрасно понимаю..

А чтобы трансформировать задачу,  надо трансформировать данные.. 

Так что пока ты призываешь подумать,  я уже подумал и перебираю варианты
 
mytarmailS #:
То что задача не коректно ставиться, это я тут говорил уже давно, в последний раз страниц 10-20 назад, так что как бы меня тут учить не чему, я сам все прекрасно понимаю..

А чтобы трансформировать задачу,  надо трансформировать данные.. 

Так что пока ты призываешь подумать,  я уже подумал и перебираю варианты
И опять получится memorisation вместо generalisation
 
Maxim Dmitrievsky #:
Наличие постоянного сигнала в данных почти сразу же означает generalisation, а шум улетает в ошибки. При отсутствии сигнала получается memorisation, где ошибка классификации это просто перекрывающиеся семплы с разными лэйблами и одинаковыми значениями фичей. Вторая модель не имеет прогностической ценности. Это ответ на мой ребус. И это подтверждается тестами на синтетических и реальных данных.

При наличии паттернов (вейвлеты, шейплеты и Иже с ними), но при отсутствии сигнала, будет уже работать только разделение на обучаемое и необучаемое. Обучаемое классифицируется, необучаемое фильтруется. Здесь хороший memorisation работает как фильтр, а generalisation как обобщение паттернов.

При отстутствии выраженных постоянных паттернов (как на рынке), но когда есть неэффективности, подход должен быть еще более утонченным, поскольку неэффективности не всегда можно описать паттернами. Здесь нужно выцарапывать одно из другого: что нужно запомнить, а что обобщить. Алгоритмически.

Преобразование данных изменит их представление, но не решит задачу само по себе, поскольку торгуется исходный ряд в конечном итоге.

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

Скажу так, что можно обучить модель на 2008-2017 (10 лет), которая будет до сегодняшнего момента работать. У такой модели будет мало сигналов - Recall до 30% максимум, но это и говорит, что закономерностей на десяти годах, которые бы работали на следующих пары лет (тестовая выборка) мало.

А вот какие это закономерности - цикличные или разовые (может с циклом в десятки лет) - установить пока нельзя, а значит нельзя отобрать модель, которая будет и дальше работать.

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

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

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


Ваш подход - перетряхивания и отсеивания - похож на работу старателя - найти конечно можно много интересного и не познанного, но как быть уверенным, что это будет ещё и стабильно?

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

 
Aleksey Vyazmikin #:

Ваш подход - перетряхивания и отсеивания - похож на работу старателя - найти конечно можно много интересного и не познанного, но как быть уверенным, что это будет ещё и стабильно?

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

Я написал базовое понимание, без которого делать что-то вообще не стоит. Если только для подтверждения каждого из пунктов (если с первого раза не дошло 🙂)

Для проверки стабильности тесты, тесты и еще раз тесты, больше никак. МО для этого подходит лучше всего.

Потому что теоретики-нытики много судачат про цос и прочую ерунду, не понимая даже основ МО, судя по всему. Развлечение это не для ментальных и моральных слабаков, проще нюни распускать :)
 
Maxim Dmitrievsky #:
Я написал базовое понимание, без которого делать что-то вообще не стоит. Если только для подтверждения каждого из пунктов (если с первого раза не дошло 🙂)

Для проверки стабильности тесты, тесты и еще раз тесты, больше никак. МО для этого подходит лучше всего.

Я не оспариваю Ваши описания и подход в целом - сам же его давно уже описал по сути, пусть и с другой реализацией.

Мои искусственные эксперименты показали, что часто достаточно всего вытащить строки с 10 простой закономерностью (в моем случае квантовый отрезок, куда попало значение предиктора), что бы вся выборка сместила вероятность процентов на 15-20% в сторону единицы, при этом уменьшится выборка процентов на 35% . Методами машинного обучения этого получить не удаётся. По сути это и есть выщелачивание бесполезных/противоречивых данных. Но хочется это делать ближе к текущей дате, т.е. не статистически зная историю, а каким то методов выделяя как раз ложные/противоречивые закономерности.

Если ставить задачу, согласно которой модель должна работать на любых инструментах, то тут тестирование возможно, но таких устойчивых закономерностей ещё меньше, правда они есть. А просто гонять по истории или ещё хуже брать синтетику - не думаю, что эффективно. Максимум может как то из дневных приращений делать синтетику, тасуя дни - но такое мне не доступно пока. Пробовали так делать?

 
mytarmailS #:
Я совсем не в теме, но мне интересно можно ли цену представить графом, и есть ли в этом какая то выгода перед обычным двумерный представлением.
 Кто в этом шарит? 

Можно взять мандельбротовское представление цены в виде леса троичных деревьев, где каждое движение разбивается на три (два движения в том же направлении и коррекция между ними).

Преимущество в доступе к сбору любой статистики о фрактальной структуре цены. Недостатки - сложность алгоритмов и трудность избегания заглядывания вперёд.

 
Stanislav Korotky #:

А как это соотносится с матрицами и примерами "параллельных" платформ, которые я приводил выше?

Например, беру матрицы из линка на керас, вызываю для них:

и получаю нули.

Контрольный пример не подходит.

Категориальная кросс-энтропия используется в моделях классификации, где классов больше двух. И после софтмакса. Софтмакс преобразует набор значений в набор вероятностей, сумма которых равна 1.

Попробуйте такой контрольный пример:

pred: 0.1, 0.1, 0.2, 0.5, 0.1

true: 0, 0, 1, 0, 0

 
Aleksey Vyazmikin #:

Максимум может как то из дневных приращений делать синтетику, тасуя дни - но такое мне не доступно пока. Пробовали так делать?

Я не понимаю из чего исходят такие предположения, и это опять работа с признаками, а не совершенствование способа обучения. То есть вторично.

Это как в школе. Можно учить по одному учебнику, а можно по другому. Информация по сути не изменится, так же как при преобразованиях. Но в одну голову залетит, а из другой вылетит :)

С синтетикой работать сложно, когда конечная цель не ясна. Ее лучше использовать для тестов каких-то свойств последовательностей, подмешивать в разные части и смотреть на изменение результатов. По типу what if? Для выравнивания смещений в данных еще.
Оно в целом полезно для улучшения обобщающей способности путем уменьшения запоминания исходных данных, но это неполноценно все равно с точки зрения создания готовой ТС. Похожий результат можно получить на исходных данных, при обучении ансамбля из разных моделей, в составе которого есть простые, вплоть до линейных.

Ну и примерный ответ вы знаете, что через это чего-то суперского все равно не получить, но подулучшить можно.

Причина обращения: