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

 
СанСаныч Фоменко #:

Неоднозначная постановка проблемы.  

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

Или же трактуем ситуацию как операцию "И", т.е. пересечение результатов.


Тупиковый путь, проходили.


Моделей, которые бы давали направление, не встречал, так как если даже внешне дают направление, то это результат регуляризации вероятности направления. Поэтому напрашивается стандартный для  R подход под названием "ансамбль моделей", при котором результаты двух или многих моделей, так сказать, первого уровня, в качестве предикторов суют в какой-либо алгоритм классификации второго уровня. Кстати, если уж так нравится категориальные переменные, то их тоже можно подать на вход классификатора. Если можно результаты моделей ранжировать по уровню доверия, то это можно отрегулировать весами. Т.е. второй уровень - это классификатор, который в качестве предикторов использует результаты классификации моделей первого уровня. Этот подход очень интересен для несбалансированных классов, получаемых какой-либо регуляризацией, отличной от 0.5, например, делим результат классификатора в виде вероятности квантилями с величинами 0.4  и 0.6. Середина - это вне рынка.

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

Ансамбли тоже делал, не зашло.

 
Maxim Dmitrievsky #:
Представь, что ты обучил первую модель через кросс-валидацию, и вынес все неправильные прогнозы во вторую модель как не торговать. У тебя уже появляется статистическая значимость, что первая модель чаще ошибается в определенных местах, которые можно отфильтровать второй. Через одну модель уже сложнее сделать. Есть еще другие варианты такого тюнинга хитровыдуманные.

Для меня совершенно не понятная идея по фильтрации ошибок.

Получается, что если модель предсказывает 50/50, то выбросив плохие 50 остаток будет предсказывать 100%? Голимое сверх обучение и больше ничего.


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

 
СанСаныч Фоменко #:

Для меня совершенно не понятная идея по фильтрации ошибок.

Получается, что если модель предсказывает 50/50, то выбросив плохие 50 остаток будет предсказывать 100%? Голимое сверх обучение и больше ничего.


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

Ваша философия уже давно понятна, где результаты? ) какие они, показывайте.

Я получил улучшение на OOS и возрадовался, продолжаю улучшать, пока подход себя не исчерпает.
 
Maxim Dmitrievsky #:

Представим гипотетическую ситуацию с одной теоретической TS, которая состоит из основной модели, которая прогнозирует направление сделки и мета модели, которая прогнозирует вероятность выигрыша (торговать или не торговать):

Назовем первую модель основной, которая разделяет пространство признаков на бай/селл черной линией. А вторую мета моделью, которая разделяет общее пространство признаков на торговать/не торговать (красная линия).

Теперь представим другой вариант, когда есть две мета модели и каждая разделяет разные пространства признаков классов BUY и SELL на торговать/не торговать по отдельности (две красные линии).

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

Просьба, наверное, даже к Алексею Николаеву, как можно определить эффект от такого "вмешательства". Ведь получится 2 распределения вероятностей двух мета моделей, которые можно сравнить/оценть/разнести по углам.

Если с практической точки зрения, то согласен с мнением Forester.

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

 
Aleksey Nikolayev #:

Если с практической точки зрения, то согласен с мнением Forester.

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

Могут получиться разные смещения в двух разных моделях из-за разных распределений значений признаков для бай и селл, в то время как одна модель посчитает что-то общее. В целом согласен, пока не попробуешь - не поймёшь :)
 
СанСаныч Фоменко #:

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

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

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

 
Evgeni Gavrilovi #:

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

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

В какой модели МО это возможно учесть?

 

Фильтруй не фильтруй всё равно получишь кхе-кхе ошибку. МО по своей сути является подгонкой под историю которая не обязана в точности повторятся.

Новости, высказывания мировых чинов-воротил оставит от МО мокрое место. Так как в противном случае  чины-воротилы должны говорить в направлении МО и новости выходить по указаниям ваших МО. Хвост виляет собакой (с).

Но всё не так печально если использовать модели рынка. Там может меньше места точности, но выше вероятность видеть направление и продолжительность движения.

Ну а то, что вы читаете мои посты и следуете моим намёкам, это меня радует.)      

 
СанСаныч Фоменко #:

В какой модели МО это возможно учесть?

Есть у catboost. 

model.get_feature_importance(type=catboost.EFstrType.Interaction)
 
Forester #:

Думаю что быки и медведи по разному торгуют. Та же евра обычно быстро падает и потом медленно ползет вверх. Разное поведение.

Есть скрипт, показывающий эту разность? Сам придерживаюсь несколько иного взгляда (ссылка на обобщенный вариант).
"Правильные" и "обобщённо правильные" по fxsaber`у ТС
"Правильные" и "обобщённо правильные" по fxsaber`у ТС
  • 2020.03.08
  • www.mql5.com
Здесь приведены некоторые соображения по поводу этой ветки. Формальное определение. Введём обозначения: r - ряд цен, s - система, e - эквити Подаём цены на вход системы и получаем на выходе эквити: r
Причина обращения: